我的程序有问题,打印正确只有第一行答案是我的.txt文件,第一个数字(3)是商店编号,第二个数字(5)是产品编号,其他行是产品价格
3 5
1.27 2.92 3.45 1.09 0.89
1.08 2.25 3.75 1.12 0.69
0.98 2.48 3.62 1.10 0.72
这里是我的results.txt文件,在女巫中都是每一行的结果
9.62
8.89
8.90
我的程序代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
double dienos, results;
int shops;
ifstream fin ("duomenys1.txt");
fin >> shops;
for( int shop = 1; shop <= 3; shop++ ) {
results = 0;
fin >> dienos;
for ( int pricelist = 1; pricelist <= 5; pricelist++ ) {
double price;
fin >> price;
results += price;
}
cout << results << endl;
}
}
答案 0 :(得分:3)
我怀疑在:
ifstream fin ("duomenys1.txt");
fin >> shops;
for( int shop = 1; shop <= 3; shop++ ) {
results = 0;
fin >> dienos;
fin >> dienos
应该在你的循环之外。
这两个循环都是硬编码的,而不是使用读取的值。
答案 1 :(得分:0)
你可以尝试这段代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
double dienos, results;
int shops;
ifstream fin("duomenys1.txt");
fin >> shops;
fin >> dienos;
for (int shop = 1; shop <= shops; shop++)
{
results = 0;
for (int pricelist = 1; pricelist <= dienos; pricelist++)
{
double price;
fin >> price;
results += price;
}
cout << results << endl;
}
}