📄 diskfiler.cpp
字号:
#include<fstream.h>
#include<iostream.h>
#include<iomanip.h>
#include<process.h>
#define N 5
#define M 7 //当f.txt中的内容确定后,N,M就为常数
struct Student
{
int num;
char name[20];
float score[M];
};
float Max(float *c)
{
float max=c[0];
for(int i=0;i<M;i++)
if(max<c[i])max=c[i];
return max;
}
float Min(float *c)
{
float min=c[0];
for(int i=0;i<M;i++)
if(min>c[i])min=c[i];
return min;
}
float Sum(float *c)
{
float sum=0.0;
for(int i=0;i<M;i++)
sum=sum+c[i];
return sum;
}
int main()
{
ifstream infile("f.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;;
exit(1);
}
Student s[N];
for(int i=0;i<N;i++) //依次将数据读入数组中
{
infile>>s[i].num;
infile>>s[i].name;
for(int l=0;l<M;l++)
infile>>s[i].score[l];
}
infile.close();
ofstream outfile("f.txt",ios::out|ios::ate);
if(!outfile)
{
cerr<<"open error!"<<endl;;
abort();
}
outfile<<"\n\n----------------------------------------------------------------------\n";
outfile<<" 参赛号 姓 名 最高分 最低分 累积分 最后得分 \n";
outfile<<"-----------------------------------------------------------------------\n";
cout<<"----------------------------------------------------------------------\n";
cout <<" 参赛号 姓 名 最高分 最低分 累积分 最后得分 \n";
cout<<"-----------------------------------------------------------------------\n";
for(int j=0;j<N;j++)
{
outfile<<setw(5)<<s[j].num<<" "<<setw(10)<<s[j].name<<setw(12)<<Max(s[j].score)<<setw(12)
<<Min(s[j].score)<<setw(12)<<Sum(s[j].score)-Max(s[j].score)-Min(s[j].score)<<setw(12)<<(Sum(s[j].score)-Max(s[j].score)-Min(s[j].score))/(M-2)<<endl;
cout<<setw(5)<<s[j].num<<" "<<setw(10)<<s[j].name<<setw(12)<<Max(s[j].score)<<setw(12)
<<Min(s[j].score)<<setw(12)<<Sum(s[j].score)-Max(s[j].score)-Min(s[j].score)<<setw(12)<<(Sum(s[j].score)-Max(s[j].score)-Min(s[j].score))/(M-2)<<endl;
}
outfile.close();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -