Эффективна ли данная защита от ввода посторонних символов и букв - C (СИ)
Формулировка задачи:
Здравствуйте! В общем, я написал программу для решения следующей задачи: Заранее спасибо.
Определите по номеру года, является или нет этот год високосным. Указание: год считается високосным, если номер этого года делится нацело на 4, за исключением тех, которые делятся нацело на 100 и не делятся на 400
. Нужно также было сделать защиту (запрет на ввод посторонних символов и букв). Вроде сделал. Но, по-моему она какая-то корявая. Скажите, пожалуйста,эффективна ли эта защита
? И ещё, программа работает нормально. Но почему-то,если ввести любой год, оканчивающийся чётным числом
,то программа сразу закрывается
. Не подскажете,из-за чего это
? Вот код:#include <stdio.h> #include <conio.h> #include <locale.h> int main() { int year; setlocale(LC_ALL, "rus"); do { fflush(stdin); printf("Введите год: "); scanf("%d",&year); if (year<0) { printf("Некорректный ввод! Повторите ещё раз: "); } } while (year<0); if(year%4==0) { if(year%100==0&&year%400!=0) { printf("Этот год НЕ является високосным. \n"); return(0); } printf("Этот год является високосным. \n"); return(1); } printf("Этот год НЕ яляется високосным. \n"); _getch(); return 0; system("pause"); }
Решение задачи: «Эффективна ли данная защита от ввода посторонних символов и букв»
textual
Листинг программы
return 0; getch(); system("pause");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д