c言語
コード
#include<stdio.h> #include<time.h> #include <stdlib.h> int data[5]; void type(int); int main(void){ int i; for(i = 0;i < 5;i++){ data[i] = rand()%5; type(data[i]); } return 0; } void type(int data){ char Eval[256];//評価 int flag = 0;//アクション switch(data){ case 0: printf("[おはよう]\n"); printf("\n\n\n\n");c do{ if(flag!=0){printf("違います\n");} scanf("%s",&Eval); flag++; }while(Eval != "ohayou"); printf("正解\n"); flag = 0; break; case 1: printf("[こんにちは]\n"); printf("\n\n\n\n"); do{ if(flag!=0){printf("違います\n");} scanf("%s",&Eval); flag++; }while(Eval != "konnnitiha"); printf("正解\n"); flag = 0; break; case 2: printf("[こんばんは]\n"); printf("\n\n\n\n"); do{ if(flag!=0){printf("違います\n");} scanf("%s",&Eval); flag++; }while(Eval != "konbanha"); printf("正解\n"); flag = 0; break; case 3: printf("[今日は暑い]\n"); printf("\n\n\n\n"); do{ if(flag!=0){printf("違います\n");} scanf("%s",&Eval); flag++; }while(Eval != "kyouhaatui"); printf("正解\n"); flag = 0; break; case 4: printf("[ズッキーニ]\n"); printf("\n\n\n\n"); do{ if(flag!=0){printf("違います\n");} scanf("%s",&Eval); flag++; }while(Eval != "zukki-ni"); printf("正解\n"); flag = 0; break; } return; } 不正解でも正解と表示されてしまいます。 何度やってもうまくいかなくほとほと困っています。 どなたかご教授願えないでしょうか おこがましい願いなのですが、プログラミング初心者なので丁寧に教えてくれると助かります ![イメージ説明](c5db50a15facb06d2c3a44e468bea29a.png) [補足] while文の使い方を忘れてました。。 その文章を直したのですが、今度は「違います」のループに入りました。 多分EOFが関係してるのだと思います。。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。