2022年C语言学生选课管理系统 .pdf

上传人:Che****ry 文档编号:34881767 上传时间:2022-08-19 格式:PDF 页数:9 大小:60.92KB
返回 下载 相关 举报
2022年C语言学生选课管理系统 .pdf_第1页
第1页 / 共9页
2022年C语言学生选课管理系统 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年C语言学生选课管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言学生选课管理系统 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、#include #include #include struct student int num; char name10; char sex3; int age; float score; stu5=1001,张 林 , 男 ,18,80,1002,陈 明 , 男 ,19,58,1003,李 红 , 女,20,89,1004, 王小 , 女 ,19,85; void cover() system(cls); printf(nnn); printf(ttt 班级学生成绩管理系统nn); printf(tttt 版本号 :1.0nn); printf(nnn); printf(tttt 201

2、1年 5 月nn); printf(tttt 土本工程专业n); void mainmenu() system(cls); printf(nnn); printf( | * * * * * 学生成绩管理系统* * * * * |n); printf( |.|n); printf( | 请选择菜单序号(06) |n); printf( |.|n); printf( | 1- 打开文件|n); printf( | 2- 保存文件|n); printf( | 3- 编辑数据|n); printf( | 4- 显示数据|n); printf( | 5- 数据计算|n); printf( | 6- 数据

3、排序|n); printf( | 7- 程序说明|n); printf( | 0- 退出系统|n); printf( |.|n); void edit() system(cls); printf(nnn); printf( | * * * * * 编辑子菜单 * * * * * |n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - printf( |.|n); printf( | 请选择菜单序号(03) |n); print

4、f( |.|n); printf( | 1- 增加记录|n); printf( | 2- 删除记录|n); printf( | 3- 修改记录|n); printf( | 0- 返回上级菜单|n); printf( |.|n); void display() system(cls); printf(nnn); printf( | * * * * * 查看子菜单 * * * * * |n); printf( |.|n); printf( | 请选择菜单序号(04) |n); printf( |.|n); printf( | 1- 查看选定记录|n); printf( | 2- 显示全部记录|n)

5、; printf( | 3- 显示排序记录|n); printf( | 4- 显示不及格记录|n); printf( | 0- 返回上级菜单|n); printf( |.|n); void calculate() system(cls); printf(nnn); printf( | * * * * * * * 计算子菜单 * * * * * * |n); printf( |.|n); printf( | 请选择菜单序号(03) |n); printf( |.|n); printf( | 1- 计算总成绩和平均成绩|n); printf( | 2- 计算最高分|n); printf( | 3-

6、 计算最低分|n); printf( | 0- 返回上级菜单|n); printf( |.|n); void sort() system(cls); printf(nnn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - printf( | * * * * * 排序子菜单 * * * * * * * |n); printf( |.|n); printf( | 请选择菜单序号(02) |n); printf( |.|n); pr

7、intf( | 1- 按升序排序|n); printf( | 2- 按降序排序|n); printf( | 0- 返回上级菜单|n); printf( |.|n); void maxsco ( struct student stu,int n) /最示成绩最大值 float max; int i,maxid; max=stu0.score; for(i=1;imax) max=stui.score; maxid=i; printf( 成绩最高分的学生是:%s,成绩为 : =%fn,stumaxid.name,max); getchar(); void minsco (struct studen

8、t stu,int n) /显示成绩最小值 float min; int i,minid; min=stu0.score; for(i=1;in;i+) if (stui.scoremin) min=stui.score; minid=i; printf( 成绩最低分的学生是:%s,成绩为 : =%fn,stuminid.name,min); getchar(); void sumave( struct student stu,int n) /显示成绩之和和平均值 float sum=0,ave; int i; for(i=0;in;i+) sum=sum+stui.score; ave=su

9、m/n; printf( 全班总成绩为:%f, 平均成绩为:%fn,sum,ave); getchar(); void asort(struct student stu,int n) /成绩的升序排序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - float t; int i,j; for(i=0;in-1;i+) for(j=0;jn-1-i;j+) if(stuj.scorestuj+1.score) t=stuj.scor

10、e; stuj.score=stuj+1.score; stuj+1.score=t; printf(the sorted arrary :n); for(i=0;in;i+) printf(%st%f ,stui.name,stui.score); getchar(); void dsort(struct student stu,int n) /成绩的降序排序 float t; int i,j; for(i=0;in-1;i+) for(j=0;jstuj+1.score) t=stuj.score; stuj.score=stuj+1.score; stuj+1.score=t; prin

11、tf(the sorted arrary :n); for(i=0;in;i+) printf(%st%f ,stui.name,stui.score); getchar(); void cdis(struct student stu,int n) /指定记录的查找 int i,no,sno; char sname20; printf(-1. 按姓名查询2.按学号查询 -n); printf(n 请输入你要查询的类别:); scanf(%d,&no); switch(no) case 1: printf(nn请输入你所查询的姓名:); scanf(%s,&sname); for(i=0;in;

12、i+) if(strcmp(stui.name,sname)=0) printf(nt%dt%st%st%dt%f,stui.num,stui.name,stui.sex,stui.age,stui.score);getchar();break; case 2: printf(nn 请输入你所查询的学号:); scanf(%d,&sno); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - for(i=0;in;i+) if(sn

13、o=stui.num) printf(nt%dt%st%st%dt%f,stui.num,stui.name,stui.sex,stui.age,stui.score); getchar(); break; case 0: break; getchar(); void disall(struct student stu,int n) /显示全部记录 int i; printf(tt学号 t 姓名 t 性别 t 成绩 tn); for(i=0;in;i+) printf(tt%dt%st%st%fn,stui.num,stui.name,stui.sex,stui.age,stui.score)

14、; getchar(); void disfault(struct student stu,int n) /显示不及格的记录 int i; printf(tt学号 t 姓名 t 性别 t 成绩 tn); for(i=0;in;i+) if(stui.scoreno-1;i-) stui.num=stui-1.num; strcpy(stui.name,stui-1.name); strcpy(stui.sex,stui-1.sex); stui.age=stui-1.age; stui.score=stui-1.score; printf( 请输入插入的记录n); scanf(%dt%st%s

15、t%dt%f,&stuno-1.num,&stuno-1.name,&stuno-1.sex,&stuno-1.age,&stuno-1.score); printf( 最终记录为 :n); for(i=0;in;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - printf(t%dt%st%st%dt%fn,stui.num,stui.name,stui.sex,stui.age,stui.score); getchar

16、(); void dele(struct student stu,int n) /删除记录 int i,no; printf( 请输入你要删除的记录号:); scanf(%d,&no); for(i=no-1;i4;i+) stui.num=stui+1.num; strcpy(stui.name,stui+1.name); strcpy(stui.sex,stui+1.sex); stui.age=stui+1.age; stui.score=stui+1.score; for(i=0;in;i+) printf(t%dt%st%st%dt%fn,stui.num,stui.name,stu

17、i.sex,stui.age,stui.score); getchar(); void modify(struct student stu,int n)/修改记录 int no,i,choose,snum; char sname20; char ssex3; int sage; float sscore; printf( 请输入你要编辑的记录号:); scanf(%d,&no); printf(-1. 修改学号2.修改姓名 -n); printf(-3. 修改性别4.修改年龄 -n); printf(-5.修改成绩 -n); printf(n请输入你的修改项:); scanf(%d,&choo

18、se); switch(choose) case 1:printf( 请输入新学号 :); scanf(%d,&snum); stuno-1.num=snum; getchar();break; case 2: printf( 请输入新姓名:); scanf(%s,&sname); strcpy(stuno-1.name,sname);getchar();break; case 3: printf( 请输入你所修改的性别:); scanf(%s,&ssex); strcpy(stuno-1.sex,ssex);getchar();break; case 4: printf( 请输入你所修改的年

19、龄值:); scanf(%d,&sage); stuno-1.age=sage;getchar();break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - case 5: printf( 请输入你所修改的成绩:); scanf(%f,&sscore); stuno-1.score=sscore;getchar();break; default: break; for(i=0;in;i+) printf(t%dt%st%st

20、%dt%fn,stui.num,stui.name,stui.sex,stui.age,stui.score); getchar(); void save(struct student stu,int n) /保存文件 FILE *fp; int i; if(fp=fopen(c:111.txt,w)=NULL) printf(the file not openn); exit(0); for(i=0;in;i+) fprintf(fp,tt%dt%st%st%dt%fn,stui.num,stui.name,stui.sex,stui.age,stui.score); fprintf(fp,

21、n); printf( 文件保存成功 n); fclose(fp); getchar(); void open(struct student stu,int n) FILE *fp; int i=1; if(fp=fopen(c:111.txt,r)=NULL) printf(cannot open this filen); exit(0); rewind(fp); printf(ttnumbertnametsexagetscoren); fseek(fp,i*sizeof(struct student),0); fread(stu,sizeof(struct student),1,fp);

22、printf(%dt%st%st%dt%fn,stui.num,stui.name,stui.sex,stui.age,stui.score); fclose(fp); getchar(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - void main() int num,calnum,snum,dnum,ednum; system(cls); cover(); printf( 请按回车键进入系统主界面n); getcha

23、r(); do mainmenu(); printf(tt请输入序号: ); scanf(%d,&num); switch(num) case 1: open(stu,5);getchar();break; case 2: save(stu,5);getchar();break; case 3: do edit(); printf( 请输入序号 :n); scanf(%d,&ednum); switch(ednum) case 1: insert(stu,5);getchar();break; case 2: dele(stu,5);getchar();break; case 3: modif

24、y(stu,5);getchar();break; case 0: break; while(ednum!=0);break; case 4: do display(); printf( 请输入序号 :n); scanf(%d,&dnum); switch(dnum) case 1:cdis(stu,5);getchar();break; case 2: disall(stu,5); getchar();break; case 3: do sort(); printf(tt请输入序号 :); scanf(%d,&snum); switch(snum) case 1:asort(stu,5);g

25、etchar();break; case 2: dsort(stu,5);getchar();break; case 0:break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - while(snum!=0);break; case 4: disfault(stu,5);getchar();break; case 0:break; while(dnum!=0);break; case 5: do calculate(); p

26、rintf(tt请输入序号 :); scanf(%d,&calnum); switch(calnum) case 1: sumave ( stu,5 );getchar();break; case 2: maxsco ( stu,5 );getchar();break; case 3: minsco ( stu,5 );getchar();break; case 0: ;break; while(calnum!=0); break; case 6: do sort(); printf(tt请输入序号 :); scanf(%d,&snum); switch(snum) case 1:asort(

27、stu,5);getchar();break; case 2: dsort(stu,5);getchar();break; case 0:break; while(snum!=0);break; case 7: printf( 程序说明 !n);getchar();break; case 0: printf( 退出程序 !n);getchar();break; default: printf( 输入错 !n);getchar(); while(num!=0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁