Я сделал простую программу на C, которая вычисляет факториал числа, но в конце я хочу запустить программу (снова). Вместо того, чтобы «нажимать любую клавишу для продолжения», я хочу, чтобы она показывала «нажмите любую клавишу, чтобы снова найти факториал числа».Я сделал простую программу на C, которая вычисляет факториал числа
код:
#include<stdio.h>
int main()
{
int facto, i, m ;
m=1 ;
printf("Ener a Value : ");
scanf("%d", &facto) ;
for(i=facto-1 ; i>m ; i--)
facto *= i ;
printf("My Reg num:SP-16/BBS/033\nFactorial of the number : =%d\n", facto);
system ("pause") ;
}
Как вы завершить программу показали? Является ли прерывание или эквивалент единственным значимым способом? Код должен, по крайней мере, проверять возвращаемое значение из 'scanf()', чтобы он не переходил в бесконечный цикл, если пользователь вводит 'a' или указывает EOF. –
@JonathanLeffler Я пытался сохранить программу как можно более похожую на OP. Вот почему я не проверял возвращаемое значение scanf и просто объяснил в конце один из вариантов завершения цикла. Пока пользователь вводит «правильные» данные, это должно работать просто отлично – CIsForCookies
Я согласен с моим первоначальным вопросом: как завершить эту программу? На одном уровне хорошо придерживаться исходного кода, но с другой стороны, вы меняете вещи так, что он будет бесконечно зацикливаться на ошибке, тогда как оригинал не будет. На вас лежит ответственность за то, чтобы такие ошибки не вызывали таких проблем, как бесконечный цикл. Итак, вы должны исправить код, чтобы дать полезный ответ. –