Этот вопрос задавался ранее, но я так и не нашел ясного и простого ответа, поэтому я спрашиваю его снова ...
Я хотел бы знать, не используя другие библиотекичем stdio.h, как проверить, является ли введенное пользователем числовое значение или нет.Обычно пользователю предлагается ввести значение от 0 до 9. Если число находится между этими двумя, оно продолжается.Например, если число равно 12, оно возвращается к вопросу и снова запрашивает число.
Оно работает нормально, за исключением того, что если я ввожу букву ИЛИ десятичное число, оно входит в бесконечный цикл...
По сути, это мой вопрос: как я могу проверить, что введенное значение не является символом и не является десятичным?
Вот начало кода: (извините, это по-французски, но вы поняли ...)
int main()
{
int nb1, nb2, rand_1, rand_2;
int nb_coups = 0;
int points = 0;
printf("\n\n ------ BIENVENUE A LA GRANDE ROUE ! ------\n\n");
do{
//Saisie 1er nombre
printf("Entrez le premier nombre choisi (entre 0 et 9) : ");
scanf("%d",&nb1);
//Tant que le 1er nombre n'est pas compri entre 0 et 9, on le redemande
while(nb1<0 || nb1>9)
{
printf("Nombre incorrect. Entrez le premier nombre choisi (entre 0 et 9) : ");
scanf("%d",&nb1);
}
//On affiche le 1er nombre
printf("Le nombre choisi est : %d\n\n",nb1);