c++:读取文件score.dat的内容,并经过计算后生成文件statics.dat的内容。

#include<iostream>#include<fstream>using namespace std;int Sum(int a,int b,int c){ int sum; sum=a+b+c; return sum;}double Ave(int a,int b,int c){ double ave; ave=(a+b+c)/3; return ave;}int main(void){ cout<<"2016111893 蔡睿"<<endl; int i=1; char number[5],chinese[5],english[5],c[5],total[5],average[5]; FILE *file2; ifstream file1("d:\\test\\score.dat.txt",ios::out); //文件打开,成功返回文件流对象值为非零值,不成功为0 if(!file1) { cout<<"打开文件不存在!"<<endl; exit(0); } file2=fopen("d:\\test\\statics.dat.txt","w"); while(!file1.eof())//文件未结束循环 { file1>>number>>chinese>>english>>c; total[i]=chinese[i]+english[i]+c[i]; average[i]=total[i]/3; i++; fprintf(file2, "%-15s%-15s%-15s%-15s%-15s\n", number,chinese,english,c,total,average); } file1.close();}不知道该怎么弄呢???

#include<iostream>

#include<fstream>

#include<string>

using namespace std;

void main(void)

{

const int N=16;

string c[N];

string aver="total  average";

int b[3][3];

int i,j;

double ave[3],sum[3];

fstream f1("d:\\test\\score.dat.txt");

if(!f1)

{

cout<<"打开文件不存在"<<endl;

}

else

{

cout<<"读取的数据为"<<endl;

for(i=0;i<16;i++)

{

f1>>c[i];

}

for(i=0;i<16;i++)

{

cout<<c[i]<<" ";

if((i+1)%4==0)

cout<<endl;

}

for(i=0;i<3;i++)

{

sum[i]=0;

for(j=0;j<3;j++)

{

b[i][j]=std::stoi(c[i*4+j+5]);

sum[i]=sum[i]+b[i][j];

}

ave[i]=sum[i]/3;

}

f1.close();

}

ofstream f2("d:\\test\\statics.dat.txt");

if(!f2)

{

cout<<"打开文件错误"<<endl;

}

else

{

for(i=0;i<4;i++)

{

f2<<c[i]<<" ";

}

f2<<aver<<endl;

for(i=4;i<16;i++)

{

f2<<c[i]<<" ";

if((i+1)%4==0)

f2<<""<<sum[(i+1)/4-2]<<"  "<<ave[(i+1)/4-2]<<endl;

}

cout<<"请打开 statics.dat.记事本查看结果"<<endl;

}

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-21
同是swjtu
第2个回答  2019-04-24
你怕是交大的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网