简单C ++计数器程序

时间:2015-10-19 15:25:50

标签: c++ loops user-input

我试图在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;

3 个答案:

答案 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));