HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3111  
Старый 10.06.2009, 18:09
Lee_fx
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме:
265628

Репутация: 23
По умолчанию

Цитата:
Сообщение от ss88  
Это что-то типа...... получить ответ не задав вопрос....
Для этого нужно принять определенные вещества и выйти на новый уровень общения с машиной.... )))
Оказалось намного проще =)
int sign = (num>0) - (num<0); //1 - положительное, -1 - отрицательное, 0 - ноль
 
Ответить с цитированием

  #3112  
Старый 10.06.2009, 18:16
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Условные операторы все равно косвенно выполняются при подсчете возвращаемого значения выражения (num>0) и (num<0) = )
 
Ответить с цитированием

  #3113  
Старый 10.06.2009, 18:54
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

чтобы проверять вхождения удобнее юзать массивы. определяешь так
Код:
string invalid_dic [] = {"1", "2", "3", "4"};

bool is_valid(string data){
	for(int i = 0; i < sizeof(invalid_dic) / sizeof(invalid_dic[0]); i++){
		if(data.compare(invalid_dic[i]) == 0)
			return false;
	}
	return true;
}
суть в том что при необходимости добавления нового ключа, ты просто добавляешь его в массив. больше ничего менять не надо. число элементов, которое используется для определения числа итераций цикла, вычисляется в момент компиляции.

Последний раз редактировалось Ra$cal; 10.06.2009 в 19:00..
 
Ответить с цитированием

  #3114  
Старый 10.06.2009, 18:55
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме:
153361

Репутация: 10
По умолчанию

В чём ошибка , не хочет компелироваться
Код:
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
struct personaj{
	char name[20];
	int  game_class;
	int power,stamina,agility,intelect,hp;
};
void main(){
	void Info(char str[100],bool sound=false);
	bool Main_Menu();
	bool Arena(personaj player);
	Info("### Welcome to the BK! ###",true);
	//------------------------Переменные-------------------------
	personaj player,computer;
	computer.game_class=1;
	computer.agility=5;
	computer.intelect=5;
	computer.power=5;
	computer.stamina=5;
	computer.hp=30;

    cout<<"Enter your name!\t";
	cin>>player.name;
	enum {warrior=1,mage=2,priest=3,ranger=4};
//	char enter_user_class;
	int user_class=0;												//Какой класс выбран! 
	char proverka_na_vubor_classa;					//проверка на уверенность в выборе класса
	bool prov_na_simvol=true;						//проверка на правильность выбора класса
	bool vtoraya_proverka_na_vubor_classa=true;		//проверка на уверенность в выборе класса

	while(vtoraya_proverka_na_vubor_classa){
		system("cls");
		cout<<"Choose your class!\n\n*** Warrior ***\t- 1\n*** Mage ***\t- 2"
			<<"\n*** Priest ***\t- 3\n*** Ranger ***\t- 4\n\n";
		//проверка на ввод числа а не чегото другого, такоеже сделать 
		/*while{user_class!=1||user_class!=2||user_class!=3||user_class!=4){
			cin>>enter_user_class;
			switch(enter_user_class){
			case '1': user_class=1; cout<<"War"; break;
			case '2': user_class=2; cout<<"W";   break;
			case '3': user_class=3; cout<<"Wr";  break;
			case '4': user_class=4; cout<<"Wa";  break;
			default: cout<<"Fuck"; 
			}}*/
		cin>>user_class;
		switch(user_class){
			case warrior:
				system("cls");
				player.agility=0;
				player.intelect=0;
				player.power=6;
				player.stamina=4;
				player.hp=30;
				cout<<"You choose warrior!\nYour standart parametrs!\n\n**************************\n"
					<<"intelect - "<<player.intelect
					<<"\npower - "<<player.power
					<<"\nagility - "<<player.agility
					<<"\nstamina - "<<player.stamina
					<<"\n*************************\n";
				player.game_class=1;
				break;
			case mage:
				system("cls");
				player.agility=0;
				player.intelect=8;
				player.power=0;
				player.stamina=2;
				player.hp=15;
				cout<<"You choose mage!\nYour standart parametrs!\n\n**************************\n"
					<<"intelect - "<<player.intelect
					<<"\npower - "<<player.power
					<<"\nagility - "<<player.agility
					<<"\nstamina - "<<player.stamina
					<<"\n*************************\n";
				player.game_class=2;
				break;
			case priest:
				system("cls");
				player.agility=0;
				player.intelect=5;
				player.power=0;
				player.stamina=5;
				player.hp=20;
				cout<<"You choose priest!\nYour standart parametrs!\n\n**************************\n"
					<<"intelect - "<<player.intelect
					<<"\npower - "<<player.power
					<<"\nagility - "<<player.agility
					<<"\nstamina - "<<player.stamina
					<<"\n*************************\n";
				player.game_class=3;
				break;
			case ranger:
				system("cls");
				player.agility=8;
				player.intelect=0;
				player.power=0;
				player.stamina=2;
				player.hp=20;
				cout<<"Your standart parametrs!\n\n**************************\n"
					<<"intelect - "<<player.intelect
					<<"\npower - "<<player.power
					<<"\nagility - "<<player.agility
					<<"\nstamina - "<<player.stamina
					<<"\n*************************\n";
				player.game_class=4;
				break;
		}
		cout<<"\nAre you shure?(Y/N)\t";
		cin>>proverka_na_vubor_classa;
		if(proverka_na_vubor_classa=='y'||proverka_na_vubor_classa=='Y'){
			vtoraya_proverka_na_vubor_classa=false;
		}
	}
	system("cls");
	//конец выбора класса
	Info("Now you will get into the main menu!");
	Main_Menu();
	cout<<"\n\n";
}
void Info(char str[100],bool sound=false){
	int dl_str=strlen(str);
	for(int i=0;i<dl_str;i++){
		cout<<str[i];
		if(sound){
			if(i==0||i==dl_str-1){
				cout<<"\a";
			}
		}
	Sleep(100);
	}
	system("cls");
}
//Меню основное
bool Main_Menu(){
	bool proverka_na_vuhod_iz_menu=true;
	int user_choose_action_main_menu;
	while(proverka_na_vuhod_iz_menu){
		system("cls");
		cout<<"Go to the Arena\t- 1\nGo to the shop\t- 2\nExit the game\t- 3\n";
		cin>>user_choose_action_main_menu;
		switch(user_choose_action_main_menu){
			case 1:
				system("cls");
				Info("You will get to the arena soon!");
				if(Arena(player)){
					cout<<"Player win!";
				}else{
					cout<<"Player win!";
				}
				proverka_na_vuhod_iz_menu=false;
				break;
			case 2:
				system("cls");
				Info("You will get to the shop soon!");
				proverka_na_vuhod_iz_menu=false;
				break;
			case 3:
				system("cls");
				Info("You will exit the game!");
				proverka_na_vuhod_iz_menu=false;
				return true;
				break;
		}
	}

}
bool Arena(personaj player){
	int player_action;
	while(true){
		if(player.hp<=0){
			return false;
			break;
		}
		if(computer.hp<=0){
			return true;
			break;
		}
		cout<<"Hit the Head!\t- 1\nHit the stomach!\t- 2\nHit \t- 3\n";
		cin>>player_action;
		switch(player_action){
			case 1:
				player.hp=player.hp-5;
				computer.hp=computer.hp-10;
				break;
			case 2:
				player.hp=player.hp-5;
				computer.hp=computer.hp-10;
				break;
			case 3:
				player.hp=player.hp-5;
				computer.hp=computer.hp-10;
				break;
		}
	}	
}
пишет
Ошибка 1 error C2065: player: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 149
Ошибка 2 error C3861: Arena: идентификатор не найден c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 149
Ошибка 3 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 178
Ошибка 4 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 178
Ошибка 5 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 187
Ошибка 6 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 187
Ошибка 7 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 187
Ошибка 8 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 187
Ошибка 9 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 191
Ошибка 10 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 191
Ошибка 11 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 191
Ошибка 12 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 191
Ошибка 13 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 195
Ошибка 14 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 195
Ошибка 15 error C2065: computer: необъявленный идентификатор c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 195
Ошибка 16 error C2228: выражение слева от ".hp" должно представлять класс, структуру или объединение c:\users\антон\documents\visual studio 2008\projects\09.06.09\09.06.09\09.06.09.cpp 195

как передать правильно функции арена, значения типа плеер?

Последний раз редактировалось Djezul; 10.06.2009 в 19:07..
 
Ответить с цитированием

  #3115  
Старый 10.06.2009, 19:08
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

bool Arena(personaj& player){
...
 
Ответить с цитированием

  #3116  
Старый 10.06.2009, 19:13
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Сначала ты спрашиваешь в чем ошибка, а потом выкладываешь список ошибок >.<
Все ошибки указаны компилятором.
 
Ответить с цитированием

  #3117  
Старый 10.06.2009, 19:14
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме:
153361

Репутация: 10
По умолчанию

тоже самое((
 
Ответить с цитированием

  #3118  
Старый 10.06.2009, 19:16
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме:
153361

Репутация: 10
По умолчанию

Цитата:
Сообщение от Fata1ex  
Сначала ты спрашиваешь в чем ошибка, а потом выкладываешь список ошибок >.<
Все ошибки указаны компилятором.
Я думал ты понял о чём я , я только неделю учу си и ещё не сильно в нём ориентируюсь, так что ошибки компилятора мне ни о чем не говорят, я понимаю что они указаны, но что надо исправить в коде , чтобы их небыло, и что это за ошибки, мсдл не сильно помогло(
 
Ответить с цитированием

  #3119  
Старый 10.06.2009, 19:18
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

это не какие то магические ошибки. они вполне четко описывают проблему. поэтому читай сообщение и исправляй.

почитай тогда книжку "Как программировать на с++". От этого будет больше толка.
 
Ответить с цитированием

  #3120  
Старый 10.06.2009, 19:21
Djezul
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме:
153361

Репутация: 10
По умолчанию

я читаю выражение слева от ".hp" должно представлять класс, структуру или объединение , но оно и представляет структуру или обьединение

я читаю арена не обьявлена, хотя у меня всё обьёвлено
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ