C ++循环 - 输入整数直到用户退出

时间:2013-10-13 03:14:27

标签: c++ loops

好吧我试图让用户输入他们想要的整数,直到他们输入一个负数。第一步是使用ATOF函数将字符串转换为数字(我做了),然后允许用户输入整数(我只设法做一次,看看我是否可以正确使用atof函数。

任何帮助/提示都会给我正确的方向 这是我到目前为止的代码:

#include <iostream>
#include <string>

int main() { 
using namespace std;
char buffer[256];
char tempBuff[256] = {'\n'};
double result; 
int count = 0;

cout << "Testing " << endl;

cout << "Enter Any integers: ";
cin.getline(buffer,256);

for(int i = 0; i < strlen(buffer); i++)
{
    if(isdigit(buffer[i]))
{
    tempBuff[count] = buffer[i];
    count++;
}
}

if (atof(tempBuff) > 0) { 
result = atof(tempBuff) / 2;

}

cout << endl <<  "The integer you put was: " << tempBuff 
<< " And dividing the integers  "<< result << endl;

cin.ignore();
return 0;
}

1 个答案:

答案 0 :(得分:0)

atof如何知道tempBuff包含多少有效数字? atof函数仅接受C样式字符串作为其输入。否则,它无法知道有多少个字符有效。

您可以在致电tempBuff[count] = 0;之前使用atof。 C样式的字符串以零字节终止。