




已阅读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河南新乡医学院辅导员招聘12人模拟试卷(含答案详解)
- 2025包头市昆都仑区发展和改革委员会竞争性比选工作人员的模拟试卷及一套答案详解
- 2025海南定安县建设工程质量安全监督站就业见习基地见习生招录5人模拟试卷及答案详解(名校卷)
- 2025安徽池州市贵池区招聘教师24人考前自测高频考点模拟试题及答案详解(有一套)
- 2025广西姆洛甲文化旅游投资有限公司招聘工作人员1人考前自测高频考点模拟试题及完整答案详解一套
- 2025广东越秀区华乐街道办事处招聘合同制工作人员1人模拟试卷及一套完整答案详解
- 2025河南郑州普海外国语学校招聘24人模拟试卷及一套答案详解
- 2025年甘肃省兰州市西固区中医医院招聘12人考前自测高频考点模拟试题及一套完整答案详解
- 2025广西桂林市灵川县发展和改革局公开招聘6人模拟试卷附答案详解(完整版)
- 2025年中国地质调查局廊坊自然资源综合调查中心公开招聘32人模拟试卷附答案详解(典型题)
- 2025年摩托车用锁行业深度研究分析报告
- 《家族企业人力资源管理探究-以某集团为例》15000字【论文】
- 幼儿园创造性游戏培训
- 2025至2030年中国去屑洗发露数据监测研究报告
- 输变电工程监督检查标准化清单-质监站检查
- 《传统书画装裱与修复中材料的选择与运用》
- 2024ESC心房颤动管理指南解读
- 稻盛和夫活法读后感
- 防洪排涝工程合同范本有效
- 高血压病基层诊疗指南
- 医院视频监控系统维保方案
评论
0/150
提交评论