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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
教えてください

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

#1

投稿記事 by 教えてください » 14年前

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

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

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

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

#2

投稿記事 by bitter_fox » 14年前

教えてください さんが書きました:購入した金額(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言語入門者です。

#3

投稿記事 by softya(ソフト屋) » 14年前

何らかの課題・宿題だと思いますので、フォーラムルールのテンプレをお使ください。
いつまでの締切りかも書かれたほうが良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

初級者
記事: 200
登録日時: 14年前

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

#4

投稿記事 by 初級者 » 14年前

1155円の買い物をして100000円を渡す、ということがあるのでしょうか。

C言語入門者

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

#5

投稿記事 by C言語入門者 » 14年前

自分で以下のように作成しました。

コード:

 
#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]);
		}
	}
}

閉鎖

“C言語何でも質問掲示板” へ戻る