问题描述:完成今天的第一个问题但是数据由文件中读取。文件第一项是捐款人数,余下的内容应为成对的行,在每一对中,第一行为捐款人的姓名,第二行为数额。
解决思路:
改进第一个问题代码中的输入数据部分,由用户输入改为读取文件中的信息即可
代码:
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
struct donor{
string name;
double amount;
};
int main()
{
int line = 0 , num, i , j;
string buffer[10];
fstream outFile;
outFile.open("donation.txt",ios::in);
while(!outFile.eof())
{
getline(outFile , buffer[line] , '\n');
line++;
}
outFile.close();
num = atoi(buffer[0].c_str());
donor donors[num];
for(i = 0;i < num;i++)
{
donors[i].name = buffer[2*i+1];
donors[i].amount = atoi(buffer[2*i+2].c_str());
cout << donors[i].name << " donation " << donors[i].amount << endl;
}
return 0;
}
标签:donors,outFile,buffer,问题,第六天,num,第四个,line,include From: https://www.cnblogs.com/czfznb/p/17330972.html