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文で表示しようと思ったからだと思います。