ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.06.2009, 15:06
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
|
|
|

10.06.2009, 15:20
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от Lee_fx
Как без использования условных операторов проверить положительно ли число?
Это что-то типа...... получить ответ не задав вопрос....
Для этого нужно принять определенные вещества и выйти на новый уровень общения с машиной.... )))
|
|
|

10.06.2009, 15:28
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
Сообщение от Fata1ex
Выложи код целиком. Зачем тебе atoi?
Ты не можешь сравнивать х и "1"||"2"||"3"||"4"?
И проставь точки с запятой.
Вот весь код, там где закоментировано надо сделать проверку, а лучше вообще функцией, нужна она т.к. если вводить не число то цикл зацикливается основной, может и не надо атуи, я за етм и попросил помощи, чтобы вы мне подсказали как сделать
Код:
#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";
}
|
|
|

10.06.2009, 15:31
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
Сообщение от Lee_fx
Как без использования условных операторов проверить положительно ли число?
Писать код не буду, но скажу что там формула есть , это потипу проверить какое число больше.
|
|
|

10.06.2009, 15:40
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Код:
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;
}
}
Зачем нужно две проверки?
Последний раз редактировалось Fata1ex; 10.06.2009 в 15:58..
|
|
|

10.06.2009, 15:47
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
недопустимое выражение чар100 в свитч, да и как я понял с таким кодом проверка выполнится только 1 раз, и если не правильно то выведеться только "what the fuck did u entered idiot? , а мне надо чтобы оно снова предложило ввести как я писал выше
|
|
|

10.06.2009, 15:53
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Я подправил код. enter_user_class должно быть char.
|
|
|

10.06.2009, 15:58
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
ток теперь цикл не брейкается даже при вводе норм значений))
И тупо что если вводишь 2 символа она 2 раза выдаст дефалт, если 3 то 3 раза
А и не скажешь плиз, какая функция возвращает длину строки?
Последний раз редактировалось Djezul; 10.06.2009 в 16:13..
|
|
|

10.06.2009, 16:21
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
А и не скажешь плиз, какая функция возвращает длину строки?
strlen();
|
|
|

10.06.2009, 16:34
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
спс
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|