ページ 11

すみません。C言語入門者です。

Posted: 2011年6月01日(水) 13:41
by 教えてください
購入した金額(1~99,999)をscanfで入力したら、その金額に消費税(1.05)分を加えた値を出力する。
そして、お客様が10万円以上支払ったらそのおつりを出力する。
そして、おつりを金種別に表示するプログラムを教えて頂けますか?

例:
入力:購入金額 1,100
出力:支払額  1,155
   おつり:  98,845
   一万円  9
   千円   8
   百円   8 
   十円   4
   一円   5
と表示させたいのですが。
宜しくお願いします。

Re: すみません。C言語入門者です。

Posted: 2011年6月01日(水) 14:19
by bitter_fox
教えてください さんが書きました:購入した金額(1~99,999)をscanfで入力したら、その金額に消費税(1.05)分を加えた値を出力する。
そして、お客様が10万円以上支払ったらそのおつりを出力する。
そして、おつりを金種別に表示するプログラムを教えて頂けますか?
フォーラムルールでは丸投げを禁じていますのでそれに従ってください。
http://dixq.net/board/board.html

どこから手を付けたらいいか分からないということでしたら、この問題をいくつかの小さい問題に分けて考えてみましょう。

まず、「scanfで金額の入力を受けて、入力された金額をただ出力する」という単純なものを作ってみましょう。
これが出来たら、「入力された金額に消費税(105%)を掛けて、その金額を出力する」という物に作り替えてみましょう。

それから、お客の支払金額は10万円以上ではなく10万円ではないですか?

[hr][追記]
教えてください さんが書きました: 入力:購入金額 1,100
出力:支払額  1,155
   おつり:  98,845
入力および出力の,(カンマ)は必須ですか?

Re: すみません。C言語入門者です。

Posted: 2011年6月01日(水) 16:38
by softya(ソフト屋)
何らかの課題・宿題だと思いますので、フォーラムルールのテンプレをお使ください。
いつまでの締切りかも書かれたほうが良いでしょう。

Re: すみません。C言語入門者です。

Posted: 2011年6月01日(水) 20:13
by 初級者
1155円の買い物をして100000円を渡す、ということがあるのでしょうか。

Re: すみません。C言語入門者です。

Posted: 2011年6月13日(月) 08:16
by 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]);
		}
	}
}