条件语句的目的是打印出一个简单的基于文本的菜单,然后存储来自用户的输入,并将其评估为循环的条件。
如果条件不满足,则应提示用户输入int数字,这将导致条件为真。相反,它只是退出循环。
我已尝试过while和now,如果循环完成任务。
以下是代码:
#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语句传递它以创建一个评估的句子 用户输入并显示他们的选择。
答案 0 :(得分:0)
你的代码根本没有循环。只是一个初始条件语句,它将返回一个真值,因为:
menu_choice=0;
和,
if(menu_choice<1 ||...)
您也不需要“返回”声明。在if()之后插入一个switch()。 此外,您可以删除第二个if()条件并将整个main()内容放在while()或do..while()循环中。 此外,如果您有一个基于菜单的显示器,它可以获取某些特定的离散值集,那么开关非常有效。
答案 1 :(得分:0)
最初你设置:
int menu_choice = 0;
然后你问:
if (menu_choice < 1 || menu_choice > 4 )
选项小于1
,因此输入if block
然后,您将获得一些用户输入并退出应用程序。
答案 2 :(得分:0)
删除你的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);