此程序应从另一个文件中获取数据。此文件的数字如下:
2017 3 12
4223
161 10.0 0 2 T
99 5.00 10 3 T
0
581
123 45.00 10 3 T
921 5.25 0 1 N
83 14.99 25 2 T
0
4223和581是收据; 161,99,123等是项目ID;在项目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;
}
答案 0 :(得分: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);
}