C语言课程设计-学生成绩管理系统分析方案 .docx

上传人:Che****ry 文档编号:13053513 上传时间:2022-04-27 格式:DOCX 页数:13 大小:320.67KB
返回 下载 相关 举报
C语言课程设计-学生成绩管理系统分析方案 .docx_第1页
第1页 / 共13页
C语言课程设计-学生成绩管理系统分析方案 .docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

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

1、精品名师归纳总结课程名称 课程设计报告题目同学成果治理系统学号姓名年级专业2021 电子信息工程同组人员指导老师完成日期2021年06月30日安徽师范高校物理与电子信息学院College of Physics and Electronic Information, AnhuiNormalUniversity一、 问题描述和基本要求1、每条记录包括:学号、姓名、专业和5 门课程的分数。2、能够实现添加、删除、修改功能。3、能够运算某同学的总分和平均分。4、能够照总分排序输出。二、 系统分析和设计仔细阅读系统要求,第一将此系统化分为如下模块:可编辑资料 - - - 欢迎下载精品名师归纳总结同学成果

2、治理系统输入同学信息显示同学信息排序模块插入模块删除模块1、输入初始的同学信息:可用函数input来实现此操作。2、输出同学的信息以及成果:可通过函数output来实现,3、排序模块:可通过 sort来实现,通过比较总分的大小来排序。4、插入模块:可通过函数insert 来实现,其中通过学号的大小来比较,并且以此来排序。5、删除模块:可通过函数delete 来实现,其中通过输入学号来选择要删除的同学信息。5、退出系统:可通过一个函数 exit 来实现,输入“ 0”即退出此程序 。三、程序流程图可编辑资料 - - - 欢迎下载精品名师归纳总结开头STUDENTdataMAXN 。a.=0a=1可

3、编辑资料 - - - 欢迎下载精品名师归纳总结inputdata,&len。break。a=2outputdata,len。break。a=3sortdata,len。break。a=4insertdata,&len。break。a=5delete_itemdata,&l en。break。a.=nbreak。可编辑资料 - - - 欢迎下载精品名师归纳总结a.=nscanf%c,&a。终止可编辑资料 - - - 欢迎下载精品名师归纳总结四、程序清单源程序:#include #include #include #define MAXN 35#define MAX_NAME 128typedef

4、 struct student /*定义同学信息 */int no。 /* 定义学号 */char nameMAX_NAME 。 /* 定义姓名 */ char fieldMAX_NAME。/* 定义专业 */doublesubject1。/* 定义五个科目 */doublesubject2。doublesubject3。doublesubject4。doubledoublesubject5。mark_ave。/* 定义平均分 */doublemark_tot。/*定义总分 */ STUDENT 。/* 以下为输入信息程序 */void inputSTUDENT *data, int *len

5、int no。putcharn。printf%sn, Please enter a new record, if need to exit the current menu please input - 1.。printf%s, Form: nno 。printf%s, Name field subject1 subject2 subject3 subject4 subject5n。 scanf%d, &no 。whileno .= -1data*len.no = no。scanf%s %s %lf %lf %lf %lf %lf, data*len.name,data*len.field,

6、&data*len.subject1,&data*len.subject2,&data*len.subject3, &data*len.subject4, &data*len.subject5 。data*len.mark_ave=data*len.subject1+data*len.subject2+data*len.subj ect3+data*len.subject4+data*len.subject5/5.0。data*len.mark_tot=data*len.subject1+data*len.subject2+data*len.subje ct3+data*len.subject

7、4+data*len.subject5。*len+ 。/*指针加一 */scanf%d, &no 。/* 输入*/可编辑资料 - - - 欢迎下载精品名师归纳总结/* 以下为输出信息程序 */void outputSTUDENT *data, int lenint i。systemcls。/* 定义系统菜单 */ printf%5s, no 。/*输出菜单 */ printf%7s, name 。printf%7s, field 。printf%10s, subject1 。printf%10s, subject2 。printf%10s, subject3 。printf%10s, subj

8、ect4 。printf%10s, subject5 。printf%12s, mark_ave 。printf%10s, mark_tot 。putcharn。for i =0 。 i 80。 i+putchar=。putcharn。for i = 0 。 i len。 i+printf%5d, datai.no 。printf%8s, datai.name 。printf%8s, datai.field 。printf%8.1lf, datai.subject1 。printf%8.1lf, datai.subject2 。printf%10.1lf, datai.subject3 。pr

9、intf%10.1lf, datai.subject4 。printf%10.1lf, datai.subject5 。printf%12.1lf, datai.mark_ave 。printf%10.1lf, datai.mark_tot 。putcharn。for i =0 。 i 80。 i+putchar=。putcharn。printfPress Enter to continue.。getchar。getchar。/*以下为排序程序 */void sortSTUDENT *data, int len可编辑资料 - - - 欢迎下载精品名师归纳总结int i,j,k 。STUDENT

10、 temp。for i=0 。 ilen-1。 i+for k=i, j=i+1 。 jlen。 j+if datak.mark_tot dataj.mark_tot k=j 。if k .= i可编辑资料 - - - 欢迎下载精品名师归纳总结temp = datai。datak = temp。datai = datak 。可编辑资料 - - - 欢迎下载精品名师归纳总结/* 以下为添加程序 */void insertSTUDENT *data, int *lenint no, pos。double subject1, subject2, subject3, subject4, subject

11、5, mark_ave, mark_。tot int i。char nameMAX_NAME 。char fieldMAX_NAME。lab: printf%sn, Enter the new record, please input from the current menu - 1.。 printf%s, Form :nno 。printf%s, Name field subject1 subject2 subject3 subject4 subject5n。 scanf%d, &no。if no = -1 return 。data*len.no = no。scanf%s %s %lf %

12、lf%lf %lf%lf,name, field, &subject1, &subject2, &subject3, &subject4, &subject5。mark_ave=subject1+subject2+subject3+subject4+subject5/5.。0mark_tot=subject1+subject2+subject3+subject4+subject。5 pos = 0。while datapos.mark_tot mark_tot & pos = pos。 i-datai+1 = datai 。datapos.no = no。strcpydatapos.name,

13、 name。strcpydatapos.field, field。datapos.subject1 = subject1。 datapos.subject2 = subject2。可编辑资料 - - - 欢迎下载精品名师归纳总结datapos.subject3 = subject3。 datapos.subject4 = subject4。 datapos.subject5 = subject5。 datapos.mark_ave = mark_ave。 datapos.mark_tot = mark_tot。*len+ 。goto lab。/*以下为删除程序 */void delete_it

14、emSTUDENT *data, int *lenint no, i, pos。lab: pos=0。printf%sn, The students need to delete the input of student id, please input from the current menu - 1.。scanf%d, &no。if no = -1return。while datapos.no .= no & pos = *len可编辑资料 - - - 欢迎下载精品名师归纳总结elseprintf%sn, Did not find the students need to delete。

15、goto lab。for i = pos+1。i *len 。 i+可编辑资料 - - - 欢迎下载精品名师归纳总结datai-1 = datai 。*len = *len -1 。可编辑资料 - - - 欢迎下载精品名师归纳总结if *len = 0printf%sn, No records, please press Enter to return.。 getchar。getchar。return。可编辑资料 - - - 欢迎下载精品名师归纳总结goto lab。/* 以下为显示信息程序 */ void paintint i。可编辑资料 - - - 欢迎下载精品名师归纳总结systemcl

16、s。printfn%49sn, Score Manage Systemn。for i = 0 。 i 80。 i+putchar=。putcharn。printf1 Input data2 Output datan。 printf3 sort4 Insertn。printf5 delete0 Quitn。for i = 0 。i = 79。i+putchar=。putcharn。printf%sn, Enter num from 1 to 5: 。/* 以下为主程序 */void mainSTUDENT dataMAXN 。int len = 0。char a。paint。scanf%c, &

17、a。while a .= 0switchacase 1: inputdata, &len。break。case 2: outputdata, len。break。case 3: sortdata, len。 break。case 4: insertdata, &len。break。case 5: delete_itemdata, &len。 break。default: if a .= n printf%sn, Input Error.。break。if a .= n paint 。scanf%c, &a。五、 测试数据运行源程序,结果如下:可编辑资料 - - - 欢迎下载精品名师归纳总结可编

18、辑资料 - - - 欢迎下载精品名师归纳总结六、 问题小结在设计过程中,遇到的问题有:可编辑资料 - - - 欢迎下载精品名师归纳总结1、如何排序,在排序方法的选择上显现问题,最终在查阅课本、相互比较之下得到明白决。2、所学的函数实现不了系统要求的功能,通过查阅书籍、询问同学得到明白决,如使用了 systemcls来定义系统菜单等。七、 收成和体会通过此次课程设计,巩固了对for 循环、 switch 结构、函数调用、指针等已学过的重要学问点的把握。明白并学习了systemcls,goto 语句,把握了新学问。提高了分析解决问题的才能。八、参考资料:1) 谭浩强, C 程序设计教程,清华高校出版社, 2007 年2) 赵永哲,李雄飞,戴秀英编著, C 语言程序设计,科学出版社 ,2003 年3) 夏宽理,赵子正编著, C 语言程序设计,中国铁道出版社,2006 年物理与电子信息学院课程设计评定看法可编辑资料 - - - 欢迎下载精品名师归纳总结主要内容包括:设计报告内容的完整性和完成情形、报告格式的规范性、通过课程设计取得的收成等。指导老师评语成果:签名:年月日可编辑资料 - - - 欢迎下载

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

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

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

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