Таня Хиль
Таня Хиль

Как сделать запрет ввода букв на языке Си? Объясните как можно проще.

Использую Visual Studio.

Задание (консольное приложение win32):
Написать программу, запрашивающее целое число в интервале от 0 до 10 и выводящее на экран куб этого числа. При вводе целого числа, не попадающего в данный интервал или дробного числа, программа должна просить повторить ввод.

Код таков (писал не я, но всё же) :
#include "stdafx.h"
#include
#include "locale.h"
#include "conio.h"
#include "stdlib.h"
#include
#include

int _tmain(int argc, _TCHAR* argv[])
{
char buffer[128];
int b;
double a,intpart,fractpart;
setlocale(LC_CTYPE, "russian");
printf("Введите целое число от 0 до 10:");
gets(buffer);
a=atof(buffer);
fractpart = modf (a , &intpart);
if (fractpart!=0)
printf("Вы ввели дробное число! ");
else
{
b=atoi(buffer);
if (b<0 & b>10)
printf("Вы ввели число отличное от указанного диапазона 0-10!");
else
{
printf("Результат: %i",b*b*b);
}
}
_getch();
return 0;
}

ЕМ
Елена Малыхина

int a;
do
puts("Введите целое число от 0 до 10");
while (!scanf("%d", &a) || a < 0 || a > 10);
printf("Ответ = %d", a*a);

Похожие вопросы
программа на языке си
Программирование на языке Си
Помогите пожалуйста сделать задачку на рекурсию по языке "си".
Язык программирования Си
delphi как запретить ввод букв readln (консольное приложение)
програмироваие. Язык СИ
Язык програмирования СИ
Русские буквы в консоли. Язык СИ.
программирование, язык си
Программирование. Язык си