auの日記

プログラミング初心者の日記。(auはハンドルネームです)

C言語で単価と数量と割引率を入力して金額をだす

auです。
今日も基本的なC言語のプログラミングをしてみました。

#include <stdio.h>

int main(void) {
    int sub_div, price, amo, sub_per, result;
    // 値引き区分
    printf("値引率1: 5% 2:10% 3:15% 自分で入力4: ");
    scanf("%d", &sub_div);
    // 単価
    printf("単価: ");
    scanf("%d", &price);
    // 数量
    printf("数量: ");
    scanf("%d", &amo);
    // 割引率
    switch(sub_div) {
        case 1:
            sub_per = 5;
            break;
        case 2:
            sub_per = 10;
            break;
        case 3:
            sub_per = 15;
            break;
        case 4:
            printf("割引率を入力してください");
            scanf("%d", &sub_per);
            break;
        default:
            sub_per = 0;
    }
    result = price * amo * (100 - sub_per) / 100;
    printf("割引率=%d% 金額=%d\n", sub_per, result);
    return 0;
}

// 実行結果
値引率1: 5% 2:10% 3:15% 自分で入力4: 4
単価: 100
数量: 10
割引率を入力してください20
割引率=20% 金額=800

ちゃんと割引された数も計算されてでるプログラムが組めました。
コンパイル時に

practice7.c: In function ‘main’:
practice7.c:6:12: warning: unknown conversion type character ‘:’ in format [-Wformat=]
     printf("値引率1: 5% 2:10% 3:15% 自分で入力4: ");
            ^
practice7.c:6:12: warning: unknown conversion type character ‘:’ in format [-Wformat=]
practice7.c:6:12: warning: unknown conversion type character 0xffffffe8 in format [-Wformat=]
practice7.c:33:12: warning: unknown conversion type character 0xffffffe9 in format [-Wformat=]
     printf("割引率=%d% 金額=%d\n", sub_per, result);
            ^

と注意文がでてしまいますが、「%」をprintf文で表示しようと思ったからだと思います。