Рейтинг:
27
OriginalGriff
Гм...это какой - то странный код-и сильно помятый! Вы должны попытаться сделать правильный отступ, это делает чтение кода намного, намного проще. И если вы собираетесь использовать фигурные скобки вокруг кода обращения, то поместите их вокруг всего кода, а не только его части - это просто выглядит неправильно и сбивает с толку.
чар ответ;
int выбор;
do
{
system("cls");
system("Color F ");
cout << "\t| --------------------------------- |" << endl;
cout << "\t| Press 1 for Playing Game. |" << endl;
cout << "\t| Press 2 Exit |" << endl;
cout << "\t| Enter Your Choice |" << endl;
cout << "\t| --------------------------------- |" << endl;
cout << "\t \t";
cin >> choice; //this
switch (choice)
{
case 1:
{
system("cls");
system("color E");
t.org();
break;
}
case 2:
default:
break;
}
} while (choice == 2);
Видите, насколько яснее то, что происходит?
Я бы также предложил, чтобы код внутри кейса был как можно короче - поэтому переместите код "play game" в отдельную функцию и просто вызовите ее внутри кейса. Это делает функцию меньше и легче читать, понимать и поддерживать.
Теперь ... о самом коде...
Цикл будет выполняться один раз, если только пользователь не нажмет 2 для выхода, и в этом случае он будет повторяться снова. Наверное, вы хотите:
} while (choice != 2);
Это может решить вашу проблему!
mayashah
Исправлено !! Спасибо Вам Всем !!! но какой-то другой проблемой сталкивается
mayashah
Когда я запускаю эту часть кода, он не возвращает код обратно!!
ch = _getch (); / / считывание символа с экрана
в то время как (ch != 13)
{//символ 13-enter
если (ch = = 8)
{
pasword = pasword. substr(0, (pasword.длина ()) - 1);
//for(int i=0;i & lt;password.length (); i++)
//cout <<'*';
}
ещё
{
пароль.push_back(ч);
cout <<'*';
}
ч = _getch();
}
mayashah
почему я имею в виду, что когда я ввожу пароль, он только вводит пароль, но не возвращает его обратно, если я хочу его удалить ??
OriginalGriff
Попробовать здесь:
https://www.google.co.uk/search?q=getch+and+passwords&oq=getch+and+passwords&aqs=chrome..69i57.5043j0j7&sourceid=chrome&ie=UTF-8
mayashah
есть так много ссылок, которые вы можете проследить с той, которая работает со мной
OriginalGriff
:смеяться:
Нет! Мы понятия не имеем, что такое ваша система, и мы здесь не для того, чтобы делать все это за вас.
Поэтому следуйте за некоторыми, читайте их и смотрите, подходят ли они.
mayashah
можете ли вы исправить мою вышеприведенную функцию, потому что вещи, которые там работают, меня не устраивают
Рейтинг:
1
Patrice T
Цитата:
когда я нажимаю 2, это должно быть, но это не так
Он должен, но не делает что ?
Вы должны научиться использовать отладчик как можно скорее, это невероятный инструмент обучения. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[
^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[
^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.