我试图在C ++中创建一个简单的计数器程序,它将使用用户输入(通过按某个键指定)来增加变量。以下是我提出的建议:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
int variable;
char userInput;
variable = 0;
cout << "To increment variable one, press a \n";
do
{
variable = variable++;
cout << "variable++ \n" ;
} while (userInput = "a");
}
我已经仔细阅读了这个网站上的几个相关主题,并认为这应该有效。但是,我得到了几个错误,包括没有定义对变量的操作,并且有一个&#34;无效的转换&#34;来自&#34; const char&#34;到&#34; char。&#34;
答案 0 :(得分:1)
在循环中添加cin:
cin>>userInput;
并更改
variable = variable++;
到
variable++; // or variable = variable + 1;
接下来你的状况应该是这样的:
while (userInput=='a');
所以你的整体计划将如下所示:
#include <iostream>
using namespace std;
int main()
{
int variable;
char userInput;
variable = 0;
cout << "To increment variable one, press a \n";
do
{
cin>>userInput;
variable++;
cout << "variable++ \n" ;
} while (userInput=='a');
return 0;
}
答案 1 :(得分:0)
在while循环中,您需要std::cin,例如
cin >> userInput;
此外,以下一行
variable = variable++;
将产生Undefined Behaviour。阅读有关Sequence point的更多信息,以便更好地了解。
尝试:
variable = variable + 1;
最后在while循环中断条件,而不是赋值操作
while (userInput = "a");
使用比较:
while (userInput == "a");
答案 2 :(得分:-2)
您需要使用
std::cin >> userInput; // each time you go through the `do` loop.
此外,您只需要使用
variable++; // on the line.
另外!使用cout << variable << "\n";
最后,使用
} while(strncmp((const char*)userInput,(const char*)"a",1));