c语言课程研究设计学生成绩管理系统 .docx
《c语言课程研究设计学生成绩管理系统 .docx》由会员分享,可在线阅读,更多相关《c语言课程研究设计学生成绩管理系统 .docx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习学号1305370318成果可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结题目要课程设计说明书成果治理系统2021 年 6 月 16 日 6 月 27 日治理学院工商治理工商 1303 班周玉琪杨英祥设计名称 运算机程序设计设计题目设计时间学院专业班级姓名指导老师2021 年 6 月 27 日目录同学成果治理程序可编辑资料 - - - 欢迎下载精品名师归纳总结求 3设计目的 3总体设计 3详细设可编辑资料 - - - 欢迎下载精品名师
2、归纳总结计4调试与测试13源程序 15总结 31同学成果治理程序一 题目要求1. 问题描述 :对在校同学几门课程的考试成果进行统一治理. 每个同学记录包括学号 ,姓名, 年龄, 数学, 英语, 物理成果 , 默认以学号为序存放 .2. 要求:(1) 一个文件按以班为单位储备同学记录 .(2) 将答应的操作分为四种 , 以 A,B ,C,D,E,F为标志: A: 插入一个同学记录。B: 修改同学记录。C:删除一个同学记录。D:查找一个同学记录。E: 浏览同学成果 :F: 退出3. 运算同学的总成果 .4. 按学号排序输出全班同学成果表.二 设计目的依据题目要求 , 由于同学信息是存放在文件中 ,
3、 所以应供应文件的输入 , 输出等操作。在程序中需要浏览同学的信息, 应供应显示 , 查找, 排序等操作。另外仍应供应键盘式选择菜单实现功能选择.三 总体设计可编辑资料 - - - 欢迎下载精品名师归纳总结同学成果治理系统数据输入数据显示数据修改数据删除数据查找四 详细设计1. 主函数:主函数一般设计得比较简洁 , 只供应输入 , 处理和输出部分的函数调用其中各功能模块用菜单方式选择.流程图:显示一系列功能模块N输入 n, 判定 n 是否是 A-FY依据 n 的值调用各功能模块函数 程序:/#include head.hint menu_select,依据上面的需求分析 , 可以将这个系统分为
4、以下模块: 输入模块 , 修改模块 , 删除模块, 查找模块 , 显示模块 .char c。printfnn。printf | 1.增加同学记录5.统计信息|n。printf | 2.查询同学记录6.打开文件|n。printf | 3.修改同学记录7.储存文件|n。printf | 4.同学纪录排序8.显示记录|n。printf | 0.退出系统 |n。printfnn。printf请选择 0-8:。c=getchar。getchar。 return c-0。2. 输入模块 : 分析:单独看各数据信息 , 学号, 姓名是字符型 , 可以接受字符型数组。分数为整数, 接受整数。数据信息存放在文件
5、中, 一条记录对应一个同学 , 既符合习惯又便利信息治理 .假如要存放如干同学信息就用结构体数组:void addrecordstudent studint i=0,j,num。可编辑资料 - - - 欢迎下载精品名师归纳总结char str5。ifnumstus.=0printf已有记录存在是否掩盖.y/nn。getsstr。ifstr0=Y|str0=y i=0。else i=numstus。printf请输入增加的同学信息条目数 : 。scanf%d,&num。ifi=0 numstus=num 。else numstus+=num 。ifnumstuslenslens+=50。poin
6、ter=student *reallocpointer,lens*LEN。printf请输入同学信息 :n。for。inumstus 。i+getchar。printf请输入学号 : 。getspointeri.number。printf请输入姓名 : 。getspointeri.name。printf请输入性别 男/ 女 1/0:。getspointeri.sex。ifpointeri.sex0=0 strcpypointeri.sex,女 。else strcpypointeri.sex,男 。printf请输入各科成果: 按“语文,数学,英语,历史,政治”的次序:。studi.score
7、=0。forj=0。j0i=menu_select。 /* 把握菜单 */ switchicase 1:addrecordpointer。break 。 /* 增加同学信息 */ case 2:findrecordpointer。break 。 /* 查询同学信息 */ case 3:amendrecordpointer。break 。 /* 修改同学信息 */ case 4:sortpointer。break 。 /* 同学信息排序 */case 5:statisticpointer。break 。 /* 统计信息 */ case 6:openfilepointer。break 。 /* 打
8、开文件 */ case 7:writetotextpointer。break 。 /* 储存文件 */case 8:displaypointer,0,numstus-1。break 。 /* 显示记录 */ case 0:ifnumstus.=0 printf是否储存当前记录 .y/n。getsstr。ifstr0=y|str0=Y writetotextpointer。i=-1。break 。 /* 退出系统 */default:printf请输入数字 08:n。i=1 。 /* 输入错误 */printftt欢迎再次使用本系统。 nn。display1。3. 修改模块 : 分析: 用户输入
9、要修改同学的学号, 依据同学的学号等信息查找同学记录,输入要修改的学号找到 .并提示用户修改该记录的哪部分信息 . 依据用户选择修改相应的信息 . 流程图:可编辑资料 - - - 欢迎下载精品名师归纳总结YN可编辑资料 - - - 欢迎下载精品名师归纳总结YN 程序 :显 示 记 录 , 调用修改函数提示没有找到可编辑资料 - - - 欢迎下载精品名师归纳总结void xiugai连续 .可编辑资料 - - - 欢迎下载精品名师归纳总结iffp=fopens_score.txt,rb+=NULL|fp1=fopentemp.txt,wb+=NULL/* 检查是否出错 */返回主菜单printf
10、Cannot open this file.n。exit0。printfnPLease shuru xiugai xuehao:。scanf%d,&i。 getchar。whilefread&data,sizeofdata,1,fp=1j=atoidata.xuehao。ifj=iprintfxuehao:%snmingzi:%snnianling:%sn,data.xuehao,data.mingzi,data.nianl ing 。printfPlease shuru mingzi:。getsdata.mingzi。printfPlease shuru shuxue score:。gets
11、temp。data.score0=atoftemp。printfPlease input yingyu score:。getstemp。data.score1=atoftemp。printfPlease input wuli score:。getstemp。data.score2=atoftemp。data.score3=data.score0+data.score1+data.score2。 fwrite&data,sizeofdata,1,fp1。fseekfp,0L,0。 /* 将位置指针移到离头文件0 个字节处 */ fseekfp1,0L,0。whilefread&data,size
12、ofdata,1,fp1=1fwrite&data,sizeofdata,1,fp。fclosefp。fclosefp1。可编辑资料 - - - 欢迎下载精品名师归纳总结4. 删除模块 :分析:该模块的功能是 , 用户输入要删除的同学的学号 , 依据同学学号查找记录并删除. 流程图:输入要删除的学号找到 .YN可编辑资料 - - - 欢迎下载精品名师归纳总结YN 程序 :显 示 记 录 , 调用删除函数提示没有找到可编辑资料 - - - 欢迎下载精品名师归纳总结void deleterecordstudent继st续u.,int i /*删除信息 */int j。whilei=0返回主菜单fo
13、rj=i。 jnumstus 。j+ stuj=stuj+1。numstus-。printf删除成功 .n。void countstudent studint i,j。fori=0。inumstus 。i+studi.index=1。 forj=0。 jstudi.score studi.index+。5. 查找模块 : 需求分析 :该模块的功能是依据输入的同学的姓名查找对应的记录, 找到以后 , 显示相应的同学信息 . 流程图:输入同学学号可编辑资料 - - - 欢迎下载精品名师归纳总结YNN可编辑资料 - - - 欢迎下载精品名师归纳总结Y 程序:/#include head.hint f
14、indrecordstudent stud /*char str2。int i,num显示。找到的ifnumstu记s录=0是 否 找到 学 生记录查找信息 */提示没有找到可编辑资料 - - - 欢迎下载精品名师归纳总结printf没有可被查找的记录 n 。可编辑资料 - - - 欢迎下载精品名师归纳总结return -1。else询 问 是否连续可编辑资料 - - - 欢迎下载精品名师归纳总结printf以何种方式查找? n1. 学号t2.姓名t3.名次n 。getsstr。可编辑资料 - - - 欢迎下载精品名师归纳总结ifstr0=1 /*按学号查找 */printf请输入学号 : 。
15、getsstr。fori=0。i=numstus 。i+ ifstrcmpstr,studi.number=0displaystud,i,i。break。else continue。返回主菜单可编辑资料 - - - 欢迎下载精品名师归纳总结else ifstr0=2 /*按姓名查找 */printf请输入姓名 : 。getsstr。fori=0。i=numstus 。i+ ifstrcmpstr,studi.name=0displaystud,i,i。break。else continue。else ifstr0=3 /*按名次查找 */可编辑资料 - - - 欢迎下载精品名师归纳总结prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言课程研究设计学生成绩管理系统 语言 课程 研究 设计 学生 成绩管理系统
限制150内