Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 06.02.2018
Сообщений: 21

Switch case. Создать программу, которая будет отнимать от заданной даты 1 день

06.02.2018, 23:55. Показов 2331. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи!Нужна ваша помощь. Завис на данной задаче, не могу преодолеть её. Знаю, на форуме куча решений, но не могу подогнать их под себя, помогите, пожалуйста
Задача:

Дата некоторого дня характеризуется тремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить: дату предыдущего дня. Рассмотреть случай, что заданный год не является високосным.

P.S. Если можно, то в примерно таком стиле
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include<iostream> //подключаем библиотеку для работы с cin и cout
using namespace std; //используем пространство std для более удобной работы с cin и сout
 
 
void main()
{
    setlocale(LC_ALL, "ru"); // Русификатор
 
    int m, k;
    cout << "Введите масть карты: " << endl; // выводим сообщение
    cin >> m;  // захватываем значение с клавиатуры и записываем в переменную
 
    cout << "Введите достоинство карты: " << endl; // выводим сообщение
    cin >> k;  // захватываем значение с клавиатуры и записываем в переменную
 
    switch (m) // множественный выбор
    {
    case 6:
        cout << "Шестёрка ";
        break;
 
    case 7:
        cout << "Семёрка ";
        break;
 
    case 8:
        cout << "Восьмёрка ";
        break;
 
    case 9:
        cout << "Девятка ";
        break;
 
    case 10:
        cout << "Десятка ";
        break;
 
    case 11:
        cout << "Валет ";
        break;
 
    case 12:
        cout << "Дама ";
        break;
 
    case 13:
        cout << "Король ";
        break;
 
    case 14:
        cout << "Туз ";
        break;
 
    default: // в случае неверного ввода
        cout << "Ошибка! Выбранное достоиснство отсутствует!" << endl;
        break;
    }
    switch (k) // множественный выбор
    {
    case 1:
        cout << "пик" << endl;
        break;
    case 2:
        cout << "треф" << endl;
        break;
    case 3:
        cout << "бубн" << endl;
        break;
    case 4:
        cout << "червы" << endl;
        break;
 
    default: // в случае неверного ввода
        cout << "Ошибка! Выбранная масть отсутствует!" << endl;
        break;
    }
    system("pause>>null"); //запрос нажатия кнопки
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2018, 23:55
Ответы с готовыми решениями:

Написать программу, которая будет складывать нечетные числа и отнимать четные. Вывести результат для первых 15
Написать программу, которая будет складывать нечетные числа и отнимать четные. Вывести результат для первых 15 чисел.

Создать кнопку, при нажатии которой будет определен день недели для введенной даты
Я делаю так: Private Sub Êíîïêà_Click() Dim d As String d = InputBox(&quot;Ââåäèòå äàòó&quot;) Select Case d Case 1 Me.Íåäåëÿ.Caption =...

Составить программу, запрашивающую ваш рост и вес, которая далее рассчитывает индекс массы тела (операторы SWITCH-CASE)
Необходимо составить программу запрашивающую ваш рост и вес, далее рассчитывает индекс массы тела (bmi), выдает его значение и определяет...

5
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
07.02.2018, 00:49
Можно сделать с time_t без всякий switch case
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <ctime>
#include <iomanip>
 
int main()
{
    setlocale(LC_ALL, "rus");
    struct tm date;
    std::cout << "Год: "; std::cin >> date.tm_year; date.tm_year -= 1900;
    std::cout << "Месяц: "; std::cin >> date.tm_mon; date.tm_mon -= 1;
    std::cout << "День: "; std::cin >> date.tm_mday;
    date.tm_hour = 0; date.tm_min = 0; date.tm_sec = 0;
    time_t minusday = mktime(&date) - 24 * 60 * 60;
    struct tm * newdate = localtime(&minusday);
    std::cout << "Предыдущий день: " << std::put_time(newdate, "%d.%m.%y") << "\n";
    system("pause");
}
0
0 / 0 / 0
Регистрация: 06.02.2018
Сообщений: 21
07.02.2018, 01:22  [ТС]
Дружище, надо именно через case реализовать, задание такое. И если тебе не трудно можешь как у меня текстуру строк сделать
0
0 / 0 / 0
Регистрация: 06.02.2018
Сообщений: 21
10.02.2018, 20:02  [ТС]
Ребят, помогите, пожалуйста, с задачей через case
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
10.02.2018, 20:33
Лучший ответ Сообщение было отмечено 5304319 как решение

Решение

5304319, лови:
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
46
47
48
#include <iostream>
#include <conio.h>
using namespace std;
int is_leap_year(int year){
    return(year%100==0)?(year%400==0):(year%4==0);
}
int main(){
    int g, m, n;
    cout << "Vvedite god: ";
    cin >> g;
    cout << "Vvedite mecyac: ";
    cin >> m;
    cout << "Vvedite den': ";
    cin >> n;
    switch(n){
        case 1:
        switch(m){
            case 1:
                g--;
                m=12;
                n=31;
                break;
            default:
                m--;
            switch(m){
                case 2:
                    if(is_leap_year(g)) n=29;
                    else n=28;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    n=30;
                    break;
                default:
                    n=31;
                    break;
            }
        }
            break;
        default:
            n--;
    }
    cout << "Vchera byl: " << g << " god " << m << " mecyac " << n << " den/n";
    _getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 06.02.2018
Сообщений: 21
10.02.2018, 22:42  [ТС]
КулХацкеръ, спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2018, 22:42
Помогаю со студенческими работами здесь

Написать программу, которая будет показывать следующий день на определенным формате
помагите пожалуста написать программу которое будет показывать следующий день на определенным формате например 2 01.12.2009 GENERAL...

Создать функцию которая считает дни до конца года от заданной даты
Подсчитать кол-во дней от начала года до заданной даты. Создать функцию которая считает дни до конца года от заданной даты.

Преобразовать программу в switch case
int main() { using namespace std; float y,x; cout &lt;&lt; &quot;Vvedite x=&quot;; cin &gt;&gt; x; if (2*x+2&lt;0) cout &lt;&lt; &quot;x=&quot; &lt;&lt; x &lt;&lt;&quot; ne vhodit...

Написать программу, которая будет реализовывать табулирование функции для заданной системы уравнений
Написать программу, которая будет реализовывать табулирование функции для заданной системы уравнений на числовом промежутке с шагом р ....

Создать программу, которая будет имитировать склад
Создать программу, которая будет имитировать склад Надо создать классы Работники, Отделы, Склад. Класс Отделы содержит динамический...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru