М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
veraveta
veraveta
14.05.2020 08:57 •  Информатика

Напишите программу на c++, которая вводит с клавиатуры номер месяца (m) и день (d), и определяет, сколько дней осталось до Нового года. При вводе неверных данных должно быть выведено сообщение об ошибке. Считается, что год невисокосный. Входная строка содержит два целых числа: номер месяца и номер дня в этом месяце. Программа должна вывести количество дней, оставшихся до Нового года (k). Если введены неверные данные, нужно вывести число -1.

👇
Ответ:
вика6781
вика6781
14.05.2020
Хорошо, вот программа на языке C++, которая выполняет указанные вами требования:

```c++
#include
using namespace std;

int main() {
int m, d;
cout << "Введите номер месяца: ";
cin >> m;
cout << "Введите номер дня: ";
cin >> d;

// Проверка валидности введенных данных
if ((m < 1 || m > 12) || (d < 1 || d > 31)) {
cout << "Ошибка: неверные данные!" << endl;
return 0; // Программа завершается, если данные неверные
}

int days_in_months[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int days_until_new_year = 0;
for (int i = m - 1; i < 12; i++) {
days_until_new_year += days_in_months[i];
}

days_until_new_year -= d;

cout << "До Нового года осталось " << days_until_new_year << " дней." << endl;

return 0;
}
```

Давайте разберем эту программу по шагам:

1. Мы объявляем переменные `m` и `d`, которые будут хранить номер месяца и номер дня соответственно.

2. После этого, мы выводим сообщение на экран с просьбой ввести номер месяца с помощью `cout`, а затем считываем введенное значение с помощью `cin` и сохраняем его в переменную `m`. Далее мы делаем то же самое для ввода номера дня.

3. Затем мы проверяем введенные значения. Если номер месяца меньше 1 или больше 12, или номер дня меньше 1 или больше 31, то выводим сообщение об ошибке и завершаем программу (`return 0`).

4. Далее мы создаем массив `days_in_months`, где каждому месяцу соответствует количество дней. В этом массиве январю соответствует элемент с индексом 0, февралю - 1 и так далее.

5. Затем мы инициализируем переменную `days_until_new_year` нулем. Эта переменная будет использоваться для подсчета количества дней до Нового года.

6. Мы используем цикл `for`, чтобы пройтись по месяцам, начиная с текущего месяца (`m - 1`) и до декабря (`11`), и прибавляем количество дней в каждом месяце к переменной `days_until_new_year`.

7. Мы вычитаем введенное количество дней `d` из переменной `days_until_new_year`.

8. Наконец, мы выводим количество дней до Нового года на экран с помощью `cout`.

Таким образом, программа проверяет введенные данные, подсчитывает количество дней до Нового года и выводит результат. Если введены неверные данные, программа выводит `-1`.
4,5(28 оценок)
Проверить ответ в нейросети
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ