Может ли кто - нибудь помочь мне найти ошибку?
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #define false 0 #define true 1 #define bool int void responsegood(); void responsebad(); void generatePattern1(int*, int*); void generatePattern2(int*, int*); void generatePattern3(int*, int*); int main() { int a,b,no,mul; char ch; int i ; int level; bool correct=true; int passes; srand(time(NULL)); printf("Choose your level of difficulty (1-3)\n"); scanf("%d", &level); while (level !=-1){ do{ if((level != 1 && level != 2) && (level != 3 && level !=-1)){ printf("The value is invalid\n"); printf("Choose your level of difficulty (1-3)\n"); scanf("%d", &level); } } while ((level !=1 && level !=2) && (level !=3 && level !=-1)); while (level !=-1){ do{ if(level == 1){ generatePattern1(&a, &b); } else if(level == 2){ generatePattern2(&a, &b); } else if(level == 3){ generatePattern3(&a ,&b); while(correct) { passes=0; for (i = 1 ; i <= 10 ; ++i ) { a=rand()%10; b=rand()%10; printf("How much is %d times %d = ",a,b); scanf("%d",&no); mul=a*b; if(mul==no) { responsegood(); passes++ ; } else { responsebad(); } } if ( passes < 7.5 ) { printf( "Please ask your teacher for extra help.\n" ); } else { printf( "Congratulations , you are ready to go to the next level!\n " ); } do{ printf("\nWant to try another multiplication question? If yes then press 'y' else 'n' = "); scanf(" %c",&ch); if(ch=='y'||'Y') { continue; } else if (ch=='n'||'N') { correct=false; } else { printf("invalid value\n"); } }while ((ch !='y'&&ch !='n')&&(ch !='Y'&&ch !='N')); } system("pause"); return 0; } void responsegood() { char rangood; srand(time(NULL)); rangood = 1 + rand() % 4; switch (rangood){ case 1: printf("Very good!\n\n"); break; case 2: printf("Excellent!\n\n"); break; case 3: printf("Nice work!\n\n"); break; case 4: printf("Keep up the good work!\n\n"); break; } } void responsebad() { char ranbad; srand(time(NULL)); ranbad = 1 + rand() % 4; switch (ranbad){ case 1: printf("no.please try again!\n\n"); break; case 2: printf("wrong,Try again!\n\n"); break; case 3: printf("Dont give up!\n\n"); break; case 4: printf("No.keep trying!\n\n"); break;} } void generatePattern1(int*a, int*b){ *a = rand() % 9+1; *b = rand() % 9+1; } void generatePattern2(int*a, int*b){ *a = rand() % 99+1; *b = rand() % 99+1; } void generatePattern3(int*a, int*b){ *a = rand() % 999+1; *b = rand() % 999+1; return; }
Что я уже пробовал:
я пробовал много раз, но просто не могу найти ошибку.
CHill60
В чем же проблема?
Richard MacCutchan
Было бы полезно, если бы вы объяснили, что это за ошибка (разместите любые сообщения об ошибках) и где она возникает.