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

Вывести на экран предыдущий и последующий месяц введенной цирфы

27.02.2019, 17:21. Показов 2414. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс Месяц в нем должны быть месяцы с их номерами. Вывести на экран предыдущий и последующий месяц введенной цирфы. И при вводе например цифры 3 результат должен быть таким:
2-Февраль 4-Апрель
я решил это через switch, но препод хочет через класс
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2019, 17:21
Ответы с готовыми решениями:

Проверить, больше ли каждый последующий элемент массива, чем предыдущий
Подскажите пожалуйста, уперлась в проблему понимания массивов. Точнее что такое массив я, вроде понимаю, понимаю как его вывести,...

Вывести данные за предыдущий месяц
Доброго времени суток. Есть таблица с показаниями счетчика воды. Чтобы узнать показания на текущий месяц запрос такой select , , ...

Как вывести дату за предыдущий месяц в виде 06/15 ?
Подскажите как вывести дату за предыдущий месяц в виде 06/15????

8
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
27.02.2019, 17:28
А какая цифра для 10 -12 месяцев, как в hex (A,B,C)?
0
0 / 0 / 0
Регистрация: 12.12.2017
Сообщений: 43
27.02.2019, 17:32  [ТС]
какой еще hex, при 12 вылезает 11 Нояб 1 Январь
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
27.02.2019, 18:28
12 - это не цифра, а число.
Для отображения 12 месяцев с помощью только одной цифры нужна 12-ичная система счисления.
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
#include <iostream>
#include <clocale>
using namespace std;
class Months
{
    const char* names[12]= { "Янв","Фев","Март","Апрель", "Май", "Июнь", "Июль", "Август", "Сент", "Окт", "Нояб", "Дек" };
public:
    const char* Get(int n)
    {
        if (n >= 1 && n <= 12)
           return names[n - 1];
        return "";
    }
    void DispalyNextPrev(char digit)
    {
        int n;
        if (digit >= '1' && digit <= '9')
            n = digit - '0';
        else if (digit >= 'A' && digit <= 'C')
            n = digit - 'A' + 10;
        else
            n = 0;
        cout << n - 1 <<' '<<Get(n - 1) << ' ' << n + 1 <<' ' << Get(n + 1) << endl;
    }
};
int main() {
    setlocale(LC_ALL, "Rus");
    cout << "Введите цифру соответствующую номеру месяца (1-9,A,B,C):";
    char c; cin >> c;
    Months mm;
    mm.DispalyNextPrev(c);
    system("pause");
    return 0;
}
Ну, а ежели под словом "цифра" Вы подразумевали "Число", то все проще
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
#include <iostream>
#include <clocale>
using namespace std;
class Months
{
    const char* names[12]= { "Янв","Фев","Март","Апрель", "Май", "Июнь", "Июль", "Август", "Сент", "Окт", "Нояб", "Дек" };
public:
    const char* Get(int n)
    {
        if (n >= 1 && n <= 12)
           return names[n - 1];
        return "";
    }
    void DispalyNextPrev(int n)
    {
        if (n < 1)
            n = 1;
        else if ( n > 12)
            n =12;
        cout << n - 1 <<' '<<Get(n - 1) << ' ' << n + 1 <<' ' << Get(n + 1) << endl;
    }
};
int main() {
    setlocale(LC_ALL, "Rus");
    cout << "Введите номер месяца (1-12):";
    int c; cin >> c;
    Months mm;
    mm.DispalyNextPrev(c);
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 12.12.2017
Сообщений: 43
28.02.2019, 14:13  [ТС]
попробовал эту программу на онлайн компиляторе, но результат выходит только при числе 1, и то просто цифра 0 и 2, остальные не дают результат.
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
28.02.2019, 15:31
Алиби нагметов, вот подкорректировал:
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
#include <iostream>
#include <clocale>
using namespace std;
class Months
{
    const char* names[12]= { "Янв","Фев","Март","Апрель", "Май", "Июнь", "Июль", "Август", "Сент", "Окт", "Нояб", "Дек" };
public:
    const char* Get(int n)
    {
        return names[n];
    }
    void DispalyNextPrev(int n)
    {
        if (n < 1 || n > 12){
            cout<<"неправилный номер месяца"<<endl;
            return;
        }
        cout << (n-2+12)%12+1 <<' '<<Get((n-2+12)%12) << ' ' << (n+12)%12+1 <<' ' << Get((n+12)%12) << endl;
    }
};
int main() {
    setlocale(LC_ALL, "Rus");
    cout << "Введите номер месяца (1-12):";
    int c; cin >> c;
    Months mm;
    mm.DispalyNextPrev(c);
    system("pause");
    return 0;
}
1
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
28.02.2019, 15:32
Приведите код, который Вы компилируете.
Я уверен, что он не соответствует приведенному мной.
0
0 / 0 / 0
Регистрация: 12.12.2017
Сообщений: 43
01.03.2019, 12:04  [ТС]
вчера на вижуале 2012 и онлайн компиляторе все отлично работало, но сегодня в универе 4 ошибок
Ошибка 1 error C2059: синтаксическая ошибка: { c:\users\user\documents\visual studio 2010\projects\classalibi\classalibi\clas salibi.cpp 10 1 ClassAlibi
Ошибка 2 error C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции c:\users\user\documents\visual studio 2010\projects\classalibi\classalibi\clas salibi.cpp 10 1 ClassAlibi
Ошибка 3 error C2065: names: необъявленный идентификатор c:\users\user\documents\visual studio 2010\projects\classalibi\classalibi\clas salibi.cpp 15 1 ClassAlibi
4 IntelliSense: использование инициализатора элемента данных не допускается c:\users\user\documents\visual studio 2010\projects\classalibi\classalibi\clas salibi.cpp 10 26 ClassAlibi
это код Сергея Сергеевичка с числами
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,233
01.03.2019, 15:11
C++ v99 не допускает инициализацию при объявлении.
Сделайте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Months
{
    static const char* names[12];
public:
    const char* Get(int n)
    {
        if (n >= 1 && n <= 12)
            return names[n - 1];
        return "";
    }
    void DispalyNextPrev(int n)
    {
        if (n < 1)
            n = 1;
        else if (n > 12)
            n = 12;
        cout << n - 1 << ' ' << Get(n - 1) << ' ' << n + 1 << ' ' << Get(n + 1) << endl;
    }
};
const char* Months::names[12] = { "Янв","Фев","Март","Апрель", "Май", "Июнь", "Июль", "Август", "Сент", "Окт", "Нояб", "Дек" };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2019, 15:11
Помогаю со студенческими работами здесь

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

Составить программу, которая бы определяла предыдущий и последующий символ для символа F по таблице кодировки
Добрый день . Прошу помочь не могу разобраться с задачей в консоле . Вот задание. Составить программу , которая бы определяла...

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

Определить предыдущий и последующий символ для символа "F" по таблице кодировки.
Задание 2 Составить программу, которая бы определила предыдущий и последующий символ для сим-вола ‘F’ по таблице кодировки. Определить...

DataTimePicker предыдущий месяц
Еще один легкий вопрос. Есть два DataTimePicker'a. Начальная дата и сегоднешняя. Задачка в том чтобs нажатием одной кнопки настроить оба...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru