如何让我的程序分开而不是将输入之间的空格计算为整数
How do I get my program to separate not count the space between input as an integer?
我正在编写一个非常简单的程序,带有do-while循环,我在输入部分中遇到一个小东西的困难。每当我提示用户输入两个数字相加时,它允许我输入它们,但程序将两个数字之间的空格计为整数,它会导致程序结束而不是不断循环。我知道我可以做到:
cin >> num1;
cin >> num2;
但我喜欢这种看起来更好的方式,想知道如何解决这个问题?我希望我已经足够清楚了。这应该是一个非常简单的修复。
#include <iostream>
using namespace std;
int main (void)
{
int num1,
num2,
sum;
char repeat;
do
{
cout << "Please enter two numbers to be added together: ";
cin >> num1, num2;
sum = num1 + num2;
cout << "Your sum is " << sum << endl;
cout << "Would you like to perform this operation again? (Y/N)";
cin >> repeat;
}
while ((repeat == 'Y') || (repeat == 'y'));
return 0;
}
在单个string
中传递两个数字。找到空格位置并将输入分成两部分,如示例中所示。
注意:如果使用 c++11,则可以直接使用 std::stoi(str)
转换为 int
string input;
cin >> input;
int spacePos,
num1,
num2;
spacePos = input.find(" ");
num1 = atoi(input.substr(0, spacePos - 1).c_str());
num2 = atoi(input.substr(spacePos + 1).c_str());
相关文章:
- 我的 c++ 程序似乎没有发现字符串和我拥有但输入使用 getline 的变量之间的比较
- 将线程之间的标准输入/输出重定向
- 计算当前日期和用户输入日期问题之间的天数
- 在C++代码中,如何让用户在2个文本字符串之间输入一个数字
- 在 c++ 中反转数组时,为什么在输入和输出之间得到一个"random"数字?
- ios_base::sync_with_stdio(false) 在来自标准输入的两个输入之间不起作用
- 我正在尝试创建一个程序,用户在其中输入一系列数字,并且我想列出范围之间的质数
- 我们可以在两个输入之间获得时间吗?
- ios::app 和用于输入的 fstream 之间的交互
- 我们应该使用哪种数据类型来输入一个介于 0<= 数字 <= 10^18 之间的数字
- 在两个输入c++之间花费时间
- 如何让我的程序分开而不是将输入之间的空格计算为整数
- 为什么我的代码要求"请输入 2-12 之间的数字:"两次?
- 在输入和输出之间使用不同数量的样本对音频ffmpegc++进行编码
- 在这个输入中,float和double之间的区别是什么
- 在代码中定义字符串与控制台输入之间的区别
- <</>>运算符重载和输入/输出函数之间的区别
- c++计算输入和保存点的结构与原点之间的距离,根据距离打印出列表
- 使用忽略等输入之间的差异
- 创建一个算法,要求用户输入两个正数,将它们称为 "first" 和 "last" ,并打印第一个正数之间的所有数字的总和