无法获取哨兵值以读取多个 CIN 输入?
Can't get sentinel value to read multiple cin inputs?
这个程序应该从另一个文件中获取数据。此文件包含如下数字:
2017年3 12
4223
161 10.0 0 2吨
99 5.00 10 3 吨
0
581
12345.00 10 3
吨921 5.25 0 1 N
8314.99 25 2
吨0
4223 和 581 是收据编号;161、99、123 等是项目 ID;item ID 后面还有其他四个输入,我将在稍后尝试处理;0 是哨兵。
我尝试的是使用 while 循环来读取数据,如果不是哨兵,则至少处理和输出项目 ID。然而,它不起作用。
#include <iostream>
using namespace std;
int main()
{
double operation;
int year;
int month;
int day;
int receiptnum
int itemid;
double regprice;
int percentoff;
int numpurchased;
char taxstatus;
cin >> year >> month >> day;
cout << "Date of purchases: " << month << "/" << day << "/" << year << endl
cin >> receiptnum >> itemid >> regprice >> percentoff >> numpurchased >> taxstatus;
while(receiptnum !=0 && itemid !=0 && regprice !=0 && percentoff !=0 && numpurchased !=0 && taxstatus !=0)
{
cout<< itemid << endl;
}
return 0;
}
您需要 2 个循环:一个读取到文件末尾,另一个读取单个项目:
while (cin >> receiptnum) {
// Read all item lines
do {
itemid = 0;
if (cin >> itemid && itemid) {
if (cin >> regprice >> percentoff >> numpurchased >> taxstatus) {
// Do something with the data
}
}
} while (itemid);
}
相关文章:
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 分割错误 11:尝试使用 cin 输入 B[1] 时
- 当使用 std::CIN 输入结构时,它会出错
- C ++如何使用CIN输入这样的值?
- 使用 cin 输入数组值
- 当我输入一个字母时,cin 输入(输入是一个 int),而不是打印错误一次,它打印正确一次,然后在循环的其余部分打印 i
- 成功使用连续同时(cin >>输入)
- 连续 cin 输入在C++中的工作原理
- 无法获取哨兵值以读取多个 CIN 输入?
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- C CIN输入要文件
- C++:获取用户通过cin输入的数据类型
- 无法读取字符串的长 cin 输入
- 如何将可编辑的预定义字符串写入 C++ 控制台应用程序中的 cin 输入运算符
- 循环获得CIN输入
- cin 输入可以有多大
- 如何拆分 CIN 输入
- 检查有效的 CIN 输入时出现问题
- 较长的获取线 CIN 输入的问题
- 检查 cin 输入流会生成一个整数