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

Как правильно передать значения?

01.06.2017, 21:10. Показов 694. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В case 3 пишет |94|error: 'mouth' was not declared in this scope|
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <iostream>
#include <cstring>
#include <iomanip>
#include <stdio.h>
#include<cstdlib>
using namespace std ;
 
class date
{
 
private:
    double day;
    double mouth;
    double year;
 
public:
    
    date ()
    {
        day = 0;
        mouth = 0;
        year = 0;
    }
    void set ()
    {
        cout << endl ;
        cout << "День-   " ;
        cin >> day;
        cout << "Месяц-   " ;
        cin >> mouth ;
        cout << "Год-   " ;
        cin >> year ;
    }
    void get ()
    {
        cout << endl << "====================" << endl <<"|" ;
        printf ( "День || Месяц || Год ||") ;
        cout << endl << "====================" << endl << "| "  ;
 
        cout.width (2);
        cout << day << "  ||  ";
        cout.width (2);
        cout << mouth << "   || ";
        cout.width (4);
        cout << year << " ||";
        cout.width (5);
        cout << endl << "======================" << endl ;
    }
 
} ;
 
 
int main ()
{
    setlocale(LC_CTYPE, "rus");
    short select ;
    short i = -1;
    date obj [1];
    cout << "Привет !! \n\n" ;
    do
    {
        cout << "1: Ввод данных \n" << "2: Просмотр данных \n" << "3: Кол-во дней в мес \n" << "4: Проверка даты \n" << "5: Скок дней от 1 января \n" << "6: Exit \n\n" ;
        do
        {
            cout << "Твой выбор:   " ;
            cin >> select ;
            if (select < 1 || select > 6)
                cout << "Такого нет попробуй ещё \n" << endl ;
        }
        while (select < 1 || select > 6 );
        switch (select)
        {
        case 1:
            i++ ;
            obj[i].set() ;
            system ("pause");
            break;
        case 2:
            if (i == -1)
              {
                  cout << "Ничего нет" << endl ;
                  system ("pause");
                  break;
              }
            for (short j = 0; j <= i; j++ )
                {
                    obj [j].get() ;
                }
            system ("pause");
            break;
        case 3:
            
             if (mouth==1 || mouth==3 || mouth==5 || mouth==7 || mouth==8 || mouth==10 || mouth==12)
             {
                 cout<<"В месяце 31 день";
             }
             else
             {
                 if (mouth==4 || mouth==6 || mouth==9 || mouth==11 )
                 {
                     cout<<"В месяце 30 дней";
                 }
             }
            system ("pause");
            break;
        case 4:
            cout << "Удачи \n" ;
            system ("pause");
            break;
        case 5:
            cout << "Удачи \n" ;
            system ("pause");
            break;
        case 6:
            cout << "Удачи \n" ;
            break;
        }
        system ("cls");
    }
    while (select != 6 );
 
 
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2017, 21:10
Ответы с готовыми решениями:

Как правильно передать значения координат в функцию?
пробовал методом: void Input() { ....... COORD coord; coord.X = 1; coord.Y = 1; ....... int x; int y;

Как правильно передать указатель на структуру, и правильно ее использовать
Я планирую сделать сортировку, но компилятор начал ругаться &quot;Нет существует подходящей функции преобразования &quot;Student&quot; в...

Как правильно передать функцию?
Как правильно передать функцию ? #include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; class pin { private: int...

8
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.06.2017, 21:13
Объект должен быть.
0
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 17
01.06.2017, 21:36  [ТС]
В case не получается объявить
Это в main date objdate; // объявление объекта
а это в case3? objdate.set(day, month, year); // вызов функции класса message
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.06.2017, 21:46
В чём смысл этого пункта? Какой месяц?
0
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 17
01.06.2017, 22:02  [ТС]
мне нужно посчитать кол-во дней в месяце
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
case 3:
            int mouth,year;
            cout<<"Введи месяц";
            cin>>mouth;
            cout<<"Введи год";
            cin>>year;
             if (mouth==1 || mouth==3 || mouth==5 || mouth==7 || mouth==8 || mouth==10 || mouth==12)
             {
                 cout<<"В месяце 31 день ";
             }
             else
             {
                 if (mouth==4 || mouth==6 || mouth==9 || mouth==11 )
                 {
                     cout<<"В месяце 30 дней ";
                 }
                 else
                 {
                     if (mouth==2 & year%400==0)
                     {
                        cout<<"В месяце 28 дней ";
                     }
                     else
                     {
                         cout<<"В месяце 29 дней ";
                     }
                 }
             }
            system ("pause");
            break;
вот так работает но вроде как надо дату 1 раз ввести(ввод в 1 case) в начале а потом её просто прочитать
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.06.2017, 22:04
obj тогда используй. Только зачем там массив, если элемент всего один?
0
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 17
01.06.2017, 22:37  [ТС]
Примерно так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main ()
{
    setlocale(LC_CTYPE, "rus");
 
    short select ;
    short i = -1;
    date *objdate ;
 
 
case 3:
            objdate->set(day, month, year); //инициализация
 
             if()
Добавлено через 16 минут
Поменял на
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
int main ()
{
    setlocale(LC_CTYPE, "rus");
 
    short select ;
    short i = -1;
    date *objdate ;
 
 
case 3:
 
            objdate->set();
 
             int day, mouth, year;
             if (mouth==1 || mouth==3 || mouth==5 || mouth==7 || mouth==8 || mouth==10 || mouth==12)
             {
                 cout<<"В месяце 31 день ";
             }
             else
             {
                 if (mouth==4 || mouth==6 || mouth==9 || mouth==11 )
                 {
                     cout<<"В месяце 30 дней ";
                 }
                 else
                 {
                     if (mouth==2 & year%4==0)
                     {
                        cout<<"В месяце 28 дней ";
                     }
                     else
                     {
                         cout<<"В месяце 29 дней ";
                     }
                 }
             }
            system ("pause");
            break;
но теперь в любом мес всегда 29 дней
0
3 / 3 / 1
Регистрация: 04.06.2016
Сообщений: 101
01.06.2017, 22:53
27 строка
C++
1
if (mouth==2 & year%4==0)
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
02.06.2017, 08:51
KEITA, mouth это рот. Он есть у объекта и у Чеширского Кота. У нас нет кота, поэтому кот может быть такой:
C++
1
if(obj [0].mouth == 4 //и т.п.
А в классе пока сделайте всё паблик. Потому как глядя на set и get не хочется private ни разу. Потом, через время, ещё попробуете.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2017, 08:51
Помогаю со студенческими работами здесь

Как правильно передать массив в функцию?
Возникла такая загвоздка: написал три функции для работы с массивом. Вроде всё компилирует, кроме вызова этих функций, а конкретнее при...

Как правильно передать аргументы в функцию?
Подскажите пожалуйста, как правильно сделать из этого функцию Node *p = new Node; p-&gt;_data = data; p-&gt;_next = temp;...

Как правильно передать ссылку в функцию?
Возник небольшой вопрос по поводу передачи данных в функцию.

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

Как правильно передать индекс элемента массива
if(randNum=a) iNum=i; Нужно получить индекс случайно выбранного элемента массива . Как это правильно сделать ?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru