Цель условного оператора состоит в том, чтобы распечатать простое текстовое меню и затем сохранить входные данные от пользователя, а также оценить это до состояния цикла.
Если условие не было выполнено, пользователю необходимо ввести int, что приведет к выполнению условия. Вместо этого он просто выходит из цикла.
Я пробовал и тогда и сейчас, если циклы, чтобы выполнить задачу.
Вот код:
#include "stdafx.h"
// Namespaces
using std::cin;
using std::cout;
using std::endl;
using std::istream;
using std::iostream;
using std::ostream;
using std::string;
// Variables
const string new_game = "Start a new game";
const string continue_game = "Continue your game";
const string load_save = "Load a save";
int menu_choice = 0;
const string choice_description = "You choice to";
// MAIN Program
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Welcome to The Forgotten Time" <<endl;
cout << "You have the following options" << endl;
while (menu_choice < 1 || menu_choice > 3 )
{
cout << "1." << new_game << endl;
cout << "2." << continue_game << endl;
cout << "3." << load_save << endl;
cin >> menu_choice;
}
switch (menu_choice)
{
case 1: cout << choice_description << new_game;
case 2: cout << choice_description << continue_game;
case 3: cout << choice_description << choice_description;
}
cin.ignore();
cin.get();
return 0;
}
В конце я хотел бы иметь возможность объединить условный оператор в функции
и передать его через оператор switch, чтобы создать предложение, которое оценивает
Пользователь вводит и отображает их выбор.
Изначально вы установили:
int menu_choice = 0;
Тогда вы спросите:
if (menu_choice < 1 || menu_choice > 4 )
Выбор меньше чем 1
Итак if block
введен
Затем вы получаете пользовательский ввод и выходите из приложения.
У вас нет цикла в вашем коде вообще. Просто начальный условный оператор, который вернул бы истинное значение, потому что:
menu_choice=0;
а также,
if(menu_choice<1 ||...)
Вам также не нужно выражение «возврат». Вставьте переключатель () после вашего if ().
Кроме того, вы можете просто удалить второе условие if () и поместить весь контент main () в цикл while () или do.. while ().
Кроме того, переключатель довольно эффективен, если у вас есть отображение на основе меню, которое принимает определенный конкретный набор значений.
Удалите условие if, вместо этого используйте цикл do while.
do{
cout << "1." << new_game << endl;
cout << "2." << continue_game << endl;
cout << "3." << load_save << endl;
cin >> menu_choice;
}
while (menu_choice!=0);