5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

c言語超初心者なんだが自動販売機のシミュレーションみたいなものを作った 評価してほしい

1 :名無し募集中。。。:2012/01/04(水) 17:50:58.82 0
#include <stdio.h>

int more;
int morejuce[5] = {0};
int juce_zaiko[5] = {0,2,4,0,3};

typedef struct{
char name[20];
int price;
int num;
}juces;

typedef struct{
int syurui;
int kazu;
}oturis;

juces juce[20] = {
{"コーラ",120,1},
{"オレンジジュース",130,2},
{"グレープジュース",150,3},
{"オロナミンC",120,4},
{"ビール",200,5},
};

oturis oturi_date[20] = {
{1000,10},{500,1},{100,10},{50,30},
{10,100},{5,100},{1,300},};

2 :続き:2012/01/04(水) 17:52:35.74 0
int fiverepeat(void){

int i,check = 0;

for(i = 0; i < 5; i++)
check = check + zaiko(i);

return check;

}

int minprice(void){

int min = 9999, i;

for(i = 0; i < 5; i++){
if(juce[i].price < min)
min = juce[i].price;
}

return min;

}

3 :続き:2012/01/04(水) 17:53:30.55 0
int zaiko(int k){

int hantei;

if(juce_zaiko[k] == 0)
hantei = 1;
else
hantei = 0;

return hantei;
}

void rump(int coin2){

int i;
int zaiko_hantei;

for(i = 0; i < 5; i++){
if(coin2 >= juce[i].price){
printf("( %d ) %s %d円 : ",juce[i].num,juce[i].name,juce[i].price);
zaiko_hantei = zaiko(i);

if(zaiko_hantei == 1)
printf("売り切れ\n\n");
else
printf("販売中\n\n");
}
}
printf(" \n");
}

4 :名無し募集中。。。:2012/01/04(水) 17:54:10.30 0
juiceじゃないの

5 :続き:2012/01/04(水) 17:54:40.90 0
void kinsyu(int oturiB){

int i;

for(i = 0; i < 7; i++){
while(oturi_date[i].kazu != 0 && oturiB >= oturi_date[i].syurui){
oturiB = oturiB - oturi_date[i].syurui;
printf("%d円出力\n\n",oturi_date[i].syurui);
oturi_date[i].kazu--;
}
}

if(i == 7 && oturiB > 0)
printf("申し訳ございません。釣銭切れです・・・\n\n");
else
printf("お釣りのお取り忘れにご注意ください\n\n");

}

6 :名無し募集中。。。:2012/01/04(水) 17:54:49.12 O
ファンタは無いのか

7 :続き:2012/01/04(水) 17:55:19.69 0
int main(void){

int x = 0, coin, oturi, i, cnt = 0;
int num = 0, key = 0, buy = 1 ;

printf("いらっしゃいませ\n");

do{
printf("お金を入れてください:");scanf("%d",&coin);
printf(" \n");
x = x + coin;
printf("現在 :%d円\n\n",x);

rump(x);

printf("key:");scanf("%d",&key);
printf("\n");
}while(key == 0);

8 :名無し募集中。。。:2012/01/04(水) 17:55:47.92 0
三行で頼む

9 :続き:2012/01/04(水) 17:55:58.00 0
more = minprice();

printf("商品のボタンを押してください\n");
printf("ボタン:");scanf("%d",&num);
x = x - juce[num - 1].price;
juce_zaiko[num - 1]--;
morejuce[cnt++] = num;

while(x >= more && buy == 1 && 5 != fiverepeat()){
printf("まだ買えますがどうしますか? 買う(1) 買わない(2) :"); scanf("%d",&buy);
printf("\n");

if(buy == 1){
rump(x);
printf("商品のボタンを押してください\n");
printf("ボタン:");scanf("%d",&num);
x = x - juce[num - 1].price;
juce_zaiko[num - 1]--;
morejuce[cnt++] = num;
}
}

10 :名無し募集中。。。:2012/01/04(水) 17:56:09.51 0
値段はdefineにした方がいいんじゃないの?

11 :名無し募集中。。。:2012/01/04(水) 17:56:24.65 0
最初の関数の型宣言しろ

12 :終わり つかれた:2012/01/04(水) 17:56:31.60 0
printf(" \n\n");

for(i = 0; i < 5 && morejuce[i] > 0; i++){
printf("%s出力\n\n",juce[morejuce[i] - 1].name);
}

oturi = x;

if(oturi != 0)
kinsyu(oturi);

return 0;
}

13 :名無し募集中。。。:2012/01/04(水) 17:56:42.88 0
コーラとビールとオロナミンCが並んでる自動販売機って画期的だな

14 :名無し募集中。。。:2012/01/04(水) 17:57:11.33 0
当たりは?

15 :名無し募集中。。。:2012/01/04(水) 17:57:24.67 0


16 :名無し募集中。。。:2012/01/04(水) 17:57:29.69 0
板違いだよゴキブリおじさん

17 :名無し募集中。。。:2012/01/04(水) 17:57:42.29 0
俺はJavaしか知らんけど
結構似てるな

18 :名無し募集中。。。:2012/01/04(水) 17:57:44.06 0
ブラウザで動かせるようにしろ

19 :名無し募集中。。。:2012/01/04(水) 17:58:19.24 0
なぜ今更標準C?

20 :名無し募集中。。。:2012/01/04(水) 17:58:21.89 0
とりあえず { } の使い方がおれと違う
この書き方読みにくいんだよね

21 :名無し募集中。。。:2012/01/04(水) 17:59:11.81 O
あったか〜い飲み物も入れろ

22 :211.14.217.44.eo.eaccess.ne.jp:2012/01/04(水) 17:59:25.93 0
http://www.nicovideo.jp/watch/sm16593255

23 :名無し募集中。。。:2012/01/04(水) 17:59:28.94 0
宿題は自力でやれ

24 :名無し募集中。。。:2012/01/04(水) 17:59:40.82 0
なんでboolつかわないの?

25 :名無し募集中。。。:2012/01/04(水) 18:00:07.88 0
100万円投入できるの?

26 :名無し募集中。。。:2012/01/04(水) 18:00:30.49 0
>>24
C言語だからだろ

27 :名無し募集中。。。:2012/01/04(水) 18:01:20.68 O
パパ当たり機能はないの?

28 :名無し募集中。。。:2012/01/04(水) 18:01:22.49 0
COBOLでもやっとけ

29 :名無し募集中。。。:2012/01/04(水) 18:01:23.64 0
長すぎ
俺ならもっと短く作る
BASICで

30 :名無し募集中。。。:2012/01/04(水) 18:01:30.05 0
マイナス円も入れれるけどいいの?

31 :名無し募集中。。。:2012/01/04(水) 18:01:57.86 0
webcameraで客の年齢判断してお勧め商品だせよ

32 :名無し募集中。。。:2012/01/04(水) 18:01:58.78 0
最近はコンビニでも防犯上の問題で両替を断られたり、銀行でも両替手数料が掛かるとこが多くなった。
そんなときは1000円を小銭に両替するくらいなら自動販売機を利用するといいです。
まず1000円を入れます。続けて1000円をいれます。その後、返却レバーを引きます。そうすると1000円は札で、もうひとつ入れた1000円は小銭でもどってくるのです!
これで何も買わずに両替ができるのです。

33 :名無し募集中。。。:2012/01/04(水) 18:02:33.26 0
>>26
C99じゃなくてC89かよ

34 :終わり つかれた:2012/01/04(水) 18:03:55.83 0
>>10
なるほど

>>25
釣銭切れになる

35 :名無し募集中。。。:2012/01/04(水) 18:04:42.55 0
コンパイルは120円で買えますか?

36 :名無し募集中。。。:2012/01/04(水) 18:04:53.53 0
冬休みの宿題か?

37 :名無し募集中。。。:2012/01/04(水) 18:05:56.10 0
Cを覚えようとした事もあったけどCで作りたいソフトが特に無かったのでやめた

38 :名無し募集中。。。:2012/01/04(水) 18:06:45.13 0
商品購入処理では入力値のチェックくらいした方がいいんじゃないの

39 :終わり つかれた:2012/01/04(水) 18:06:59.45 0
ちなみにこれは宿題ではなく趣味で作ったものです
まあだいたい創作時間は3日かな

一度に何本もジュースを買えるという仕様

40 :名無し募集中。。。:2012/01/04(水) 18:07:04.13 0
>>17
よう
俺もjavaしか知らないぜ

41 :名無し募集中。。。:2012/01/04(水) 18:07:38.23 0
3日はかかりすぎだろw

42 :名無し募集中。。。:2012/01/04(水) 18:08:25.23 0
変数名がひどすぎるよね

43 :名無し募集中。。。:2012/01/04(水) 18:08:42.83 0
>>32
これまじ?

44 :名無し募集中。。。:2012/01/04(水) 18:08:58.32 0
30分で出来るだろw

45 :名無し募集中。。。:2012/01/04(水) 18:09:07.31 0
コメント入れとけよ
ぱっとみ指摘できない

46 :終わり つかれた:2012/01/04(水) 18:09:18.12 0
笑わないでくれw
3分の1くらいは単純なバグを見つけるのにかかった時間だからw

47 :名無し募集中。。。:2012/01/04(水) 18:09:46.30 0
誰か日本語BASICで作りなおして

48 :名無し募集中。。。:2012/01/04(水) 18:10:11.03 0
仕様書書いとけば親切な人が作ってくれるよ

49 :名無し募集中。。。:2012/01/04(水) 18:10:28.09 0
マシン語でおk

50 :名無し募集中。。。:2012/01/04(水) 18:10:42.22 0
visualbasic4ならそこそこ使えてたんだが版が進むごとに
わけのわからない仕様になっていくので結局使わなくなった

51 :名無し募集中。。。:2012/01/04(水) 18:10:43.52 0
なんか微笑ましいな
30年ぐらい前を思い出す

52 :名無し募集中。。。:2012/01/04(水) 18:11:24.98 0
釣り銭切れは最初に出さないと駄目だろ

53 :名無し募集中。。。:2012/01/04(水) 18:11:25.27 0
在庫が無くなったら連絡しろよ

54 :名無し募集中。。。:2012/01/04(水) 18:11:44.12 0
できるプログラマーほどわかりやすいコメントを残す
可読性低すぎ

55 :名無し募集中。。。:2012/01/04(水) 18:13:00.32 0
ハードの仕様によって評価が変わるのでは

56 :名無し募集中。。。:2012/01/04(水) 18:13:02.96 0
>>43
10円玉を50円玉や100玉にならやったことあるなあ


57 :名無し募集中。。。:2012/01/04(水) 18:13:08.58 0
本気を出したコードと適当に作ったコードでは月とスッポンぐらい差がある

58 :終わり つかれた:2012/01/04(水) 18:13:49.15 0
じゃあ一応関数の説明も簡単に

int fiverepeat(void) 全部の商品が在庫切れかどうか評価する
int minprice(void) 最も安い値段を返す
int zaiko(int k) 在庫があるかどうかの判断
void rump(int coin2) 商品情報を表示する
void kinsyu(int oturiB) おつりを硬貨単位で出力する

59 :名無し募集中。。。:2012/01/04(水) 18:13:54.32 0
keyってなに?

60 :名無し募集中。。。:2012/01/04(水) 18:14:14.90 0
変数名や関数名がコメントのつもりなんだろうけど
これを外に投げたとき色々問題が出てくる

61 :名無し募集中。。。:2012/01/04(水) 18:14:25.96 0
fiverepeatってひどい関数名だなw

62 :名無し募集中。。。:2012/01/04(水) 18:15:12.89 0
次はjavascriptで動かせるようにしてみ

63 :名無し募集中。。。:2012/01/04(水) 18:16:04.20 0
月初に札だけで買い物をして中旬からはお釣りの小銭だけで生活をしていた俺は
近所の自販機のどれが500円玉に逆両替出来るか把握していた

64 :名無し募集中。。。:2012/01/04(水) 18:16:23.57 0
いつか>1が日本のソフト開発のTOPに立つと信じて

65 :名無し募集中。。。:2012/01/04(水) 18:17:41.23 0
unsigned使えよ

66 :終わり つかれた:2012/01/04(水) 18:18:12.92 0
keyはお金を継続して投入させるために使う変数

67 :名無し募集中。。。:2012/01/04(水) 18:18:17.51 0
メイメイ規則作っとけ

68 :名無し募集中。。。:2012/01/04(水) 18:18:33.83 0
今でもVBAでコード書いてるけど最近は面倒臭いから変数を日本語にしている

69 :名無し募集中。。。:2012/01/04(水) 18:18:45.32 0
全体的になってない
マイナスになる可能性がないものは全部unsignedにしろ

70 :名無し募集中。。。:2012/01/04(水) 18:19:17.06 0
fiverepeat()はあかんな
怒られるレベル

71 :名無し募集中。。。:2012/01/04(水) 18:20:17.70 0
pythonになれたらC言語のコードなんか汚くて見れなくなる

72 :名無し募集中。。。:2012/01/04(水) 18:20:21.10 0
>>69
最近の子は気にしないんだろうか

73 :終わり つかれた:2012/01/04(水) 18:20:32.25 0
>>69
ごめんunsignedはよくわからん

>>70
誰に?w

74 :名無し募集中。。。:2012/01/04(水) 18:21:11.61 0
exeでくれ

75 :名無し募集中。。。:2012/01/04(水) 18:21:15.47 0
できあがったものをいったん捨てて書き直すともっといいものが書けるらしい

76 :名無し募集中。。。:2012/01/04(水) 18:22:41.96 0
入力されたお金がお釣りに使えないけどいいの?

77 :終わり つかれた:2012/01/04(水) 18:23:29.04 0
visual C++2008で動くよ

78 :名無し募集中。。。:2012/01/04(水) 18:23:31.74 0
実際の自販機の動きを書き起こしたほうがいいんじゃね

79 :名無し募集中。。。:2012/01/04(水) 18:25:04.57 0
jucesのnumってなんの意味があるの?

80 :名無し募集中。。。:2012/01/04(水) 18:25:28.73 0
そんなもんインスコしてるわけねーだろ!!!!

81 :名無し募集中。。。:2012/01/04(水) 18:25:31.09 0
サンプルプログラムとはいえ一目で高校生レベルのプログラミングだな

82 :名無し募集中。。。:2012/01/04(水) 18:25:35.33 0
ジュースの種類の5てのはリテラルでおkなのか?

83 :終わり つかれた:2012/01/04(水) 18:26:58.95 0
>>79
商品番号

>>81
情報系専門学校の1年ですw

84 :名無し募集中。。。:2012/01/04(水) 18:27:02.35 0
関数なのか変数なのかわかりにくて見づらいぞ
宣言もないから zaiko って変数あったっけ?って探しちまった

85 :名無し募集中。。。:2012/01/04(水) 18:27:34.34 0
>>10
配列の上限(ループの上限)も

86 :終わり つかれた:2012/01/04(水) 18:30:52.66 0
>>84
ふむふむ

87 :名無し募集中。。。:2012/01/04(水) 18:31:25.75 0
hantei とかいう変数いらんしじかにreturnでいいな

88 :名無し募集中。。。:2012/01/04(水) 18:32:24.35 0
変数名関数名に小文字しか使わないのはなんでだよ
分かりづらい見づらいだろ
なんか上級者きどりかなんかか

89 :終わり つかれた:2012/01/04(水) 18:33:56.37 0
>>88
上級者気取りなんてとんでもない
改善します

90 :名無し募集中。。。:2012/01/04(水) 18:34:13.49 0
客はkeyで何入力していいかわからんぞ
金入れたら無限ループだろ

91 :名無し募集中。。。:2012/01/04(水) 18:34:17.70 0
構造体のタグもTYPE_JUCESとか分かりやすくしたほうがいい
この手のソースは1年後みたら自分でも分からなくなる

92 :名無し募集中。。。:2012/01/04(水) 18:38:15.04 0
変数名は意味のある名前つけろ
xとかkとか分からん

93 :終わり つかれた:2012/01/04(水) 18:38:54.35 0
皆さんの意見大変参考になりました
ありがとうございます
やっぱりプログラマー板に立てなくて正解だったな・・・w

94 :名無し募集中。。。:2012/01/04(水) 18:40:09.51 0
スタート

1.入力待ち
  a.金 or b.返却(金入れてるとき) or c.ジュース購入

a 金なら買えるジュースを表示 1.に戻る
b 返却なら終了
c ジュース購入でちょうどなら終了 釣りがある場合は1.に戻る

95 :名無し募集中。。。:2012/01/04(水) 18:40:26.12 0
狼は優しいぞマ板に立てたらフルボッコだったろうな
まして板違いだし

96 :名無し募集中。。。:2012/01/04(水) 18:42:57.22 0
ついでに最初の処理で釣り銭の最大枚数が出せるかチェックするべき

97 :名無し募集中。。。:2012/01/04(水) 18:44:10.17 0
仕事していくならint多用せずサイズでchar,short,int,long使い分けろ

98 :名無し募集中。。。:2012/01/04(水) 18:58:21.16 0
>>1
それでBerryz工房だと誰が好きなんだよ

99 :名無し募集中。。。:2012/01/04(水) 19:11:08.99 0
雅ちゃんかな

100 :60-56-104-61f1.osk3.eonet.ne.jp:2012/01/04(水) 19:30:43.37 0
jinがまとめがやったhttp://jin115.com/archives/51838501.html

101 :名無し募集中。。。:2012/01/04(水) 19:31:56.08 0
仕事が速いな

102 :名無し募集中。。。:2012/01/04(水) 19:34:13.96 0
>>97
int以上とcharはともかく、shortはほとんどいらないだろ…

103 :名無し募集中。。。:2012/01/04(水) 19:35:55.64 0
nullpointerexception(0)

104 :名無し募集中。。。:2012/01/04(水) 19:36:12.02 0
お前らちゃんと、intとlongとlong longの違い知ってるの?

105 :終わり つかれた:2012/01/04(水) 19:37:07.72 0
>>100
おいふざけんな!
なんだこれ!

106 :終わり つかれた:2012/01/04(水) 19:43:15.88 0
ああ最悪だ・・・・
顔写真晒されるのと同じくらい恥ずかしいorz

107 :名無し募集中。。。:2012/01/04(水) 19:47:59.02 0
関数を動詞
変数を名詞で書く

108 :名無し募集中。。。:2012/01/04(水) 19:49:09.01 0
コレの超複雑バージョンがドラクエとかになるの?

109 :名無し募集中。。。:2012/01/04(水) 19:49:30.11 0
そこのまとめサイト管理人クソだから怒っても無駄

110 :名無し募集中。。。:2012/01/04(水) 19:52:33.22 0
動詞と言っても頭にDoつければいいってもんじゃないんだぞ

111 :名無し募集中。。。:2012/01/04(水) 19:52:47.22 0
安易にクソスレ立てるからそんな事になる

112 :名無し募集中。。。:2012/01/04(水) 19:57:42.16 0
狼はse多いからもう少し遅い時間だと盛り上がるのに

113 :名無し募集中。。。:2012/01/04(水) 19:59:55.81 0
ドラクエの戦闘かもしれんな

114 :名無し募集中。。。:2012/01/04(水) 20:01:14.01 0
狼はITドカタが多いからこの手のスレは叩かれる

115 :名無し募集中。。。:2012/01/04(水) 20:05:19.46 0
微笑ましいだろ
こんなスキルの時代がお前にもあっただろ?

116 :60-56-104-61f1.osk3.eonet.ne.jp:2012/01/04(水) 20:44:15.10 0
これコードメモ帳に貼り付けたけどどうすればいいの

117 :名無し募集中。。。:2012/01/04(水) 20:45:01.05 0
>>116
印刷して郵送しろ

118 :名無し募集中。。。:2012/01/04(水) 20:47:30.74 0
コンパイル通るか分からないけどこういう感じの方が好みだな

typedef struct{
char *name;
int price;
int num;
}juces;

juces juce[] = {
{"コーラ",120,1},
{"オレンジジュース",130,2},
{"グレープジュース",150,3},
{"オロナミンC",120,4},
{"ビール",200,5},
{NULL}
};

int minprice(void){

int min = 9999;
juces *p;

for(p = juce; p->name != NULL; p++){
if(p[i]->price < min)
min = p[i]->price;
}

return min;

}

119 :名無し募集中。。。:2012/01/04(水) 21:57:41.34 0
いまさらだけどminって何?

120 :名無し募集中。。。:2012/01/04(水) 21:58:36.10 0
ミニマム

121 : 忍法帖【Lv=40,xxxPT】 :2012/01/04(水) 22:36:08.48 0
お前らcodepad使え捗るぞ

122 :名無し募集中。。。:2012/01/04(水) 23:04:56.53 0
なんで今さら捗るぞが流行ってるんだ?

123 :60-56-104-61f1.osk3.eonet.ne.jp:2012/01/04(水) 23:24:03.66 0
>>120ワロタww

124 :名無し募集中。。。:2012/01/04(水) 23:27:25.36 0
ミニマムは魔法の塔に入るときしか使わない

125 :名無し募集中。。。:2012/01/05(木) 00:38:07.37 0
http://momi.momi3.net/momi/src/1325691227085.jpg

126 :名無し募集中。。。:2012/01/05(木) 00:46:09.74 0
いまどきの工業高校や情報系の高校で学ぶ言語はCじゃないの?
Java?

19 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)