我遇到了错误,他们说a,q,h等不是声明变量,但我不知道如何解决这个问题。这是我的代码示例。
我也遇到一个错误,它在while循环中无法识别userinp,但是我不确定如何将while循环外部的变量存储转移到while循环内而不声明全局变量,我想避免。
最后一个问题:我希望能够在每个菜单项后立即返回主菜单,但我不确定该用什么。
非常感谢任何帮助!
//Runs a program with a menu that the user can navigate through different options with via text input
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <ctype.h>
#include <string>
using namespace std;
int main()
{
int userinp;
cout<<"Here is the menu:" << endl;
cout<<"Help(H) addIntegers(A) subDoubles(D) Quit(Q)";
cin >> userinp;
userinp = tolower(userinp);
while userinp != q //loop while no q is input
{
if userinp == h
{
cout <<"This is the help menu. Upon returning to the main menu, input A or a to add 2 intergers." << endl;
cout <<"Input D or d to subtract 2 doubles. Input Q or q to quit.";
}
if userinp == a
{
int a, b, result;
cout <<"Enter two integers:";
cin << a << b;
result = a + b;
cout << "The sum of " << a << " + " << b << " = " << result;
}
}
}
答案 0 :(得分:1)
试试这个:
while(userinp != 'q') {
而且:
if(userinp == 'h')
而且:
if(userinp == 'a')
等,您可能希望将userinp
声明为char
而不是int
。
如果要比较文字字符,则必须使用单引号。如果要比较文字字符串,则需要双引号。唯一比较文字数字而不使用引号。
您的输入也有错误。您的>>
应为<<
。将>>
与cin
一起使用,并将<<
与cout
一起使用。
答案 1 :(得分:0)
代码问题: 你希望用户输入是一个字符,但你已声明为整数 2)if的条件应在括号内