




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理系统 学生成绩管理系统的设计与实现报告内容1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。2、输入功能:可以一次完成若干条记录的输入。3、显示功能:完成全部学生记录的显示。4、查找功能:完成按姓名查找学生记录,并显示。5、排序功能:按学生平均成绩进行排序。6、插入功能:按平均成绩高低插入一条学生记录7 删除功能:如果输入错误,可以删除学生记录;8 退出。代码如下:#include stdio.h#include conio.h#include string.hint n=0;struct studentint num;char name10;int score3;float avg;stu1000;main() for(;) switch(print() case 0:printf(nnPlease,choose the number form 1 to 8n);break; case 1:creat();break; case 2:display();break; case 3:find();break; case 4:sort();break; case 5:add();break; case 6:del();break; case 7:save();break; case 8:exit(0); printf(nnn put any key to the menu.n); getch(); print() char s3; int c; clrscr();printf(nnn *MENU*n);printf( | |n);printf( | 1 Increase the record |n);printf( | |n);printf( | 2 Show all records |n);printf( | | then);printf( | 3 search the record |n);printf( | | result n);printf( | 4 Sort records |n);printf( | | managementn);printf( | 5 Insert record |n);printf( | |n);printf( | 6 Delete a record |n);printf( | |n); printf( | 7 Save the file |n);printf( | |n);printf( | 8 Quit | shen.n);printf( | | 05.7.2n);printf( *n); doprintf(n Enter you choice(18):); scanf(%s,s); c=atoi(s); while(c8); return(c); creat()int i;FILE *fp;clrscr();printf(How many students to record?(11000)n);scanf(%d,&n);printf(nNO.: name: score1: score2: score3:n);for(i=0;i scanf(%d%s%d%d%d,&stui.num,,&stui.score0,&stui.score1,&stui.score2); stui.avg=(float)(stui.score0+stui.score1+stui.score2)/3; if(fp=fopen(score,wb)=NULL) printf(Error,cannot open filen ); return; for(i=0;i if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(file write errorn);fclose(fp);display()int i,p=1;FILE *fp;clrscr();if(fp=fopen(score,rb)=NULL) printf(nn Please,increase records first! n ); return; printf(nn NO.: name: score1: 2: 3: average:n);for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); if(stui.num!=0) printf(%5d %-10s %4d %4d %4d %8.2fn,stui.num,,stui.score0,stui.score1,stui.score2,stui.avg); if(i=20*p)printf(puts any key to next pag.);getch();p+; fclose(fp);find()char c10;int i;FILE *(fp);if(fp=fopen(score,rb)=NULL) printf(Error,cannot open filen ); return; for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp);printf(input the name for search:n);scanf(%s,c);clrscr();printf(nn NO.: name: score1: 2: 3: average:n);for(n=i,i=0;i if(strcmp(c,)=0)printf(%4d %-10s %4d %4d %4d %8.2fn,stui.num,,stui.score0,stui.score1,stui.score2,stui.avg);break; else if(i=n-1)printf(n Error!n No this studentn); add()int i;FILE *fp;char y;clrscr();printf(How many students to insertn);scanf(%d,&n);printf(nNO.: name: score1: score2: score3:n);for(i=0;i scanf(%d%s%d%d%d,&stui.num,,&stui.score0,&stui.score1,&stui.score2); stui.avg=(float)(stui.score0+stui.score1+stui.score2)/3; if(fp=fopen(score,ab)=NULL) printf(Error,cannot open filen ); return; for(i=0;i if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(file write errorn);fclose(fp);printf(nnDo you want to sort? y/n? ); scanf(%s,&y); if(y=Y|y=y)sort();save()int i;FILE *fp;if(fp=fopen(score,wb)=NULL) printf(Error,cannot open filen ); return; for(i=0;i if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(file write errorn);fclose(fp);load()FILE *fp;int i;if(fp=fopen(score,rb)=NULL)return;for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp);fclose(fp);sort()int i,j,k,t;float p; FILE *fp;char temp10; if(fp=fopen(score,rb)=NULL) printf(Error,cannot open filen ); return; for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp); for(n=i,i=0;i k=i; for(j=k+1;j if(stuk.avg k=j; t=stuk.num; stuk.num=stui.num; stui.num=t; strcpy(temp,); strcpy(,); strcpy(,temp); t=stuk.score0;stui.score0=t; t=stuk.score1; stuk.score1=stui.score1; stui.score1=t; t=stuk.score2; stuk.score2=stui.score2; stui.score2=t; p=stuk.avg; stuk.avg=stui.avg; stui.avg=p; clrscr();printf(nn NO.: name: score1: 2: 3: average:n);for(i=0;i if(stui.num!=0) printf(%5d %-10s %4d %4d %4d %8.2fn,stui.num,,stui.score0,stui.score1,stui.score2,stui.avg); del()int i,x;char c10,y;FILE *fp; if(fp=fopen(score,rb)=NULL) printf(Error,cannot open filen ); return; clrscr(); printf(n NO.: name: score1: 2: 3: average:n); for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); if(stui.num!=0)printf(%5d %-10s %4d %4d %4d %8.2fn,stui.num,,stui.score0,stui.score1,stui.score2,stui.avg); fclose(fp); printf(input the name for deleten); scanf(%s,c); for(n=i,i=0;i if(strcmp(c,)=0)break; for(x=i;x stux.num=stux+1.num; strcpy(,stux+1.name); stux.score0=stux+1.score0; stux.score1=stux+1.score1; stux.score2=stux+1.score2; stux.avg=stux+1.avg; clrscr(); printf(n NO.: name: s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年跨境电商绿色有机食品供应与分销协议
- 2025年新能源车销售代理权及业绩提成合作协议
- 2025年度考试试题版权保护及教师利益保障合同
- 2025年高端图文印刷服务合同:全方位企业宣传物料定制
- 幼儿认字教学辅助工具设计
- 企业股权融资合同范文模板
- 高校招生宣传方案实例解析
- 企业定制化交通安全培训课件制作
- 校长与教师沟通管理技巧记录
- 服务器采购及销售合同范文示例
- 家装返修协议合同书模板
- 《油烟机清洗》课件
- 长鑫存储在线测评
- Q-GDW-1480-2015-分布式电源接入电网技术规定
- 新发展英语(第二版)综合教程2 课件 Unit 6 Cultural Difference
- 肩颈专业知识培训课件
- 发改价格〔2007〕670号建设工程监理与相关服务收费标准
- 心血管疾病诊断
- 注射用重组人TNK组织型纤溶酶原激活剂-药品临床应用解读
- 小儿泄泻(小儿腹泻病)中医临床路径
- 农光互补光伏发电项目可行性研究报告
评论
0/150
提交评论