購入した金額(1~99,999)をscanfで入力したら、その金額に消費税(1.05)分を加えた値を出力する。
そして、お客様が10万円以上支払ったらそのおつりを出力する。
そして、おつりを金種別に表示するプログラムを教えて頂けますか?
例:
入力:購入金額 1,100
出力:支払額 1,155
おつり: 98,845
一万円 9
千円 8
百円 8
十円 4
一円 5
と表示させたいのですが。
宜しくお願いします。
すみません。C言語入門者です。
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: すみません。C言語入門者です。
フォーラムルールでは丸投げを禁じていますのでそれに従ってください。教えてください さんが書きました:購入した金額(1~99,999)をscanfで入力したら、その金額に消費税(1.05)分を加えた値を出力する。
そして、お客様が10万円以上支払ったらそのおつりを出力する。
そして、おつりを金種別に表示するプログラムを教えて頂けますか?
http://dixq.net/board/board.html
どこから手を付けたらいいか分からないということでしたら、この問題をいくつかの小さい問題に分けて考えてみましょう。
まず、「scanfで金額の入力を受けて、入力された金額をただ出力する」という単純なものを作ってみましょう。
これが出来たら、「入力された金額に消費税(105%)を掛けて、その金額を出力する」という物に作り替えてみましょう。
それから、お客の支払金額は10万円以上ではなく10万円ではないですか?
[hr][追記]
入力および出力の,(カンマ)は必須ですか?教えてください さんが書きました: 入力:購入金額 1,100
出力:支払額 1,155
おつり: 98,845
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: すみません。C言語入門者です。
何らかの課題・宿題だと思いますので、フォーラムルールのテンプレをお使ください。
いつまでの締切りかも書かれたほうが良いでしょう。
いつまでの締切りかも書かれたほうが良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: すみません。C言語入門者です。
自分で以下のように作成しました。
#include<stdio.h>
int main(void)
{
int kinsyu[7] = {10000,1000,500,100,50,10,1}; /*金種*/
/* 0:10000,1:1000,2:500,3:100,4:50,5:10,6:1 */
int tsuri_umu[7]={1,1,1,1,1,1,1}; /* つり銭有無:すべて有り'1'とする(無し:'0'とする) */
int maisuu[7]; /* おつりの金種毎の枚数 */
int kounyuukin,otsuri,shiharai; /* 購入金、おつり、支払額 */
int i;
while(1){
printf("購入金:");
scanf("%d",&kounyuukin);
printf("500円有無:");
scanf("%d",&tsuri_umu[2]);
printf(" 50円有無:");
scanf("%d",&tsuri_umu[4]);
shiharai = kounyuukin * 1.05;
printf("支払額:%d\n",shiharai);
otsuri = 100000 - shiharai;
printf("おつり:%d\n",otsuri);
/* おつりの金種別枚数を算出する */
for(i=0;i<7;i++){
if(tsuri_umu[i] == 1){ /* つり銭有りの場合 */
maisuu[i] = otsuri / kinsyu[i]; /* 金種毎のおつり枚数を算出 */
otsuri = otsuri - (kinsyu[i] * maisuu[i]); /* おつりからその分を引く */
}
else{
maisuu[i]=0; /* つり銭が無い場合は、その金種枚数は、0枚 */
}
}
for(i=0;i<7;i++){
printf("%d円:%d\n",kinsyu[i],maisuu[i]);
}
}
}