@Invisibletime

Как правильно записать цикл ввода-вывода даты, месяца и года? После вывода года остальное не высчитывается?

printf("Введите год:\n");
scanf("%d", &g);
while(g>0);
printf("Введите дату:\n");
scanf("%d", &d);
while((d>=0) && (d<=31));
printf("Введите месяц:\n");
scanf("%d", &m);
while((m>=0) && (m<=12));
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
Прочитайте ещё раз про циклы. Первый же while(g>0); имеет пустое тело и уходит в бесконечный повтор, если ранее введённый g>0.
Если вы хотите циклом заставить ввести правильную дату, то должно быть как-нибудь так:
do
{
    printf("Введите год:\n");
    scanf("%d", &g);
}
while(!(g>0));

или так:
int g = 0;
while(!(g>0))
{
    printf("Введите год:\n");
    scanf("%d", &g);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Возможно вы перепутали if и while.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы