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

Подскажите где ошибка в классе - C++

Восстановить пароль Регистрация
 
iferko
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 7
Завершенные тесты: 1
07.05.2013, 12:02     Подскажите где ошибка в классе #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
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <time.h>
#include <string>
 
using namespace std; // использую потому что нет риска пересечения пространства имен.
class Fight{
 
public:
int yh; 
int ed; 
int ya; 
int eh; 
int yd; 
int ea; 
int w;
 
 
};
int Fight::Atack(){
    int count=0;//раундов боя прошло
    int dmg=0;//урон, будет использоваться для вывода урона и подщета жизни.
    
while(true){
cout<<"Now you atack enemy.\n";
dmg =yd + rand()%6;
        eh = (eh + ea) - dmg;
        if(eh < 0){
            cout<<"Enemy died, You win! Congadulation!\n";
            return w=1;
            break;      
        }else
            cout<<"You paid enemy : "<<dmg<<"damages\n";
cout<<"Now enemy atack you.\n";
dmg =ed + rand()%6;
        yh = (yh + ya) - dmg;
        if(yh < 0){
            cout<<"You Loose!Deat and End!\n";
            return w=0;         
            break;
        }else
            cout<<"You left Hit Point:"<<yh<<"\n";
 
        count++;
        cout<<"Raund "<<count<<" end.\n";
 
 
    }
}

при компиляции выдаёт
21:18: ошибка: нет элемента-функции «int Fight::Atack()» в классе «Fight»
для проверки класса создал чистый проэкт с пустой функцие main

Подскажите где ошибка или что можно почитать на эту тему(А еще лучше сразу 2 варианта) )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
07.05.2013, 12:14     Подскажите где ошибка в классе #2
декларации метода в классе нет.

добавьте внутри класса
C++
int Attack();
Добавлено через 6 минут
только Attack пишется с двумя t
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
07.05.2013, 12:22     Подскажите где ошибка в классе #3
Цитата Сообщение от programina Посмотреть сообщение
только Attack пишется с двумя t
iferko
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 7
Завершенные тесты: 1
07.05.2013, 12:36  [ТС]     Подскажите где ошибка в классе #4
Ошибка остаётся(я пробовал этот вариант(((((( )
Может я не туда добавил?
Кликните здесь для просмотра всего текста

public:
int yh;
int ed;
int ya;
int eh;
int yd;
int ea;
int w;
int Attack();


П.С. Спасибо, как-то не заметил что я пропустил t))
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
07.05.2013, 12:41     Подскажите где ошибка в классе #5
Цитата Сообщение от iferko Посмотреть сообщение
Ошибка остаётся(я пробовал этот вариант(((((( )
Может я не туда добавил?
Кликните здесь для просмотра всего текста

public:
int yh;
int ed;
int ya;
int eh;
int yd;
int ea;
int w;
int Attack();


П.С. Спасибо, как-то не заметил что я пропустил t))
Покажите весь код, вы исправили остальные Atack на Attack ?
Tulosba
07.05.2013, 12:46
  #6

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
только Attack пишется с двумя t
Цитата Сообщение от iferko Посмотреть сообщение
Congadulation!

You win!

iferko
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 7
Завершенные тесты: 1
07.05.2013, 16:34  [ТС]     Подскажите где ошибка в классе #7
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:



You win!

Надо перечитать что я там написал, а то прям стыдно)
Congratulations
ну и не правильный глагол win -> Won(надеюсь я прав)) )

Добавлено через 3 часа 43 минуты
Цитата Сообщение от programina Посмотреть сообщение
Покажите весь код, вы исправили остальные Atack на Attack ?
Да все исправил) Под виндой заработало) спасибо) но проблема осталось в линуксе
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.05.2013, 16:47     Подскажите где ошибка в классе #8
Цитата Сообщение от iferko Посмотреть сообщение
Под виндой заработало) спасибо) но проблема осталось в линуксе
Что у Вас там за код такой "кроссплатформенный"?
iferko
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 7
Завершенные тесты: 1
07.05.2013, 16:54  [ТС]     Подскажите где ошибка в классе #9
ну я пишу полностью консольное приложение... под линуксом, но поскольку оно не выходит за рамки консоли и стандартных библиотек то я решил что должно работать и там и там. Но я ошибся, исправил ошибки вроде все заработало. Но теперь под виндоусом не работает так как должно.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.05.2013, 16:56     Подскажите где ошибка в классе #10
iferko, приведите код, где поведение различается, посмотрим.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 17:08     Подскажите где ошибка в классе
Еще ссылки по теме:

C++ Подскажите, где ошибка?
Подскажите где ошибка C++
Где ошибка в классе ? C++

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

Или воспользуйтесь поиском по форуму:
iferko
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 7
Завершенные тесты: 1
07.05.2013, 17:08  [ТС]     Подскажите где ошибка в классе #11
прошу строго не судить) первая попытка что-то сделать самому(учу с++ около месяца в свободное время от работы)

Кликните здесь для просмотра всего текста

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
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <time.h>
#include <string>
#include <fstream>
 
using namespace std; // использую потому что нет риска пересечения пространства имен.
 
/*
задам переменные для мейн которые будут использоваться в бою.
они примут значение из 2х классов и будут использоваться в функции Бой!
(не забудь её доработать!)
*/
int win;
int YouHP=0, YouDMG=0, YouARM=0; //это для боя персонажа
int EneHP=0, EneDMG=0, EneARM=0;//это для боя врага
string m;//это для мануала
class Person{
public:
    int d;
    int hp;
    int arm;
    
};
 
 
class Fight{
 
public:
int yh; 
int ed; 
int ya; 
int eh; 
int yd; 
int ea; 
int w;
int Attack();
    
};
int Fight::Attack(){
    int count=0;//раундов боя прошло
    int dmg=0;//урон, будет использоваться для вывода урона и подщета жизни.
    
while(true){
cout<<"Now you atack enemy.\n";
dmg =yd + rand()%6;
        eh = (eh + ea) - dmg;
        if(eh < 0){
            cout<<"Enemy died, You win! Congratulation!\n";
            return w=1; //вернуть после функции 1 что бы потом использовать победу.
            break;      
        }else
            cout<<"You paid enemy : "<<dmg<<"damages\n";
cout<<"Now enemy atack you.\n";
dmg =ed + rand()%6;
        yh = (yh + ya) - dmg;
        if(yh < 0){
            cout<<"You Loose!Deat and End!\n";
            return w=0; //  если 0 то конец игры    
            break;
        }else
            cout<<"You left Hit Point:"<<yh<<"\n";
 
        count++;
        cout<<"Raund "<<count<<" end.\n";
 
 
    }
}
 
 
class Class{
public:
    int d;
    int hp;
    int arm;
void Print(){
    cout<<"Demage: "<<d<<"\nHit Point: "<<hp<<"\nArmor: "<<arm<<"\n";
    }
};
 
class Stat{   //n задаёт размер одной характеристики, st задаёт её имя.
public:
    int n;
    string st;
    void Print(){
    cout<<st<<":"<<n<<"\n";}
};
 
    
int main(int argc, char* argv[]){
 
    
 
    cout<<"Helo it's my first program, i houpe it's will like you\n";
    char ptr;
    cout<<"For game you mast choise class your player\n";
 
    srand(time(0));
    cout<<"Hello, it's your stats\n";
    Stat str; //сила
    str.st="Str";
    str.n=8+rand()%10;
    str.Print();
    Stat dex; //ловкость
    dex.st="Dex";
    dex.n=8+rand()%10;
    dex.Print();
    Stat con; //живучесть
    con.st="Con";
    con.n=8+rand()%10;
    con.Print();
    Stat Int; //интелект
    Int.st="Int";
    Int.n=8+rand()%10;
    Int.Print();
    
    while(true){    
    cout<<"Choice your class:\n\n"<<"Poosh (1) for choice Fighter\n"
    <<"Poosh (2) for choice Mage\n\n";  
    int c;
    cin>>c;
    
    if(c==1){
    cout<<"You choice fighter\n";
    Class StF;
    StF.d=4 + ((str.n - 8) / 2);  
    StF.hp=10 + (con.n / 4); 
    StF.arm=2+((dex.n - 8) / 2);
    StF.Print();            
    
    YouDMG =StF.d;
    YouHP=StF.hp;
    YouARM=StF.arm;
    
    break;
    }else
    if(c==2){
    cout<<"You choice mage\n";
    Class StM;
    StM.d=6 + ((Int.n - 8) / 2);  
    StM.hp=6 + (con.n / 4); 
    StM.arm=2+((dex.n - 8) / 2);
    StM.Print();
    
    YouDMG =StM.d;
    YouHP=StM.hp;
    YouARM=StM.arm;
    
    break;  
    }else
        if((c<=0) || (c>=3))
        cout<<"Not choise"; 
    }
    //на этом этапе в винде выбивает и все
 
    cout<<"Now we have fight!\n";
        
    int m = 1 + rand()%5;
        
    if(m<=3){
        cout<< "You enemy Ugly Ork with big exe\n";     
    EneHP=25;
    EneDMG=4; 
    EneARM=3;
        }       
 
    if(m>=4){
        cout<< "You enemy mean Necromanser\n";      
    EneHP=16;
    EneDMG=6; 
    EneARM=0;   
    }
    // cout<<"You can choise: run of fight!(Push 1 or 2)\n";
 
    
    int Y_HP_N=YouHP;//Жизнь в бою, когда будет 0 то смерть и конец игры. 
    int E_HP_N=EneHP;//Жизнь Монстра.
        
    Fight You;
    You.yh=Y_HP_N;  
    You.yd=YouDMG;
    You.ya=YouARM;
    You.eh=E_HP_N;
    You.ed=EneDMG;
    You.ea=EneARM;
    You.w=win;
    You.Attack();
    
        
    cout<<win;//для проверки возвращения w из класса Fight
    
 cout<<"\n"; // мне красивее
}


 Комментарий модератора 
Пользуйтесь тегами форматирования кода. Выделите код и на панели редактирования сообщения нажмите кнопку "c++"
Yandex
Объявления
07.05.2013, 17:08     Подскажите где ошибка в классе
Ответ Создать тему
Опции темы

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