現在、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に詳しい方が居ましたら、書き方、図々しいですが、ソースなんかあれば非常に助かります。
色々と無茶な事言ってますが、ご回答の方お願い致します。

A 回答 (2件)

>理解力不足で


「(C言語の)理解不足」ではなく「課題の理解不足」と「必要な処理を検討する能力不足」です。

・乱数を発生させる処理
・数字入力を促す処理
・入力した数字を取得する処理
・取得した数字と乱数を比較する処理
・上記を10回行い結果を保存する処理
・一致したかどうか表示する処理
を作ればできます。

>図々しいですが、ソースなんかあれば非常に助かります。
「課題」でしょ? 自分で考えなくてどうするのでしょうか?
「この部分がわからない」ならともかく「全部わからないからソース」というのは虫が良すぎます。
    • good
    • 0
この回答へのお礼

返答ありがとうございます。

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

お礼日時:2009/05/15 16:36

...要するに"課題の丸投げ"ですね。



> C初心者で、何が何だか分からない状態です。

ならばちょっとでも分かる程度には勉強してください。
じゃないとソースまるごと貰ったところで理解できんでしょう。
    • good
    • 0
この回答へのお礼

返答ありがとうございます。

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

お礼日時:2009/05/15 16:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング