Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с программированием на Языке Си.

Ярчик трофик Ученик (95), закрыт 1 год назад
Нужно написать программу исходя из условия данной задачи:
Ввести дату (день и месяц).Определить,сколько дней осталось до начала следующего месяца.
Лучший ответ
Двоечник Обыкновенный Высший разум (102292) 1 год назад
/*
поскольку нет ввода года, то невозможно определить високосный ли год;
по этой причине программа предполагает, что год не високосный.
*/
#include <stdio.h>

int main()
{
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
char date[6];
scanf("%s",date);
int jour=0,month=0,x=0;
if(date[x] >= '0' && date[x] <= '9') // цифра
{
while(date[x] >= '0' && date[x] <= '9')
{
jour *= 10;
jour += (date[x] - '0');
x++;
}
if(date[x] == '.')
{
x++;
}
else
{
printf("Неверный формат даты.\n");
return 1;
}
if(date[x] >= '0' && date[x] <= '9')
{
while(date[x] >= '0' && date[x] <= '9')
{
month *= 10;
month += (date[x] - '0');
x++;
}
}
else
{
printf("Неверный формат даты.\n");
return 1;
}
}
else // не цифра
{
printf("Неверный формат даты.\n");
return 1;
}

if(month < 1 || month > 12)
{
printf("Нет такого месяца.\n");
return 1;
}

if(jour < 1 || jour > days[month])
{
printf("Неверное число месяца.\n");
return 1;
}

printf("До следующего месяца осталось %d дней.\n", days[month] + 1 - jour);

return 0;
}
Двоечник ОбыкновенныйВысший разум (102292) 1 год назад
дата вводится как число месяца, точка, номер месяца.
Например: 02.06
Ярчик трофик Ученик (95) Двоечник Обыкновенный, Спасибо огромное)
Остальные ответы
Похожие вопросы