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

Г.Шилдт. С учебника урок не выполняется - C++

Восстановить пароль Регистрация
 
lrbis
Сообщений: n/a
14.12.2012, 00:12     Г.Шилдт. С учебника урок не выполняется #1
Взялся за учебник Шилдта, всё вроде понятно, в качестве примера там приведена программа, я её написал, но вот незадача, выдаёт ошибку и одну и туже в разных строках. на фоуме к сожалению ответа не нашёл, очень надеюсь на вас
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
#include <iostream>
#include <cstring>
#include <clocale>
 
using namespace std;
 
enum yn {no,yes};//Тип yn варианты no,yes
enum color{red,yellow,green,orange};//Тип color
 
void out (enum yn x);
 
char *c[]= {"red","yellow","green","orange"};
 
//Родовой класс фруктов
class fruit {
//В этом базовом классе все элементы открыты
public:
    enum yn annual;
    enum yn perennial;
    enum yn tree;
    enum yn tropical;
    enum color clr;
    char name [40];
};
 
//Производный класс яблок
class Apple: public fruit{
    enum yn cooking;
    enum yn crunchy;
    enum yn eating;
public:
    void seta(char *n, enum color c, enum yn ck, enum yn crchy,
              enum yn e);
    void show();
};
 
//Производный класс апельсинов
class Orange: public fruit {
    enum yn luice;
    enum yn sour;
    enum yn eating;
public:
    void seto(char *n, enum color c, enum yn j, enum yn sr, enum yn e);
    void show();
};
 
void Apple::seta(char *n, enum color, enum yn j, enum yn sr, enum yn e)
{
    strcpy(name, n);
    annual = no;
    perennial = yes;
    tree = yes;
    tropical = no;
    clr = color;
    cooking = ck;
    crunchy = crchy;
    eating = e;
}
 
void Orange::seto(char *n, enum color c, enum yn j,enum yn sr, enum yn e)
{
    strcpy(name, n);
    annual = no;
    perennial = yes;
    tree = yes;
    tropical = yes;
    clr = c;
    cooking = j;
    crunchy = sr;
    eating = e;
}
 
void Apple::show()
{
    cout<<name<<"Яблоко - это: "<<"\n";
    cout<<"Однолетнее растение: "; out(annual);
    cout<<"Многолетнее растение: "; out(perennial);
    cout<<"Дерево: "; out(tree);
    cout<<"Тропическое: "; out(tropical);
    cout<<"Цвет: " << c[clr] << "\n";
    cout<<"Легко приготавливается: "; out(cooking);
    cout<<"Хрустит на зубах: "; out(crunchy);
    cout<<"Съедобное: "; out(eating);
    cout<<"\n";
}
 
void Orande::show()
{
    cout<< name << "Апельсин - это: " << "\n";
    cout<<"Однолетнее растение: "; out(annual);
    cout<<"Многолетнее растение: "; out(perennial);
    cout<<"Дерево: "; out(tree);
    cout<<"Тропическое: "; out(tropical);
    cout<<"Цвет: " << c[clr] << "\n";
    cout<<"Годится для приготовления сока: "; out(juice);
    cout<<"Кислый: "; out(sour);
    cout<<"Съедобное: "; out(eating);
    cout<<"\n";
}
 
void out(enum yn x)
{
    if(x==no) cout << "Нет\n";
    else cout << "Да\n";
}
int main()
{
    using std::wcout;
    using std::setlocale;
 
    setlocale (LC_ALL,"");
 
    Apple a1,a2;
    Orange o1,o2;
 
    a1.seta("Красная плесень",red,no,yes,yes);
    a2.seta("Джонатан",red,yes,no,yes);
 
    o1.seto("Пуп",orange,no,no,yes);
    o2.seto("Валенсия",orange,yes,yes,no);
 
    a1.show();
    a2.show();
 
    o1.show();
    o2.show();
 
    return 0;
}
А вот и ошибки
E:\My C++\fruit\main.cpp|12|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|12|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|12|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|12|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp||In member function 'void Apple::seta(char*, color, yn, yn, yn)':|
E:\My C++\fruit\main.cpp|54|error: expected primary-expression before ';' token|
E:\My C++\fruit\main.cpp|55|error: 'ck' was not declared in this scope|
E:\My C++\fruit\main.cpp|56|error: 'crchy' was not declared in this scope|
E:\My C++\fruit\main.cpp||In member function 'void Orange::seto(char*, color, yn, yn, yn)':|
E:\My C++\fruit\main.cpp|68|error: 'cooking' was not declared in this scope|
E:\My C++\fruit\main.cpp|69|error: 'crunchy' was not declared in this scope|
E:\My C++\fruit\main.cpp|87|error: 'Orande' has not been declared|
E:\My C++\fruit\main.cpp||In function 'void show()':|
E:\My C++\fruit\main.cpp|89|error: 'name' was not declared in this scope|
E:\My C++\fruit\main.cpp|90|error: 'annual' was not declared in this scope|
E:\My C++\fruit\main.cpp|91|error: 'perennial' was not declared in this scope|
E:\My C++\fruit\main.cpp|92|error: 'tree' was not declared in this scope|
E:\My C++\fruit\main.cpp|93|error: 'tropical' was not declared in this scope|
E:\My C++\fruit\main.cpp|94|error: 'clr' was not declared in this scope|
E:\My C++\fruit\main.cpp|95|error: 'juice' was not declared in this scope|
E:\My C++\fruit\main.cpp|96|error: 'sour' was not declared in this scope|
E:\My C++\fruit\main.cpp|97|error: 'eating' was not declared in this scope|
E:\My C++\fruit\main.cpp||In function 'int main()':|
E:\My C++\fruit\main.cpp|116|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|117|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|119|warning: deprecated conversion from string constant to 'char*'|
E:\My C++\fruit\main.cpp|120|warning: deprecated conversion from string constant to 'char*'|
||=== Build finished: 15 errors, 8 warnings ===|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 00:12     Г.Шилдт. С учебника урок не выполняется
Посмотрите здесь:

пример из книги Шилдт С++ базовый курс - непонятно C++
Урок \n C++
лабораторный урок , help! C++
C++ Герберт Шилдт, С++ Шаг за шагом
C++ Код не выполняется в одном месте, но выполняется в другом
Липпман или Шилдт C++
C++ Пример из книги. Шилдт
SDL - первый урок C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,411
14.12.2012, 00:29     Г.Шилдт. С учебника урок не выполняется #2
lrbis, проблемы вызвани излишним Ctrl +C, Ctrl + V.
Вы пытаетесь обратиться к некоторым членам, например cooking, которых нет в классе.

Добавлено через 2 минуты
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
#include <iostream>
#include <cstring>
#include <clocale>
 
using namespace std;
 
enum yn {no,yes};//Тип yn варианты no,yes
enum color{red,yellow,green,orange};//Тип color
 
void out (enum yn x);
 
const char *c[]= {"red","yellow","green","orange"};
 
//Родовой класс фруктов
class fruit {
//В этом базовом классе все элементы открыты
public:
enum yn annual;
enum yn perennial;
enum yn tree;
enum yn tropical;
enum color clr;
char name [40];
};
 
//Производный класс яблок
class Apple: public fruit{
enum yn cooking;
enum yn crunchy;
enum yn eating;
public:
void seta(char *n, enum color c, enum yn ck, enum yn crchy,
enum yn e);
void show();
};
 
//Производный класс апельсинов
class Orange: public fruit {
enum yn luice;
enum yn sour;
enum yn eating;
public:
void seto(char *n, enum color c, enum yn j, enum yn sr, enum yn e);
void show();
};
 
void Apple::seta(char *n, enum color c, enum yn ck, enum yn crchy, enum yn e)
{
strcpy(name, n);
annual = no;
perennial = yes;
tree = yes;
tropical = no;
clr = c;
cooking = ck;
crunchy = crchy;
eating = e;
}
 
void Orange::seto(char *n, enum color c, enum yn j,enum yn sr, enum yn e)
{
strcpy(name, n);
annual = no;
perennial = yes;
tree = yes;
tropical = yes;
clr = c;
luice = j;
sour = sr;
eating = e;
}
 
void Apple::show()
{
cout<<name<<"Яблоко - это: "<<"\n";
cout<<"Однолетнее растение: "; out(annual);
cout<<"Многолетнее растение: "; out(perennial);
cout<<"Дерево: "; out(tree);
cout<<"Тропическое: "; out(tropical);
cout<<"Цвет: " << c[clr] << "\n";
cout<<"Легко приготавливается: "; out(cooking);
cout<<"Хрустит на зубах: "; out(crunchy);
cout<<"Съедобное: "; out(eating);
cout<<"\n";
}
 
void Orange::show()
{
cout<< name << "Апельсин - это: " << "\n";
cout<<"Однолетнее растение: "; out(annual);
cout<<"Многолетнее растение: "; out(perennial);
cout<<"Дерево: "; out(tree);
cout<<"Тропическое: "; out(tropical);
cout<<"Цвет: " << c[clr] << "\n";
cout<<"Годится для приготовления сока: "; out(luice);
cout<<"Кислый: "; out(sour);
cout<<"Съедобное: "; out(eating);
cout<<"\n";
}
 
void out(enum yn x)
{
if(x==no) cout << "Нет\n";
else cout << "Да\n";
}
int main()
{
using std::wcout;
using std::setlocale;
 
setlocale (LC_ALL,"");
 
Apple a1,a2;
Orange o1,o2;
 
a1.seta("Красная плесень",red,no,yes,yes);
a2.seta("Джонатан",red,yes,no,yes);
 
o1.seto("Пуп",orange,no,no,yes);
o2.seto("Валенсия",orange,yes,yes,no);
 
a1.show();
a2.show();
 
o1.show();
o2.show();
 
return 0;
}
Yandex
Объявления
14.12.2012, 00:29     Г.Шилдт. С учебника урок не выполняется
Ответ Создать тему
Опции темы

Текущее время: 17:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru