C++,编程求大神帮忙!将从键盘输入的10位同学的学号和成绩存入到文件student.dat中

编写程序,将从键盘输入的10位同学的学号和成绩存入到文件student.dat中,再从文件中读取学生的信息,求出最高分,最低分和总分,并将最高分,最低分的学生姓名和成绩存... 编写程序,将从键盘输入的10位同学的学号和成绩存入到文件student.dat中,再从文件中读取学生的信息,求出最高分,最低分和总分,并将最高分,最低分的学生姓名和成绩存入到文件cj.dat中。
这是我写的,接下来不知道怎么下手,求大神帮忙!
写了一下不知道怎么写了,上次有一个大神写的看不懂啊,求简单!谢谢!
#include"iostream.h"
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#define N 10
struct student
{
char name[8];
char num[8];
double score;
};
void main()
{
struct student s[N],t[N];
int i;
FILE *fp1,*fp2;
if((fp1=fopen("student.dat","wb"))==NULL)
{
cout<<"can't open student.dat";
exit(1);
}
for(i=0;i<N;i++)
{
cin>>s[i].name>>s[i].num>>s[i].score;
fwrite(&s[i],sizeof(student),1,fp1);
}
fclose(fp1);
if((fp2=fopen("cj.dat","wb"))==NULL)
{
cout<<"can't open student.dat"; exit(1);
}
if((fp1=fopen("student.dat","rb"))==NULL)
{
cout<<"can't open student.dat";
exit(1);
}
fread(t,sizeof(t),1,fp1);
for(i=0;i<N;i++)
cout<<t[i].name<<' '<<t[i].num<<' '<<t[i].score<<endl;
fclose(fp);
}
展开
 我来答
微俊king
2014-05-16 · TA获得超过576个赞
知道小有建树答主
回答量:626
采纳率:50%
帮助的人:569万
展开全部
#include<iostream>
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
using namespace std;
#define N 10 
struct student

 char name[8];
 char num[8];
 double score;
};

struct grade{
char name[8];
double score;
};

int main()
{
struct student s[N],t[N];
  int i, max = 0, min = 0;
struct grade r_grade;
double sum;
FILE *fp1,*fp2;
if((fp1=fopen("student.dat","wb"))==NULL) {
cout<<"can't open student.dat";
  exit(1);
  }
  for(i=0;i<N;i++){
 cin>>s[i].name>>s[i].num>>s[i].score;
   fwrite(&s[i],sizeof(student),1,fp1);
    }
  fclose(fp1);  
  if((fp1=fopen("student.dat","rb"))==NULL)   {
  cout<<"can't open student.dat"; 
   exit(1); 
    }
  fread(t,sizeof(t),1,fp1); 
  for(i=0;i<N;i++){   
sum += t[i].score;
   cout<<t[i].name<<' '<<t[i].num<<' '<<t[i].score<<endl;
if(!i)
continue;
if(t[min].score > t[i].score)
min = i;
if(t[max].score < t[i].score)
max = i;
}
fclose(fp1);

  if((fp1=fopen("cj.dat","wb"))==NULL)   {
  cout<<"can't open student.dat"; 
   exit(1); 
    }
strcpy(r_grade.name, t[min].name);
r_grade.score = t[min].score;
fwrite(&r_grade,sizeof(r_grade),1,fp1);
strcpy(r_grade.name, t[max].name);
r_grade.score = t[max].score;
fwrite(&r_grade,sizeof(r_grade),1,fp1);
cout<<"sum ="<<sum;
fclose(fp1);

return 0;
}

忘了读写了 就看了下你的代码的读写 都 是泪 

这是很基础的东西 少年少谈恋爱吧

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式