プロが教えるわが家の防犯対策術!

C言語の質問です。クイズをテキストファイルに書き、それを読み込むというモノなのですが、その前に前回のスコアを読み込み、棒グラフにして出力しなければいけません。また、問題も1行ずつ読み込み正否を判定します。問題のテキストは、「1,問題文 1.○○ 2,○○ 3.○○」とし、頭に解答を書いています。最後に、正解した数をスコアファイルに書き、終了とします。一応、初めてなら、スコアファイルを新規作成し、2回目ならスコアファイルを開く、というところまでは、出来ましたが、その後がどうにも進みません・・。どなたか教えて頂けないでしょうか・・。
#include <stdio.h>

int main(void)
{
FILE *fp;
char str[256];

if((fp = fopen("score.txt","r")) == NULL){
 printf("このゲームを初めて実行しますね。\nスコアファイルを新規作成します。\n");
 fp = fopen("score.txt","w");
 fclose(fp);}
else{
 printf("スコアファイルを読み込みます。\n");
 fp = fopen("score.txt","r");
 fclose(fp);}
return 0;
}
一応ここまでは、出来ています。

A 回答 (2件)

なぜ「どうにも進まない」のか, その原因を自己分析できていますか?


とはいえ, 厳密にいうとこの時点で既に危険なプログラムだったりするのだが.
あと, 同じことで何度も質問しないこと. ちゃんと前の質問に決着をつけてくれ.

参考URL:http://oshiete.goo.ne.jp/qa/6089055.html
    • good
    • 0

で、次に何をしたくて、何がわからないのでしょう? 全部とか言われてもしょうがないですし。



漠然と作り始めても方針が見えないでしょう。実際のコーディングの前にどういう処理をどういう順番で行っていくのかとか設計図を書いてください。
  スコアを読む(または新規作成)→問題を読む→出題する→回答入力→判定→……
……という感じで。

次に個々の処理の機能の詳細を考えます。例えば問題を出すのは毎回同じなのか、前回の続きなのか、それともランダムなのか……とか。

こうやって自分でクイズの処理の流れをちゃんと把握してからコーディングを始めてください。

質問のソースのように全部main関数で書こうとしたらスパゲティもいいとこの誰が見てもわからない、メンテナンス不可能なソースになることは確実なので、機能ごとに関数化して、それを順番に呼び出していく構造が必要かと思います。
    • good
    • 0

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