Зачем можно узнать? Можно оператором выбора: делим целое число на абсолютное значение (>0) и сравниваем с 1 и -1. Хотя этот же оператор выбора и есть разновидность условного оператора...
Есть горящий вопрос-сегодня нужно закончить пару кнопок в один блог, кнопки-флэш, сразу оговорюсь, я не пишу на AS, я работаю программно, но подобрать не могу необходимую функцию, а требуется следующее: -кнопка прозрачная(уже есть!) -клик по кнопке-звук треснувшего камня(уже есть!) --------------------------------------------------------------------- -нужно визуально отобразить треснувшую кнопку-как расходятся линии разлома в течении 1 сек., потом уже переход по ссылке((((( пипец башку сломал-нужно к вечеру уже доделать Кто-то, что-то актуальное может посоветовать? пипец башку сломал
Это что-то типа...... получить ответ не задав вопрос.... Для этого нужно принять определенные вещества и выйти на новый уровень общения с машиной.... )))
Вот весь код, там где закоментировано надо сделать проверку, а лучше вообще функцией, нужна она т.к. если вводить не число то цикл зацикливается основной, может и не надо атуи, я за етм и попросил помощи, чтобы вы мне подсказали как сделать Code: #include <iostream> #include <windows.h> #include <conio.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main(){ void Info(char str[100],int dl_str,bool sound=false); Info("### Welcome to the BK! ###",31,true); //------------------------Переменные------------------------- char name[80];//Имя персонажа! cout<<"Enter your name!\t"; cin>>name; enum {warrior=1,mage=2,priest=3,ranger=4}; int user_class; //Какой класс выбран! 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(true){ // cin>>enter_user_class; // user_class=atoi(enter_user_class); // if(user_class==1||user_class==2||user_class==3||user_class==4){ // break; // } // enter_user_class=""; //} cin>>user_class; switch(user_class){ case warrior: system("cls"); cout<<"You choose warrior!\nYour standart parametrs!\n\n**************************\n" <<"int - 0\npower - 6\nagility - 0\nstamina - 4\n" <<"*************************\n"; break; case mage: system("cls"); cout<<"You choose mage!\nYour standart parametrs!\n\n**************************\n" <<"int - 8\npower - 8\nagility - 5\nstamina - 2\n" <<"*************************\n"; break; case priest: system("cls"); cout<<"You choose priest!\nYour standart parametrs!\n\n**************************\n" <<"int - 5\npower - 0\nagility - 0\nstamina - 5\n" <<"*************************\n"; break; case ranger: system("cls"); cout<<"Your standart parametrs!\n\n**************************\n" <<"int - 0\npower - 0\nagility - 8\nstamina - 2\n" <<"*************************\n"; 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!",37); cout<<"\n\n"; }
Code: while(flag) { switch(enter_user_class) { case '1': user_class = 1; cout << "You are mage tratata"; flag = 0; break; case '2': user_calss = 2; cout << "You are warior tratata"; flag = 0; break; case '3': -//- case '4': -//- default: cout << "what the fuck did u entered idiot?"; break; } } Зачем нужно две проверки?
недопустимое выражение чар100 в свитч, да и как я понял с таким кодом проверка выполнится только 1 раз, и если не правильно то выведеться только "what the fuck did u entered idiot? , а мне надо чтобы оно снова предложило ввести как я писал выше
ток теперь цикл не брейкается даже при вводе норм значений)) И тупо что если вводишь 2 символа она 2 раза выдаст дефалт, если 3 то 3 раза А и не скажешь плиз, какая функция возвращает длину строки?
Оказалось намного проще =) int sign = (num>0) - (num<0); //1 - положительное, -1 - отрицательное, 0 - ноль
Условные операторы все равно косвенно выполняются при подсчете возвращаемого значения выражения (num>0) и (num<0) = )
чтобы проверять вхождения удобнее юзать массивы. определяешь так Code: 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; } суть в том что при необходимости добавления нового ключа, ты просто добавляешь его в массив. больше ничего менять не надо. число элементов, которое используется для определения числа итераций цикла, вычисляется в момент компиляции.
В чём ошибка , не хочет компелироваться Code: #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 как передать правильно функции арена, значения типа плеер?
Сначала ты спрашиваешь в чем ошибка, а потом выкладываешь список ошибок >.< Все ошибки указаны компилятором.
Я думал ты понял о чём я , я только неделю учу си и ещё не сильно в нём ориентируюсь, так что ошибки компилятора мне ни о чем не говорят, я понимаю что они указаны, но что надо исправить в коде , чтобы их небыло, и что это за ошибки, мсдл не сильно помогло(