2021/07/27 18:30
にょ?
投稿2021/03/28 12:43
C言語のプログラムを作りました。
コードが読みやすいものなのかが自分ではわからないので質問します。
自分ではわかりやすいようにインデントなどをしっかりしたつもりですが、更に読みやすくするためにアドバイスがあればお願いします。
あとは、プログラムのいけないところ(書き方を変えたほうがいい部分)も指摘してほしいです。
これは小さなタイピングゲームです。
C
1#include<stdio.h> 2#include<stdlib.h> 3#include<time.h> 4#include<string.h> 5#include<unistd.h> 6 7int bangou; 8 9int main(void){ 10 11 #define moji answer = kotae; 12 13 int i; // counter of for statement 14 char kotae[30]; 15 char *answer; 16 int plan; 17 int score; 18 char *word1 = "hello"; 19 char *word2 = "world"; 20 char *word3 = "impossible"; 21 char *word4 = "knowledge"; 22 char *word5 = "capital"; 23 char *word6 = "overcome"; 24 char *word7 = "analysis"; 25 char *word8 = "station"; 26 char *word9 = "linux"; 27 char *word10 = "misunderstanding"; 28 29 srand((unsigned)time(NULL)); //usage : rand()%number + 1; 30 for ( ; ; ){ 31 plan = 5; // reset plan number 32 printf("Select plan below\n"); 33 printf("\n - Plan 1 : Start typing game!!!\n - Plan 2 : Quit program :(\n"); 34 printf("\n Input your plan : "); 35 scanf("%d",&plan); 36 if(plan == 1){ 37 score = 0; 38 printf("(((((------> 5 <------)))))\r"); 39 usleep(1 * 1000000); 40 printf("(((((------> 4 <------)))))\r"); 41 usleep(1 * 1000000); 42 printf("(((((------> 3 <------)))))\r"); 43 usleep(1 * 1000000); 44 printf("(((((------> 2 <------)))))\r"); 45 usleep(1 * 1000000); 46 printf("(((((------> 1 <------)))))\r"); 47 usleep(1 * 1000000); 48 printf("\n\n"); 49 for(i = 1; i < 11; i++){ // 10 times loop 50 answer = "l"; // reset answer 51 bangou = rand()%10 + 1; // get number for select random word 52 switch (bangou) { 53 case 1: 54 printf(" %s = ",word1); 55 scanf("%s",kotae); 56 moji; 57 printf("\n"); 58 if (strcmp(answer, word1) == 0){ 59 printf("Correct! XD\n\n"); 60 score += 10; 61 }else{ 62 printf("Incorrect... :(\n\n"); 63 } 64 usleep(1 * 1000000); 65 break; 66 case 2: 67 printf(" %s = ",word2); 68 scanf("%s",kotae); 69 moji; 70 printf("\n"); 71 if (strcmp(answer, word2) == 0) { 72 printf("Correct! XD\n\n"); 73 score += 10; 74 }else{ 75 printf("Incorrect... :(\n\n"); 76 } 77 usleep(1 * 1000000); 78 break; 79 case 3: 80 printf(" %s = ",word3); 81 scanf("%s",kotae); 82 moji; 83 printf("\n"); 84 if (strcmp(answer, word3) == 0) { 85 printf("Correct! XD\n\n"); 86 score += 10; 87 }else{ 88 printf("Incorrect... :(\n\n"); 89 } 90 usleep(1 * 1000000); 91 break; 92 case 4: 93 printf(" %s = ",word4); 94 scanf("%s",kotae); 95 moji; 96 printf("\n"); 97 if (strcmp(answer, word4) == 0) { 98 printf("Correct! XD\n\n"); 99 score += 10; 100 }else{ 101 printf("Incorrect... :(\n\n"); 102 } 103 usleep(1 * 1000000); 104 break; 105 case 5: 106 printf(" %s = ",word5); 107 scanf("%s",kotae); 108 moji; 109 printf("\n"); 110 if (strcmp(answer, word5) == 0) { 111 printf("Correct! XD\n\n"); 112 score += 10; 113 }else{ 114 printf("Incorrect... :(\n\n"); 115 } 116 usleep(1 * 1000000); 117 break; 118 case 6: 119 printf(" %s = ",word6); 120 scanf("%s",kotae); 121 moji; 122 printf("\n"); 123 if (strcmp(answer, word6) == 0) { 124 printf("Correct! XD\n\n"); 125 score += 10; 126 }else{ 127 printf("Incorrect... :(\n\n"); 128 } 129 usleep(1 * 1000000); 130 break; 131 case 7: 132 printf(" %s = ",word7); 133 scanf("%s",kotae); 134 moji; 135 printf("\n"); 136 if (strcmp(answer, word7) == 0) { 137 printf("Correct! XD\n\n"); 138 score += 10; 139 }else{ 140 printf("Incorrect... :(\n\n"); 141 } 142 usleep(1 * 1000000); 143 break; 144 case 8: 145 printf(" %s = ",word8); 146 scanf("%s",kotae); 147 moji; 148 printf("\n"); 149 if (strcmp(answer, word8) == 0) { 150 printf("Correct! XD\n\n"); 151 score += 10; 152 }else{ 153 printf("Incorrect... :(\n\n"); 154 } 155 usleep(1 * 1000000); 156 break; 157 case 9: 158 printf(" %s = ",word9); 159 scanf("%s",kotae); 160 moji; 161 printf("\n"); 162 if (strcmp(answer, word9) == 0) { 163 printf("Correct! XD\n\n"); 164 score += 10; 165 }else{ 166 printf("Incorrect... :(\n\n"); 167 } 168 usleep(1 * 1000000); 169 break; 170 case 10: 171 printf(" %s = ",word10); 172 scanf("%s",kotae); 173 moji; 174 printf("\n"); 175 if (strcmp(answer, word10) == 0) { 176 printf("Correct! XD\n\n"); 177 score += 10; 178 }else{ 179 printf("Incorrect... :(\n\n"); 180 } 181 usleep(1 * 1000000); 182 break; 183 default: 184 break; 185 } 186 } 187 }else{ 188 break; 189 } 190 printf("Max score is 100. Your score is %d. \n\n", score); // display result 191 } 192 return 0; 193}
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/29 02:24 編集
2021/03/29 02:43
2021/03/29 03:22
2021/03/30 12:41