之前还能输出,刚运行时发现不知道为什么最后一条记录不能输出了
#include
#include"Sales_item.h"
int main()
{
Sales_item total;
if (std::cin >> total)
{
Sales_item trans;
while (std::cin >> trans)
{
if (total.isbn() == trans.isbn())
{
total += trans;
}
else {
std::cout << total << std::endl;
total = trans;
}
}
std::cout << total << std::endl;
}
else {
std::cerr << "NO data" << std::endl;
return -1;
}
return 0;
}
输出结果:
Sales_item.h的定义没有看到,输入也不知道你怎么输入的,所以没有办法帮你调试。
作为一般性的建议,一个是调试,看是不是程序在输出最后一条前报错崩溃或者陷入输入等待或死循环。
另一个是看看程序是否因为if分支,循环,return导致没有输出最后一条的逻辑就执行完毕了。
不是输出问题,是输入问题。检测下是否输入是否错误检测