Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
#1

Ошибка crosses initialization of - C++

20.06.2012, 02:56. Просмотров 2602. Ответов 11
Метки нет (Все метки)

Решил добавить к своей программе простенькое меню. При компиляции выдает кучу ошибок "crosses initialization of". А также почему то ругается на все case, кроме первого.
Это класс (общий для обоих программ) :
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
#include <iostream>
#include <string>
 
using std::string;
 
class Pat
{
    private :
        int patAge;
        string patName;
    public :
        int GetAge () const;
        void SetAge (int age);
        string GetName () const;
        void SetName (string name);
};
 
int Pat::GetAge () const
{
    return patAge;
}
 
void Pat::SetAge (int age)
{
    patAge=age;
}
 
string Pat::GetName () const
{
    return patName;
}
 
void Pat::SetName (string name)
{
    patName=name;
}
Первая версия программы (без меню, полностью работает) :
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
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
int main ()
{
    setlocale (LC_ALL, "Russian");
    using std::cin;
    using std::cout;
    using std::string;
    using std::ofstream;
    using std::ifstream;
    
    cout<<"Ââåäèòå ГўГ*ГёГҐ èìÿ : ";
    string ownerName;
    getline (cin, ownerName);
    cout<<"Ââåäèòå êîëè÷åñòâî æèâîòГ*ûõ êîòîðûå êîãäГ* ëèáî æèëè Гі ГўГ*Г± : ";
    int amountPats;
    cin>>amountPats;
    
    Pat *objPat=new Pat[amountPats];
    
    for (int i=0; i<amountPats; i++)
    {
        cout<<"Ââåäè èìÿ "<<i+1<<"-ГЈГ® æèâîòГ*îãî : ";
        string patName;
        cin.ignore();
        getline (cin, patName);
        objPat[i].SetName(patName);
        cout<<"Ââåäèòå âîçðГ*Г±ГІ "<<i+1<<"-ГЈГ® æèâîòГ*îãî : ";
        int patAge;
        cin>>patAge;
        objPat[i].SetAge(patAge);
    }
    system("cls");
    cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    cout<<"\nГ‚Г*ГёГҐ èìÿ : "<<ownerName<<"\n";
    cout<<"Êîëè÷åñòâî ГўГ*ГёГЁГµ ïèòîìöåâ : "<<amountPats<<"\n";
    cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    for (int i=0; i<amountPats; i++)
    {
        cout<<"\nГ„Г*Г*Г*ûå "<<i+1<<"-ГЈГ® ïèòîìöГ* :\n";
        cout<<"Èìÿ : "<<objPat[i].GetName()<<"\n";
        cout<<"ÂîçðГ*Г±ГІ (ïîëГ*ûõ ëåò) : "<<objPat[i].GetAge()<<"\n";
        cout<<"----------------------------------------------";
    }
    cout<<"\n";
    ofstream writeFile;
    writeFile.open ("proba.txt");
    writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    writeFile<<"\nГ‚Г*ГёГҐ èìÿ : "<<ownerName<<"\n";
    writeFile<<"Êîëè÷åñòâî ГўГ*ГёГЁГµ ïèòîìöåâ : "<<amountPats<<"\n";
    writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    for (int i=0; i<amountPats; i++)
    {
        writeFile<<"\nГ„Г*Г*Г*ûå "<<i+1<<"-ГЈГ® ïèòîìöГ* :\n";
        writeFile<<"Èìÿ : "<<objPat[i].GetName()<<"\n";
        writeFile<<"ÂîçðГ*Г±ГІ (ïîëГ*ûõ ëåò) : "<<objPat[i].GetAge()<<"\n";
        writeFile<<"----------------------------------------------";
    }
    writeFile.close();
    system("pause");
    delete [] objPat;
    system("cls");
    ifstream is("proba.txt");
    string fileContain;
    while (!is.eof())
    {
        getline (is, fileContain, '\n');
        cout<<fileContain<<"\n";
    }
    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
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
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
int menu();
 
int main ()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit;
    exit=false;
    
    for ( ; ; )
    {
        int choice=0;
        if (choice==1 || choice==3)
        {
            delete [] objPat;
        }
        choice=menu();
        switch (choice)
        {
            case 1:
                cout<<"Ââåäèòå ГўГ*ГёГҐ èìÿ : ";
                string ownerName;
                getline (cin, ownerName);
                cout<<"Ââåäèòå êîëè÷åñòâî æèâîòГ*ûõ êîòîðûå êîãäГ* ëèáî æèëè Гі ГўГ*Г± : ";
                int amountPats;
                cin>>amountPats;
    
                Pat *objPat=new Pat[amountPats];
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Ââåäè èìÿ "<<i+1<<"-ГЈГ® æèâîòГ*îãî : ";
                    string patName;
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Ââåäèòå âîçðГ*Г±ГІ "<<i+1<<"-ГЈГ® æèâîòГ*îãî : ";
                    int patAge;
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nГ‚Г*ГёГҐ èìÿ : "<<ownerName<<"\n";
                cout<<"Êîëè÷åñòâî ГўГ*ГёГЁГµ ïèòîìöåâ : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nГ„Г*Г*Г*ûå "<<i+1<<"-ГЈГ® ïèòîìöГ* :\n";
                    cout<<"Èìÿ : "<<objPat[i].GetName()<<"\n";
                    cout<<"ÂîçðГ*Г±ГІ (ïîëГ*ûõ ëåò) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
            case 2:
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nГ‚Г*ГёГҐ èìÿ : "<<ownerName<<"\n";
                writeFile<<"Êîëè÷åñòâî ГўГ*ГёГЁГµ ïèòîìöåâ : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nГ„Г*Г*Г*ûå "<<i+1<<"-ГЈГ® ïèòîìöГ* :\n";
                    writeFile<<"Èìÿ : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"ÂîçðГ*Г±ГІ (ïîëГ*ûõ ëåò) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
            case 3:
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
            case 4:
                exit=true;
                break;
            default:
                cout<<"Ââåäèòå ГЇГ°Г*âèëüГ*ûé Г*îìåð Г*ГіГ¦Г*îãî ГЇГіГ*ГЄГІГ*!\n";
                break;
        }
        if (exit==true)
        {
            break;
        }
    }
  return 0;  
}
 
int menu()
{
    int choice;
    cout<<"                     ГЊГ…ГЌГћ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. ГЌГ*Г·Г*ГІГј Г§Г*ïîëГ*ГҐГ*ГЁГҐ ГІГ*áëèöè\n";
    cout<<"2. Г‡Г*ГЇГЁГ±Г*ГІГј ГІГ*áëèöó Гў ГґГ*éë\n";
    cout<<"3. Ñ÷èòГ*ГІГј ГІГ*áëèöó ГЁГ§ ГґГ*éëГ*\n";
    cout<<"4. Âûõîä\n";
    cout<<"----------------------------------------------\n";
    cout<<"Ââåäèòå Г*îìåð Г*ГіГ¦Г*îãî ГЇГіГ*ГЄГІГ* : ";
    cin>>choice;
    return choice;
}
Буду признателен за помощь, потому что сам пока не в силах с этим разобратся.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 02:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка crosses initialization of (C++):

Ошибка: "jump to case label crosses initialization of" - C++
Проблема в фунциии prim начиная с ветки case NAME. Пишу в CodeBlocks+MinGW. #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;map&gt; ...

Initialization list - ошибка - C++
class Polynomial { public: Polynomial():head_(NULL):grade_(-1){}; private: List* head_; int...

Ошибка initialization of 'element' is skipped by 'case' label - C++
Во первый заранее извиняюсь если не правильно создал тему, я здесь впервые и не знаю как выбрать раздел. Объясните что за ошибка и как её...

Ошибка: error C2360: initialization of 'mat_C' is skipped by 'case' label - C++
Выдаёт такие ошибки: 1&gt;c:\users\данила\documents\visual studio 2005\projects\кур22222\кур22222\кур22222.cpp(101) : error C2360:...

Внутри switch ошибка Case bypasses initialization of a local variable - C++
Компилятор не устраивает case 3, там ввод массива автоматически , в чем ошибка подскажите Ошибку пишет Case bypasses initialization of a...

Crosses vs. Toe - C++
Уважаемые опытные товарищи программисты не могли бы посмотреть код популярной игры Крестики-нолики и прокомментировать, вроде всё работает,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 03:04 #2

Не по теме:

Ну для начало нужно было бы изучить указатели или глобальные переменные да хотя лан)нормально



C++ (Qt)
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
126
127
128
129
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
int menu();
 
int main ()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit = false;
    
    for ( ; ; )
    {
        int choice=menu();
        if (choice==1 || choice==3)
        {
            delete [] objPat;
        }
        switch (choice)
        {
            case 1:
{
                cout<<"Введите ваше имя : ";
                string ownerName;
                getline (cin, ownerName);
                cout<<"Введите количество животных которые когда либо жили у вас : ";
                int amountPats;
                cin>>amountPats;
    
                Pat *objPat=new Pat[amountPats];
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Введи имя "<<i+1<<"-го животного : ";
                    string patName;
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Введите возраст "<<i+1<<"-го животного : ";
                    int patAge;
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nВаше имя : "<<ownerName<<"\n";
                cout<<"Количество ваших питомцев : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nДанные "<<i+1<<"-го питомца :\n";
                    cout<<"Имя : "<<objPat[i].GetName()<<"\n";
                    cout<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
}
            case 2:
{
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nВаше имя : "<<ownerName<<"\n";
                writeFile<<"Количество ваших питомцев : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nДанные "<<i+1<<"-го питомца :\n";
                    writeFile<<"Имя : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
}
            case 3:
{
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
            case 4:
{
                exit=true;
                break;
}
}
            default:
{
                cout<<"Введите правильный номер нужного пункта!\n";
                break;
}
        }
        if (exit==true)
        {
            break;
        }
    }
  return 0;  
}
 
int menu()
{
    int choice;
    cout<<"                     МЕНЮ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. Начать заполнение таблици\n";
    cout<<"2. Записать таблицу в файл\n";
    cout<<"3. Считать таблицу из файла\n";
    cout<<"4. Выход\n";
    cout<<"----------------------------------------------\n";
    cout<<"Введите номер нужного пункта : ";
    cin>>choice;
    return choice;
}
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
20.06.2012, 03:07 #3
описание класса в заголовочный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
//"classPat.h"
class Pat
{
    private :
        int patAge;
        string patName;
    public :
        int GetAge () const;
        void SetAge (int age);
        string GetName () const;
        void SetName (string name);
};
а реализацию в сишный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//"classPat.с"
#include "classPat.h"
int Pat::GetAge () const
{
    return patAge;
}
 
void Pat::SetAge (int age)
{
    patAge=age;
}
 
string Pat::GetName () const
{
    return patName;
}
 
void Pat::SetName (string name)
{
    patName=name;
}
ну и подключить их в проекте
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 03:10 #4
Попробуйте скомпилить

C++ (Qt)
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
126
127
128
129
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
int menu();
 
int main ()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit = false;
    
    for ( ; ; )
    {
        int choice=menu();
        if (choice==1 || choice==3)
        {
            delete [] objPat;
        }
        switch (choice)
        {
            case 1:
{
                cout<<"Введите ваше имя : ";
                string ownerName;
                getline (cin, ownerName);
                cout<<"Введите количество животных которые когда либо жили у вас : ";
                int amountPats;
                cin>>amountPats;
    
                Pat *objPat=new Pat[amountPats];
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Введи имя "<<i+1<<"-го животного : ";
                    string patName;
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Введите возраст "<<i+1<<"-го животного : ";
                    int patAge;
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nВаше имя : "<<ownerName<<"\n";
                cout<<"Количество ваших питомцев : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nДанные "<<i+1<<"-го питомца :\n";
                    cout<<"Имя : "<<objPat[i].GetName()<<"\n";
                    cout<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
}
            case 2:
{
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nВаше имя : "<<ownerName<<"\n";
                writeFile<<"Количество ваших питомцев : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nДанные "<<i+1<<"-го питомца :\n";
                    writeFile<<"Имя : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
}
            case 3:
{
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
            case 4:
{
                exit=true;
                break;
}
}
            default:
{
                cout<<"Введите правильный номер нужного пункта!\n";
                break;
}
        }
        if (exit==true)
        {
            break;
        }
    }
  return 0;  
}
 
int menu()
{
    int choice;
    cout<<"                     МЕНЮ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. Начать заполнение таблици\n";
    cout<<"2. Записать таблицу в файл\n";
    cout<<"3. Считать таблицу из файла\n";
    cout<<"4. Выход\n";
    cout<<"----------------------------------------------\n";
    cout<<"Введите номер нужного пункта : ";
    cin>>choice;
    return choice;
}
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
20.06.2012, 03:15  [ТС] #5
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Попробуйте скомпилить

C++ (Qt)
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
126
127
128
129
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
int menu();
 
int main ()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit = false;
    
    for ( ; ; )
    {
        int choice=menu();
        if (choice==1 || choice==3)
        {
            delete [] objPat;
        }
        switch (choice)
        {
            case 1:
{
                cout<<"Введите ваше имя : ";
                string ownerName;
                getline (cin, ownerName);
                cout<<"Введите количество животных которые когда либо жили у вас : ";
                int amountPats;
                cin>>amountPats;
    
                Pat *objPat=new Pat[amountPats];
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Введи имя "<<i+1<<"-го животного : ";
                    string patName;
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Введите возраст "<<i+1<<"-го животного : ";
                    int patAge;
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nВаше имя : "<<ownerName<<"\n";
                cout<<"Количество ваших питомцев : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nДанные "<<i+1<<"-го питомца :\n";
                    cout<<"Имя : "<<objPat[i].GetName()<<"\n";
                    cout<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
}
            case 2:
{
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nВаше имя : "<<ownerName<<"\n";
                writeFile<<"Количество ваших питомцев : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nДанные "<<i+1<<"-го питомца :\n";
                    writeFile<<"Имя : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
}
            case 3:
{
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
            case 4:
{
                exit=true;
                break;
}
}
            default:
{
                cout<<"Введите правильный номер нужного пункта!\n";
                break;
}
        }
        if (exit==true)
        {
            break;
        }
    }
  return 0;  
}
 
int menu()
{
    int choice;
    cout<<"                     МЕНЮ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. Начать заполнение таблици\n";
    cout<<"2. Записать таблицу в файл\n";
    cout<<"3. Считать таблицу из файла\n";
    cout<<"4. Выход\n";
    cout<<"----------------------------------------------\n";
    cout<<"Введите номер нужного пункта : ";
    cin>>choice;
    return choice;
}
На некоторые case перестало ругаться, а так тоже самое все.

Добавлено через 21 секунду
Цитата Сообщение от ValeryS Посмотреть сообщение
описание класса в заголовочный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
//"classPat.h"
class Pat
{
    private :
        int patAge;
        string patName;
    public :
        int GetAge () const;
        void SetAge (int age);
        string GetName () const;
        void SetName (string name);
};
а реализацию в сишный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//"classPat.с"
#include "classPat.h"
int Pat::GetAge () const
{
    return patAge;
}
 
void Pat::SetAge (int age)
{
    patAge=age;
}
 
string Pat::GetName () const
{
    return patName;
}
 
void Pat::SetName (string name)
{
    patName=name;
}
ну и подключить их в проекте
без толку
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 03:35 #6
Ну сча все ок должно быть

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
126
127
128
129
130
#include "classPat.h"
#include <stdlib.h>
#include <fstream>
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
int menu();
 
int main ()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit = false;
    
    for ( ; ; )
    {
        int choice=menu();
        if (choice == 1 || chouce == 3)
        {
            delete [] objPat;
        }
        switch (choice)
        {
            case 1:
{
                cout<<"Введите ваше имя : ";
                string ownerName;
                getline (cin, ownerName);
                cout<<"Введите количество животных которые когда либо жили у вас : ";
                int amountPats;
                cin>>amountPats;
    
                Pat *objPat=new Pat[amountPats];
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Введи имя "<<i+1<<"-го животного : ";
                    string patName;
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Введите возраст "<<i+1<<"-го животного : ";
                    int patAge;
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nВаше имя : "<<ownerName<<"\n";
                cout<<"Количество ваших питомцев : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nДанные "<<i+1<<"-го питомца :\n";
                    cout<<"Имя : "<<objPat[i].GetName()<<"\n";
                    cout<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
}
            case 2:
{
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nВаше имя : "<<ownerName<<"\n";
                writeFile<<"Количество ваших питомцев : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nДанные "<<i+1<<"-го питомца :\n";
                    writeFile<<"Имя : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
}
            case 3:
{
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
}
            case 4:
                {
                exit=true;
                break;
                }
            default:
                {
                cout<<"Введите правильный номер нужного пункта!\n";
                break;
                }
    
        
        if (exit==true)
        {
            break;
        }
    }
  return 0;  
}
 
int menu()
{
    int choice;
    cout<<"                     МЕНЮ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. Начать заполнение таблици\n";
    cout<<"2. Записать таблицу в файл\n";
    cout<<"3. Считать таблицу из файла\n";
    cout<<"4. Выход\n";
    cout<<"----------------------------------------------\n";
    cout<<"Введите номер нужного пункта : ";
    cin>>choice;
    return choice;
}
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
20.06.2012, 03:40  [ТС] #7
Получились другие ошибки :

C++
1
2
3
4
5
6
7
8
C:\Documents\xqxqw.cpp In function 'int main()'::
23 C:\Documents\xqxqw.cpp:24 'objPat' was not declared in this scope
45 C:\Documents\xqxqw.cpp:70 'ownerName' was not declared in this scope
60 C:\Documents\xqxqw.cpp:71 'amountPats' was not declared in this scope
42 C:\Documents\xqxqw.cpp:76 'objPat' was not declared in this scope
27 C:\Documents\xqxqw.cpp:82 'objPat' was not declared in this scope
1 C:\Documents\xqxqw.cpp:118 a function-definition is not allowed here before '{' token
1 C:\Documents\xqxqw.cpp:118 a function-definition is not allowed here before '{' token
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 04:01 #8
XpertVision
Вся ошибка в том что локальные переменные не могут быть вызваны из не локала...

А так же нельзя сразу записать что то если этого нету...Не правильно программа построена...

Щас 10 мин,переделаю программу..


C++ (Qt)
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <string> 
 
using std::cin;
using std::cout;
using std::string;
using std::ofstream;
using std::ifstream;
 
class Pat
{
    private :
        int patAge;
        string patName;
    public :
        int GetAge () const;
        void SetAge (int age);
        string GetName () const;
        void SetName (string name);
};
int Pat::GetAge () const
{
    return patAge;
}
 
void Pat::SetAge (int age)
{
    patAge=age;
}
 
string Pat::GetName () const
{
    return patName;
}
 
void Pat::SetName (string name)
{
    patName=name;
}
 
int menu();
int main()
{  
    setlocale (LC_ALL, "Russian");
    
    bool exit = false;
    string ownerName;
    string patName;
    int amountPats = 1;
    int patAge;
    Pat *objPat=new Pat[amountPats];
 
    
    for ( ; ; )
    {
        int choice=menu();
        switch (choice)
        {
            case 1:
{
                cout<<"Введите ваше имя : ";
                cin >> ownerName;
                cout<<"Введите количество животных которые когда либо жили у вас : ";
                cin>>amountPats;
                
    
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"Введи имя "<<i+1<<"-го животного : ";
                    
                    cin.ignore();
                    getline (cin, patName);
                    objPat[i].SetName(patName);
                    cout<<"Введите возраст "<<i+1<<"-го животного : ";
                    cin>>patAge;
                    objPat[i].SetAge(patAge);
                }
                system("cls");
                cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                cout<<"\nВаше имя : "<<ownerName<<"\n";
                cout<<"Количество ваших питомцев : "<<amountPats<<"\n";
                cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    cout<<"\nДанные "<<i+1<<"-го питомца :\n";
                    cout<<"Имя : "<<objPat[i].GetName()<<"\n";
                    cout<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    cout<<"----------------------------------------------";
                }
                break;
}
            case 2:
{
                ofstream writeFile;
                writeFile.open ("proba.txt");
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                writeFile<<"\nВаше имя : "<<ownerName<<"\n";
                writeFile<<"Количество ваших питомцев : "<<amountPats<<"\n";
                writeFile<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
                for (int i=0; i<amountPats; i++)
                {
                    writeFile<<"\nДанные "<<i+1<<"-го питомца :\n";
                    writeFile<<"Имя : "<<objPat[i].GetName()<<"\n";
                    writeFile<<"Возраст (полных лет) : "<<objPat[i].GetAge()<<"\n";
                    writeFile<<"----------------------------------------------";
                }
                writeFile.close();
                system("pause");
                delete [] objPat;
                break;
}
            case 3:
{
                ifstream is("proba.txt");
                string fileContain;
                while (!is.eof())
                {
                    getline (is, fileContain, '\n');
                     cout<<fileContain<<"\n";
                }
                system("pause");
                break;
}
            case 4:
                {
                exit=true;
                return 0;
                break;
                }
            default:
                {
                cout<<"Введите правильный номер нужного пункта!\n";
                break;
                }
    
        
        if (exit==true)
        {
            break;
        }
    } 
}
return 0;    
}
 
int menu()
{
    int choice;
    cout<<"                     МЕНЮ                     \n";
    cout<<"----------------------------------------------\n";
    cout<<"1. Начать заполнение таблици\n";
    cout<<"2. Записать таблицу в файл\n";
    cout<<"3. Считать таблицу из файла\n";
    cout<<"4. Выход\n";
    cout<<"----------------------------------------------\n";
    cout<<"Введите номер нужного пункта : ";
    cin>>choice;
    return choice;
}
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
20.06.2012, 04:14  [ТС] #9
Спсибо. Скомпилировалось, есть конечно уйма недоработак, но хоть теперь понятно где была моя ошибка, пойду переделывать свой код.)
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 04:20 #10
XpertVision
Да не за что

Да программка конечно,что называется голая )))Наверное не давно с ООП познакомились ))

а по коду,нужна что бы сначало 1,прям сразу выполнилась для того что бы objPat сразу был иницилизирован Ф
И потом тока давать шанс Записать в фаил,и прочесть с него
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
20.06.2012, 04:23  [ТС] #11
Да я С++ по сути месяц как учу и то не спеша и с перерывами.)
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
20.06.2012, 04:24 #12
XpertVision
А ну тогда все норм,многоОоО еще впереди Но Указатели рулят ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 04:24
Привет! Вот еще темы с ответами:

Ошибка "ANSI C++ forbids implicit conversion from void* in initialization" - C++
код списка с последовательным хранением рабочий (взят из лабы).но там и cnt и bilet *list - переменные глобальные.я добавил функцию...

Ошибка компиляции "forbids in-class initialization of non-const static member" - C++
Доброго времени суток! Прошу помощи, так как сам понять в чем проблема не могу. Имею вот такой код: #include &quot;iostream&quot; ...

Error C2374: 'i' : redefinition; multiple initialization - C++
помогите, пожалуйста, исправить ошибку error C2374: 'i' : redefinition; multiple initialization вот как выглядит задание Определить...

Вектора. Сложение и direct-list-initialization - C++
1. Если объявляю перед main(): #include &lt;vector&gt; using namespace std; std::vector&lt; char &gt;_vSendData; _vSendData.push_back(0x80); ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2012, 04:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru