С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 25.02.2016
Сообщений: 30
1

Исключение для февраля (28 дней)

28.03.2016, 17:01. Показов 1415. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написал код, работает как нужно. Однако задача требует, чтобы для второго месяца (февраля) дни равнялись от 1 до 28. Что нужно дополнить в данном случае?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <conio.h>
 
using namespace std;
 
    int main()
{
    setlocale (0, "");              //Дана дата из трех чисел (день, месяц и год). 
                                    //Вывести yes, если такая дата существует (например, 12 02 1999 - yes, 22 13 2001 - no).
                                    //Считать, что в феврале всегда 28 дней.
    int Day, Month, Year;                           
    char var;           
    
    while(1)
    {
    cout << "Введите день (1-31): ";
    cin >> Day;
    cout << "Введите месяц (01-12): ";
    cin >> Month;
    cout << "Введите год (1900-2100): ";
    cin >> Year;
    cout << Day << " " << Month << " " << Year << endl;
 
    if (Day >= 1 && Day <=31 && Month >= 01 && Month <= 12 && Year >= 1900 && Year <=  2100) 
    cout << "YES!" << endl;
    
    else 
        cout << "NO! Неверная дата." << endl;
    
    cout << "Хотите заново? Если да, нажмите клавишу Enter. \nЕсли нет, нажмите любую клавишу...\n\n";
    var = _getch();
    if (var == char(13))
        continue;
    else if (var != char(13))
        break;
    }
    return 0;   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2016, 17:01
Ответы с готовыми решениями:

Вывести число дней в заданном году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней
11 Дан номер некоторого года (положительное целое число). Вывести число дней в этом году, учитывая,...

Исключение праздничных дней
Добрый день! подскажите как можно сделать что бы при планировании программа исключала...

Вывести число дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней
Дан номер некоторого года (положительное целое число). Вывести число дней в этом году, учитывая,...

Пользователь вводит температуру за 7 дней. Вывести количество теплых дней, количество холодных дней
Пользователь вводит температуру за 7 дней. Вывести количество теплых дней, количество холодных дней...

2
Объявлятель переменных
1220 / 406 / 320
Регистрация: 24.09.2011
Сообщений: 1,274
28.03.2016, 17:12 2
Да тут не только февраль добавлять нужно. Условие полностью переписывать нужно, т.к. сейчас у Вас возможны 31 ноября и 31 же июня.
0
0 / 0 / 1
Регистрация: 25.02.2016
Сообщений: 30
28.03.2016, 17:19  [ТС] 3
Но всё же, что нужно дописать, чтобы именно под февраль действовало исключение, в котором диапазон дней только 1-28, а не 1-31.

Добавлено через 5 минут
Всё, получилось. исходник получился таким.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <conio.h>
 
using namespace std;
 
    int main()
{
    setlocale (0, "");              //Дана дата из трех чисел (день, месяц и год). 
                                    //Вывести yes, если такая дата существует (например, 12 02 1999 - yes, 22 13 2001 - no).
                                    //Считать, что в феврале всегда 28 дней.
    int Day, Month, Year;                           
    char var;           
    
    while(1)
    {
    cout << "Введите день (1-31): ";
    cin >> Day;
    cout << "Введите месяц (01-12): ";
    cin >> Month;
    cout << "Введите год (1900-2100): ";
    cin >> Year;
    cout << Day << " " << Month << " " << Year << endl;
 
    if (Month == 2 && Day >= 1 && Day <= 28)
    {
        cout << "YES!" << endl;
    }
    else if (Day >= 1 && Day <= 31 && Month >= 01 && Month != 02 && Month >=03 && Month <= 12 && Year >= 1900 && Year <=  2100) 
    {
        cout << "YES!" << endl;
    }
    else 
    {   
        cout << "NO! Неверная дата." << endl;
    }
 
    cout << "Хотите заново? Если да, нажмите клавишу Enter. \nЕсли нет, нажмите любую клавишу...\n\n";
    var = _getch();
    if (var == char(13))
        continue;
    else if (var != char(13))
        break;
    }
    return 0;   
}
0
28.03.2016, 17:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2016, 17:19
Помогаю со студенческими работами здесь

23 февраля
Ребята! С праздником !!!

Всех с 23 февраля!) С++
Помогите решить 3 задачи пожайлуста) 1) Удаление элемента из дерева (из одной вершины...

С 23 февраля, мужики!
Все мужское население Киберфорума поздравляю с 23 февраля! В этот день быть особо чтимыми и...

Вычисление с 29 февраля
При вычислении, сегодня ли день рождение у пользователя, столкнулся с такой проблемой: Когда идет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru