fprintf(fp,\ }
//按学号及学期删除信息 void shanchu(Student *r) {
FILE *fp; if(num>0) {
if((fp=fopen(\{ }
for(int o=0;o cout<<\文件不能打开\exit(0); cout<<\文件已经写入\return r; fclose(fp); } fprintf(fp,\ rk1,r[n].mark2,r[n].mark3,r[n].term,r[n].sum,r[n].average); if((fp=fopen(\{ } for(n=0;n cout<<\文件不能打开\exit(0); cout<<\请输入 大学英语 成绩:\cin>>r[num].mark3; r[num].sum=r[num].mark1+r[num].mark2+r[num].mark3; num++; cout<<\是否继续输入?(继续,输入y,否则输入其他)\cin>>n; //计算总分 r[num].average=(r[num].mark1+r[num].mark2+r[num].mark3)/3; }while(n=='y'); fscanf(fp,\ 26 [o].term,&r[o].sum,&r[o].average); int n,k,t=0; cout<<\请输入要删除学生的学号:\cin>>n; cout<<\请输入要删除成绩的学期:\cin>>k; for(int m=0;m if(r[m].num==n&&r[m].term==k) { } if((fp=fopen(\{ } for(n=0;n cout<<\对不起,文件不能打开!\exit(0); for(int k=m;k //整体数量减一 //标志变量 1为找到0为未找到 r[k]=r[k+1]; //循环把后一位的信息提前一位 } fprintf(fp,\ } //按数据结构成绩冒泡降序排序 void maopao(Student *r) { FILE *fp; if(num>0) { } else cout<<\未输入任何信息!\ } fclose(fp); cout<<\文件已经写入\if(t==0) cout<<\对不起,该学号不存在!\fprintf(fp,\ rk1,r[n].mark3,r[n].mark3,r[n].term,r[n].sum,r[n].average); 27 if((fp=fopen(\{ } for(int n=0;n cout<<\对不起,文件不能打开!\exit(0); fscanf(fp,\ } //算法 for(int k=0;k cout<<\排序完毕\ if((fp=fopen(\{ } for(n=0;n cout<<\对不起,文件不能打开!\exit(0); for(int m=0;m Student max; if(r[m].mark2 max=r[m+1]; r[m+1]=r[m]; r[m]=max; [n].term,&r[n].sum,&r[n].average); fprintf(fp,\ } } else cout<<\对不起,未输入任何信息!\ } fclose(fp); cout<<\文件已经写入\ fprintf(fp,\ ark1,r[n].mark2,r[n].mark3,r[n].term,r[n].sum,r[n].average); 28 //按总分 选择降序 排序 void xuanze(Student *r) { FILE *fp; if(num>0) { if((fp=fopen(\{ } for(int n=0;n cout<<\文件不能打开\exit(0); fscanf(fp,\ } //算法 for(int i=0;i cout<<\排序完毕!\ if((fp=fopen(\{ } for(n=0;n cout<<\对不起,文件不能打开!\exit(0); int max=i; for(int j=i+1;j Student temp; temp=r[max]; r[max]=r[i]; r[i]=temp; if(r[max].sum max=j; [n].term,&r[n].sum,&r[n].average); fprintf(fp,\ fprintf(fp,\ rk1,r[n].mark2,r[n].mark3,r[n].term,r[n].sum,r[n].average); 29 } //统计各科总分及平均分 void tongji(Student *r) { float summark1=0,summark2=0,summark3=0; float avemark1=0,avemark2=0,avemark3=0; FILE *fp; system(\清屏 if(num>0) { for(int m=0;m summark1=summark1+r[m].mark1; summark2=summark2+r[m].mark2; summark3=summark3+r[m].mark3; } else cout<<\对不起,未输入任何信息!\} fclose(fp); cout<<\文件已经写入\ avemark1=summark1/num; avemark2=summark2/num; avemark3=summark3/num; cout< cout<<\高等数学 总分为:\平均分为:\cout< cout<<\数据结构 总分为:\平均分为:\cout< cout<<\大学英语 总分为:\平均分为:\cout< if((fp=fopen(\{ } for(int n=0;n cout<<\对不起,文件不能打开!\exit(0); fprintf(fp,\ rk1,r[n].mark2,r[n].mark3,r[n].term,r[n].sum,r[n].average); 30 } else cout<<\对不起,未输入任何信息!\ } cout<<\高等数学 总分为:\cout<<\数据结构 总分为:\cout<<\大学英语 总分为:\ fprintf(fp,\ }单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。 31
数据结构课程设计学生成绩管理系统
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)