【发布时间】:2014-09-24 04:33:45
【问题描述】:
我需要编写一个程序,让你输入两个整数,然后输出这两个整数,但是如果你输入'|',它会结束程序。
这就是我所拥有的,对我来说应该可以,但不幸的是它没有。
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int var1 = 0;
int var2 = 0;
while(1)
{
cout << "Please enter two numbers.\n";
cin >> var1;
cin >> var2;
if(var1 == '|')
break;
else
{
if(var2 == '|')
break;
else
{
cout << var1 << ' ' << var2 << '\n';
}
}
}
}
我确信这是我缺少的一些简单概念,但任何帮助显然都将不胜感激。
【问题讨论】:
-
当输入以
|开头时,cin >> var1;不会将任何内容读入var。您必须更改处理输入的策略。 -
输入 2 和 | 时的输出是什么?
-
@NathanWride '请输入两个数字。 2 0 请输入两个数字。 2 0 请输入两个数字。 2 0 请输入两个数字。 2 0 请输入两个数字。 2 0 请输入两个数字。 2 0' 它不断重复它
-
@Joe 这告诉你它正在读取 0,或者没有字符,正如@R Sahu 所说。试试 Cheers 和 hth alf 的回答
标签: c++ break formatted-input