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

Не могу справиться с if! - C++

Восстановить пароль Регистрация
 
 
Darell_ldark
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 11
02.08.2013, 13:41     Не могу справиться с if! #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
#include <iostream.h>
#include <stdio.h>
int main()
{
 using namespace std; 
 
 string name;
 cout << "Type name:      ";
 cin >> name;
 
 int life;
 int damage;
 int mana;
 
 int klas;
 cout << "Choose your class: 1 - witcher, 2 - warior, 3 - shooter   ";
 cin >> klas;
 
switch (klas)
{ 
      case 1:
           life = 100;
           damage = 10;
           mana = 150;
           cout << "Your name is " << name << "\n";
           cout << "Your class is witcher  \n";
           cout << "Your life is   " << life << " now. You can upgrade it\n";
           cout << "Your damage is  " << damage << " now\n";
           cout << "And you have " << mana << " mana! It`s really more!\n";
      break;
      case 2:
           life = 160;
           damage = 14;
           mana = 0;
           cout << "Your name is " << name << "\n";
           cout << "Your class is warrior \n";
           cout << "Your life is   " << life << " now. You can upgrade it\n";
           cout << "Your damage is  " << damage << " now\n";
           cout << "And you have no mana, becose you are warrior, yeah. Discrimination.\n";
      break;
      case 3:
           life = 50;
           damage = 20;
           mana = 10;
           cout << "Your name is " << name << "\n";
           cout << "Your class is shooter \n";
           cout << "Your life is   " << life << " now. You can upgrade it \n";
           cout << "Your damage is  " << damage << " now\n";
           cout << "And you have " << mana << " mana! You have mana! It`s cool!\n";
}
int gnomtown;
int elftown;
int orktown;
 
int goo;
cout << "Where you want to go? 1 - to gnomes, 2 - to elftown, 3 - to orktown     ";
cin >> goo;
switch (goo)
{
       case 1:
            cout << "You are in Gnomes Town now! You can repair your armor!"<< endl;
       break;
       case 2:
            cout << "You are in Elfs Town now! You can buy weapon here!"<< endl;
            cout << "Type !shop for shopping!"<< endl;
                int shop;
                cin >> shop;
    if (shop=!shop);
     {
                    cout << "What are you want? Maybe, you want to buy Legendary Sword?" << endl;
                    int buy;
                    cout << "1 - to buy sword, 2 - for bow, 3 - for sniper rifle" << endl;
                    cin >> buy;
                                 switch (buy)
                                 {
                                 case 1:
                                       damage = 17;
                                       cout << "Your damage is 14 + 3 now"<< endl;
                                 break;                                 
                                       
                                 case 2:
                                       damage = 15;
                                       cout << "Your damage is 14 + 1 now"<< endl;
                                 break;
                                 case 3:
                                      if (klas = 2)
                                       {
                                               cout << "You can`t buy this item, becouse you are warrior. Dicramination!"<< endl;
                                               }
                                               else
                                               {
                                                   cout << "Your damage is 20 + 6 now! You are dangerous!"<< endl;
                                               }
                                       }
                    }
 
       break;
       case 3:
            life -= 44;
            cout << "Orks hate you and want to kill you. Run away!\n ";
            cout << "You was damaged. Your health for now  " << life << "\n";
            break;
}
system("pause");
return 0;
}
После if (shop=!shop) должен следовать else. Но как я не пытаюсь его поставить после switch у меня ничего не выходит. Помогите пожалуйста!
P.S. Если можно, объясните наследование, как его правильно сделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.08.2013, 15:40     Не могу справиться с if! #21
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Если она [shop] равна !shop
Вот я и говорю, что проверка на равность shop и не shop выглядела бы как
Так ты не говори, а лучше спроси, что именно он хотел проверить! Видишь же, что бред!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darell_ldark
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 11
02.08.2013, 15:43  [ТС]     Не могу справиться с if! #22
zer0mail, объясните, пожалуйста, разницу между if(); и if() Я недавно начал изучать, не знаю еще таких тонкостей.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.08.2013, 15:46     Не могу справиться с if! #23
Цитата Сообщение от Darell_ldark Посмотреть сообщение
zer0mail, объясните, пожалуйста, разницу между if(); и if() Я недавно начал изучать, не знаю еще таких тонкостей.
А в какой книге ты вообще нашёл, что надо if(); использовать?
конструкция if(); ничего не делает, если выполнено условие и приводит только к лишним ошибкам
if() при выполнении условия будет выполнять следующее за ним выражение
zer0mail
2179 / 1862 / 187
Регистрация: 03.07.2012
Сообщений: 6,626
Записей в блоге: 1
02.08.2013, 15:49     Не могу справиться с if! #24
C++
1
2
3
if(x) a=1;
if(у);
b=1;
Если x истина, "а" присвоится 1
Если y истина, то выполнится пустой оператор ";" а b=1; выполнится всегда.

Поэтому
C++
1
if(у);
эквивалентен
C++
1
 if(y) {;}
, т.е. это законченный оператор if (раз после него нет else).
Darell_ldark
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 11
02.08.2013, 15:52  [ТС]     Не могу справиться с if! #25
Kuzia domovenok, да ни в какой... Просто почти в каждой строке нужно ; вот я и подумал, что тут такой случай. Убрал. Теперь не выводит ничего после !shop, а раньше выводилось.

Добавлено через 1 минуту
Kuzia domovenok, ан нет. Написал 0 и все появилось. Теперь вопрос: как мне сделать так, чтобы меню шопа появлялось после !shop, а не 0?

Добавлено через 45 секунд
zer0mail, спасибо, теперь понял.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.08.2013, 15:56     Не могу справиться с if! #26
Цитата Сообщение от Darell_ldark Посмотреть сообщение
C++
1
2
3
4
cout << "Type !shop for shopping!"<< endl;
int shop;
cin >> shop;
if (shop=!shop);
По-моему, все, кто тут писал, даже близко не поняли замысла автора. Ему не нужна проверка shop на ноль/не ноль!
Ему нужно, чтобы с клавы вводилась строка и затем сравнивалась со строкой "shop" !

C++
1
2
3
4
5
6
std::string cmd_shop;
cin>>cmd_shop;
if (cmd_shop=="shop"){
  cout << "you want to buy Legendary Sword?" << endl;
 ///....
}
Darell_ldark
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 11
02.08.2013, 16:19  [ТС]     Не могу справиться с if! #27
Kuzia domovenok, блин, а про строки то я забыл. Сейчас пробую поместить. Ошибки вылазят, как добьюсь результата - отпишу. Заранее спасибо!

Добавлено через 6 минут
Kuzia domovenok, стыдно, но я не могу это поместить. Опять, похоже, ошибка со скобками. Не могли бы Вы дать код?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.08.2013, 16:31     Не могу справиться с if! #28
C++
1
#include <string>
Хотя стой... какая среда С++?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 16:38     Не могу справиться с if!
Еще ссылки по теме:

C++ Не могу справиться с двумерным массивом
C++ Не могу справиться с функцией с++ istringstream

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

Или воспользуйтесь поиском по форуму:
Darell_ldark
0 / 0 / 0
Регистрация: 30.06.2013
Сообщений: 11
02.08.2013, 16:38  [ТС]     Не могу справиться с if! #29
Kuzia domovenok, увы, я не разбираюсь. Пишу код в Dev-C++, а что к чему - я не знаю.
Yandex
Объявления
02.08.2013, 16:38     Не могу справиться с if!
Ответ Создать тему
Опции темы

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