C ++ - 读取和比较用户输入?

时间:2014-02-07 11:12:35

标签: c++

我对编程很陌生。 我想创建一个请求您的信息并将其保存到文本文件中的应用程序(但稍后会出现)。

我被困在这里,我想让程序读取用户输入的内容:

char nimi[20];
int aika;
int ika;
char juoma[3];

cout << "Hello!\nWhat's your name?\n";
cin >> nimi;
cout << "\n\nHi ";
cout << nimi;
cout << "!\n";
cout << "\nES or MF?";
cin >> juoma;

如果juoma是“ES”或“MF”,程序应该读取,然后根据答案执行一些代码。

如果像这样的东西会起作用,它会解决它,但它不会:

if(juoma==ES){
cout << "Nice choice!"
}

2 个答案:

答案 0 :(得分:5)

if(juoma=="ES")
{
   cout << "Nice choice!"
}

你错过了双引号。您需要将变量juoma声明为std::string才能生效。在C ++中使用char数组是一种严厉的折磨,不要这样做。

答案 1 :(得分:0)

正如nvoigt建议的那样:你必须添加双引号,编译器将能够创建一个临时的std :: string对象并用它来与juoma进行比较:

使用const std :: string对象的可能解决方案是:

const std::string esCompareHelper("ES");    
const std::string mfCompareHelper("MF");

if( (esCompareHelper == juoma) || (mfCompareHelper == juoma) )
{
   // your specialized code
}