Программирование может быть увлекательным и полезным навыком. В этой статье я расскажу вам, как написать программу на языке C , которая будет определять количество дней до Нового года на основе введенной даты с клавиатуры.
Для начала, нам понадобится подключить библиотеку iostream, чтобы иметь возможность взаимодействовать с пользователем через стандартный поток ввода-вывода⁚
#include nlt;iostreamngt;
using namespace std;
Затем, мы создадим главную функцию main, в которой будет выполняться основной код программы⁚
int main {
int month, day;
cout nlt;nlt; ″Введите номер месяца⁚ ″;
cin ngt;ngt; month;
cout nlt;nlt; ″Введите день⁚ ″;
cin ngt;ngt; day;
// далее идет код, который определяет количество дней до Нового года
}
Теперь, нам нужно добавить код, который будет проверять правильность введенных данных. Если пользователь вводит некорректные данные, программа должна выдать сообщение об ошибке⁚
if (month nlt; 1 || month ngt; 12 || day nlt; 1 || day ngt; 31) {
cout nlt;nlt; ″Ошибка⁚ некорректная дата!″ nlt;nlt; endl;
return 0;
}
После этого, нам нужно создать переменную days_left, которая будет хранить количество дней до Нового года⁚
int days_left 0;
Затем, мы создадим цикл, который будет увеличивать значения переменной days_left в зависимости от текущей даты. Для этого нам нужно использовать оператор switch, чтобы проверить номер текущего месяца⁚
switch (month) {
case 1⁚ days_left 365 ⎯ day; break;
case 2⁚ days_left 365 ⎯ 31 ─ day; break;
case 3⁚ days_left 365 ⎯ 31 ⎯ 28 ⎯ day; break;
case 4⁚ days_left 365 ─ 31 ─ 28 ⎯ 31 ─ day; break;
// и т.д. для остальных месяцев... default⁚ break;
}
Наконец, мы выведем результат на экран⁚
cout nlt;nlt; ″До Нового года осталось ″ nlt;nlt; days_left nlt;nlt; ″ дней.″ nlt;nlt; endl;
Полный код программы будет выглядеть так⁚
#include nlt;iostreamngt;
using namespace std;
int main
{
int month, day;
cout nlt;nlt; ″Введите номер месяца⁚ ″;
cin ngt;ngt; month;
cout nlt;nlt; ″Введите день⁚ ″;
cin ngt;ngt; day;
if (month nlt; 1 || month ngt; 12 || day nlt; 1 || day ngt; 31) {
cout nlt;nlt; ″Ошибка⁚ некорректная дата!″ nlt;nlt; endl;
return 0;
}
int days_left 0;
switch (month) {
case 1⁚ days_left 365 ─ day; break;
case 2⁚ days_left 365 ─ 31 ⎯ day; break;
case 3⁚ days_left 365 ─ 31 ─ 28 ⎯ day; break;
case 4⁚ days_left 365 ─ 31 ─ 28 ─ 31 ─ day; break;
// и т.д. для остальных месяцев...
default⁚ break;
}
cout nlt;nlt; ″До Нового года осталось ″ nlt;nlt; days_left nlt;nlt; ″ дней.″ nlt;nlt; endl;
return 0;
}
Теперь, когда вы написали эту программу, вы можете проверить ее работу, вводя различные значения месяца и дня. Она должна выводить количество дней до Нового года в зависимости от введенной даты.
Удачи в программировании!