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

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

01.06.2017, 21:10. Показов 703. Ответов 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
9006 / 4707 / 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru