Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2012, 00:46   #1
ZoomHz
Пользователь
 
Аватар для ZoomHz
 
Регистрация: 25.06.2011
Сообщений: 37
По умолчанию Ошибка в коде

Код:
#include <iostream>
using namespace std;

int Calculation (int);

class Weapon
{
      public:
      int pAtack(int AtackPhysic, int AtackMagic);
      int returnMagic();
      int returnPhysic();
      private:
      int Physical_Attack; 
      int Magic_Atack;           
      };
//Присваение
int Weapon::pAtack(int AtackPhysic, int AtackMagic)
{
      Physical_Attack = AtackPhysic;
      Magic_Atack = AtackMagic;
      }
//Возвращение значения
int Weapon::returnMagic()
{
     return Magic_Atack;
     }
int Weapon::returnPhysic()
{
     return Physical_Attack;
     }

int main()
{
    Weapon Gods_Blade;//обьект
    Weapon Heavens_Divider;//обьект
    Gods_Blade.pAtack(257,124);//характеристики мяча
    int Grade;
    int Weapon;
    int Enchant;
    int CalcEnchant;
    cout<<"How much enchant?";
    cin>>Enchant;
    cin>>CalcEnchant;
    CalcEnchant = Calculation(Enchant);
    cout<<"Select grade\n";
    cout<<"1 - S"<<endl<<"2 - A"<<endl<<"3 - B"<<endl<<"4 - C"<<endl;
    cin>>Grade;
    switch(Grade)
    {
                 case 1:
                 cout<<"Select weapon\n";
                 cout<<"1 - Gods Blade"<<endl<<"2 - Heavens Divider\n";
                 cin>>Weapon;
                 
                 if(Weapon = 1)
                 {
                           cout<<"Gods Blade\n";
                           cout<<"Physical Attack: "<<Gods_Blade.returnMagic()<<endl;
                           cout<<"Magic Atack: "<<Gods_Blade.returnPhysic()<<endl;
                           }
                 }
    system("PAUSE");
}

int Calculation (int Enchant)
{
      int Malu;
      Malu = Gods_Blade.returnMagic()+ 50;
      cout<<Malu;
      }
C:\Documents and Settings\Admin\Рабочий стол\Weapon.cpp `Gods_Blade' undeclared (first use this function)

Выдает тут Malu = Gods_Blade.returnMagic()+ 50; ошибку. Как это можно исправить и почему я не могу там сделать?
ZoomHz вне форума Ответить с цитированием
Старый 08.03.2012, 00:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в какой функции обьявлен обьект и где вы пытаетесь его применить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.03.2012, 00:57   #3
ZoomHz
Пользователь
 
Аватар для ZoomHz
 
Регистрация: 25.06.2011
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
в какой функции обьявлен обьект и где вы пытаетесь его применить.
Как это можно исправить/переделать? Подскажите пожалуйста
ZoomHz вне форума Ответить с цитированием
Старый 08.03.2012, 01:01   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)сделать её глобальной переменной
2)передавать объект параметром(но ссылку, тут не нужна копия)

ЗЫ: а вообще тут явная проблема проектирования, не хорошо когда все предметы вписаны в код.(да еще и таким образом)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.03.2012, 01:15   #5
ZoomHz
Пользователь
 
Аватар для ZoomHz
 
Регистрация: 25.06.2011
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
1)сделать её глобальной переменной
2)передавать объект параметром(но ссылку, тут не нужна копия)

ЗЫ: а вообще тут явная проблема проектирования, не хорошо когда все предметы вписаны в код.(да еще и таким образом)
Кого сделать глобальной переменной я не пойму
Второй ответ тоже не понятен

Код:
#include <iostream>
using namespace std;

int Calculation (int, int);

class Weapon
{
      public:
      int pAtack(int AtackPhysic, int AtackMagic);
      int returnMagic();
      int returnPhysic();
      private:
      int Physical_Attack; 
      int Magic_Atack;           
      };
//Присваение
int Weapon::pAtack(int AtackPhysic, int AtackMagic)
{
      Physical_Attack = AtackPhysic;
      Magic_Atack = AtackMagic;
      }
//Возвращение значения
int Weapon::returnMagic()
{
     return Magic_Atack;
     }
int Weapon::returnPhysic()
{
     return Physical_Attack;
     }

int main()
{
    Weapon Gods_Blade;//обьект
    Weapon Heavens_Divider;//обьект
    Gods_Blade.pAtack(257,124);//характеристики мяча
    int Grade;
    int Weapon;
    int Enchant;
    int Calculat;
    int Otvet;
    cout<<"How much enchant?";
    cin>>Enchant;
    Otvet = Calculation(Enchant,Calculat);
    cout<<Otvet;
    cout<<"Select grade\n";
    cout<<"1 - S"<<endl<<"2 - A"<<endl<<"3 - B"<<endl<<"4 - C"<<endl;
    cin>>Grade;
    switch(Grade)
    {
                 case 1:
                 cout<<"Select weapon\n";
                 cout<<"1 - Gods Blade"<<endl<<"2 - Heavens Divider\n";
                 cin>>Weapon;
                 
                 if(Weapon = 1)
                 {
                           cout<<"Gods Blade\n";
                           cout<<"Physical Attack: "<<Gods_Blade.returnMagic()<<endl;
                           cout<<"Magic Atack: "<<Gods_Blade.returnPhysic()<<endl;
                           }
                 }
    system("PAUSE");
}

int Calculation (int Enchant,int Calculat)
{
      Weapon Gods_Blade;
      int CalcEnchant;
      CalcEnchant = Gods_Blade.returnMagic() * ((Enchant * 2)/100);
      Calculat = CalcEnchant + Gods_Blade.returnMagic();
      return Calculat;
      }
вот новый код
cout<<Otvet; выбивает непонятные числа
ZoomHz вне форума Ответить с цитированием
Старый 08.03.2012, 11:41   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так, срочно учите основы языка.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.03.2012, 14:24   #7
ZoomHz
Пользователь
 
Аватар для ZoomHz
 
Регистрация: 25.06.2011
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
так, срочно учите основы языка.
ок, выучу больше вернусь к программе
ZoomHz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде Zhenya-Pvl PHP 7 05.02.2012 15:38
ошибка в коде johny_03 Microsoft Office Excel 3 19.04.2011 23:21
Ошибка в коде С++ Ирискин Помощь студентам 4 04.02.2011 15:17
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58