Эффективна ли данная защита от ввода посторонних символов и букв - 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");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы