• 締切済み

Cでの数当てプログラム

現在、Cで数当てプログラムを作っておりますが、C初心者で、何が何だか分からない状態です。 <プログラムの内容> ・0から2の数値から1つ選択して入力してもらう。 ・コンピュータが選んだ値と一致したら"あたり"、不一致なら"はずれ"を出力。 ・10回繰り返したら、1回目から入力された数値と、コンピュータが選んだ数値を表示。 ・最終的に、当たった確立を%で表示。 <条件> 1.以下の構造体を使う。 typedef struct{ int m_inputNumber; int m_selectNumber; char m_result[7]; }NUMBERDATA; 2.以下の関数を作る。 ・数値入力関数:int inputNumber(); ・選択された数値と入力された数値を比較して当たり、はずれ出力し、それを構造体に格納する関数: void judge(int i_inputnumber,NUMBERDATA* o_numberdata); ・結果表示関数:void outputData(NUMBERDATA* i_numberdata); 3.乱数発生プログラムの埋め込み。 #include <stdlib.h> #include <time.h> int selectnumber; time_t seed; time(&seed); srand(seed); selectnumber = rand() % 3; 4.strcpy,strcmp関数を使う。 5.main関数を以下のように設定。 int main(){ NUMBERDATA I_data[10]; int i; for(i = 0; i < 10; i++){ judge(inputNumber(),&I_data[i]); } outputData(I_data); return 0; } <サンプル画面> 0から2の数値から値を1つ入力してください > 1 結果 = あたり 0から2の数値から値を1つ入力してください > 0 結果 = はずれ ……(10回繰り返し) =結果= 1回目 入力値:1 コンピュータが選択した値:1 (あたり) 2回目 入力値:0 コンピュータが選択した値:1 (はずれ) ……(10回分出力) 確立 = **% と、こんな感じなのですが、理解力不足で完成には程遠くなっています。 Cに詳しい方が居ましたら、書き方、図々しいですが、ソースなんかあれば非常に助かります。 色々と無茶な事言ってますが、ご回答の方お願い致します。

みんなの回答

回答No.2

>理解力不足で 「(C言語の)理解不足」ではなく「課題の理解不足」と「必要な処理を検討する能力不足」です。 ・乱数を発生させる処理 ・数字入力を促す処理 ・入力した数字を取得する処理 ・取得した数字と乱数を比較する処理 ・上記を10回行い結果を保存する処理 ・一致したかどうか表示する処理 を作ればできます。 >図々しいですが、ソースなんかあれば非常に助かります。 「課題」でしょ? 自分で考えなくてどうするのでしょうか? 「この部分がわからない」ならともかく「全部わからないからソース」というのは虫が良すぎます。

izumoer
質問者

お礼

返答ありがとうございます。 友人や先輩に教えてもらいながら、完成させることが出来ました。 我侭で不快にさせてしまい、申し訳ありませんでした。

回答No.1

...要するに"課題の丸投げ"ですね。 > C初心者で、何が何だか分からない状態です。 ならばちょっとでも分かる程度には勉強してください。 じゃないとソースまるごと貰ったところで理解できんでしょう。

izumoer
質問者

お礼

返答ありがとうございます。 友人や先輩に教えてもらいながら、完成させることが出来ました。 我侭で不快にさせてしまい、申し訳ありませんでした。