функция fn_handler имеет следующий вид:
Код: Выделить всё
char ans = *ch_ptr;
int key_ascii_val; // box to store the ascii code of pressed key just ago
return key_ascii_val = (int)ans;
Код: Выделить всё
bool isStarted=false;
printf("\n\n=== Even Odd ===\n\n");
if(!isStarted) {
evaluate_even_odd();
isStarted = true;
}
isStarted = true;
printf("\n");
while(isStarted) {
char ans;
bool isResumed=false;
int key=0;
printf("Do you want to continue? (y/n)");
scanf("%c", &ans);
printf("\n");
key=fn_handler(&ans);
printf("The answer is %c\n", (char)key); // Actually new input stream doesn't work out here
// if(ans!='\0'&&key==78||key==110||key==89||key==121) isResumed=true;
isResumed = (ans!='\0'&&key==78||key==110||key==89||key==121)?true:false;
if(isResumed) {
if(key == 89 || key == 121) {
printf("\n\n=== Resume Even Odd ===\n\n");
evaluate_even_odd();
} else if(key == 78 || key == 110) {
// write codes when key is 'n' or 'N'
break;
}
} else break;
isResumed=false; // reset flag
}
isStarted=false;
printf("\n\n=== Thank you ===\n\n");
return EXIT_SUCCESS;
введите здесь описание изображенияЯ попробовал реализовать программу, которая выводит данные для классификации четных и нечетных по входному делимому
и независимо от того, когда пользователь хочет продолжить работу программы. (новый входной поток)
Программа должна работать до тех пор, пока программа не остановится по воле пользователя.
Приветствуем любой кризис в написании такого кода. .
С уважением/
Подробнее здесь: https://stackoverflow.com/questions/792 ... atter-when
Мобильная версия