![点击分享此内容可以赚币 分享](/master/images/share_but.png)
学籍管理系统-C语言程序课设报告.doc
《学籍管理系统-C语言程序课设报告.doc》由会员分享,可在线阅读,更多相关《学籍管理系统-C语言程序课设报告.doc(62页珍藏版)》请在咨信网上搜索。
1、北*学课程设计报告课程名称: C语言程序设计课设 项目名称: 学籍管理系统 学院: 专业: 姓名: 学号: 指导教师: 成 绩: 2010年6月4日目 录第1部分 课程设计题目与要求11.问题描述12.功能要求13.任务分工3第2部分 学籍管理系统的设计与功能实现41.总体设计42.数据结构53.算法设计54.程序代码设计115.测试与调试11第3部分 课程设计总结121.个人总结122.结束语12附录 程序清单13附录 用户使用说明书13参考文献13C程序课设学籍管理系统第1部分 课程设计题目与要求1.问题描述为了分析教学效果并进行相应的学籍处理,各学校每到学期末都对综合成绩进行分类统计、上
2、报成绩汇总结果等,这给每位老师和学籍管理人员带来很大的工作量。使用学籍管理系统可以减少工作者的工作负担。为了方便管理人员查找学生信息,在创新功能中,增加查询成绩功能,增加按学科成绩排名的功能,由于学籍管理系统涉及学生成绩及信息的安全,所以有必要给系统增加密码保护的功能,以保护系统信息的安全。2.功能要求循环显示如图-1所示的主菜单。其中,原始数据的排列是无序的。系统应能够保留原始成绩单。图-1在主菜单选择1:可以进行成绩的录入。在主菜单选择2:进入如图-2的子菜单,并统计成绩。在此可以计算平均、统计各分数段、按学号排序、按平均分排序。在子菜单选择1时,将该班学生的成绩按学号升序排序后的顺序存入
3、std.dat文件中,以方便打印。在子菜单选择2时,求出每位学生的平均分,并按平均分从高到低的顺序进行排序后,写入文件sort.dat中。在子菜单选择3时,统计出各门课、各分数段学生的人数,并如下表的形式输出。在子菜单选择4,返回主菜单;选择0,退出整个系统。 图-2在主菜单选择3:进入如图-3所示的子菜单,处理学籍。在子菜单中选择1,为不及格的学生打印重考通知单时,应在通知单上写明重考的课程、时间和地点(由键盘输入)。为了参加多门课重考的学生完成补考,应避免时间重复。在子菜单中选择2,为3门以上不及格的学生打印退学通知单。通知单上应写明学生的学号、姓名、退学原因(几门课不及格,成绩是多少)。
4、在子菜单中选择3时,删除已退学 的学生信息,将该班中升入高年级的学生信息写入文件next.dat中。在子菜单 选择4,返回主菜单;选择0,退出整个系统。 图-3在主菜单中选择4:进入如图-4所示的子菜单,在子菜单中选择1时,可以用学生的学号或姓名查询学生的成绩。在子菜单中选择2时,可以选择5门课查看五门单科成绩排名,在子菜单中选择3,可以对系统程序进行密码设置,以保护系统程序中的信息安全。 图-4在主菜单中选择5:可以显示我们组成员信息。如图-5所示。 图-5在主菜单中选择0:显示结束信息。按任意键后,退出系统。主菜单和子菜单 能够循环出现,每一项菜单执行之后,询问用户是否继续进行。从子菜单
5、可以返回到主菜单。3.任务分工我们小组成员有C,B和A。此程序是由我们共同完成的。由C负责录入成绩模块(void mycreate voidmyprintf1() void myprintf2() void myprintf3() void myrintf4()函数),B负责统计成绩模块(void mychongji函数,其中包括void mypiauxu1() 、void mypianxu2() 、void mypianxu3()函数),A负责主模块,学籍处理模块和创新功能模块(包括void chulixueji() void chuanxin函数,其中包括void bukao(),void
6、 tuixue(), void shengxue(),void chaxun(),void xueke(),void shezhimima()函数)。60第2部分 学籍管理系统的设计与功能实现1.总体设计根据题目要求,本系统分为一个主模块和五个子模块,其中,子模块包括录入成绩模块、统计成绩模块、处理学籍模块、创新功能模块和关于我们等五个模块。系统功能结构图如下图所示:本系统包括以下12个函数:(1)void myprintf1();函数功能:输出主菜单。(2)void myprintf2();函数功能:输出成绩统计子菜单。(3)void myprintf3();函数功能:输出学籍处理子菜单。(
7、4)void myprintf4();函数功能:输出创新功能子菜单。(5)void myprintf5();函数功能:输出关于我们模块内容。(6)void mycreate();函数功能:定义录入成绩函数,通过键盘输入学生学号,姓名和各科成绩并存放到文件中。(7)void pianxu1(struct student stu,int n);函数功能:定义按学号排序函数,将所有学生的信息通过学号进行排序(被void mytongji函数调用)。(8)void pianxu2(struct student stu,int n);函数功能:定义按平均分排序函数,将所有学生的信息通过其平均分进行排序(
8、被void mytongji函数调用)。(9)void pianxu3(struct student stu,int n);函数功能:定义统计各科分数段函数,将所有学生的各科成绩进行统计,按分数段进行输出(被void mytongji函数调用)。(10)void mytongji();函数功能:定义成绩统计函数。(11)void bukao(struct student stu,int n);函数功能:定义生成并打印补考通知单(被void chulixueji函数调用)。(12)void tuixue(struct student stu,int n);函数功能:定义生成并打印退学通知单(被c
9、hulixueji函数调用)。(13)void shengxue(struct student stu,int n);函数功能:定义生成并打印新名册(被chulixueji函数调用)。(14)void chulixueji();函数功能:定义处理学籍函数。(15)void chaxun(struct student stu,int n);函数功能:定义查询成绩函数(被函数void chuanxin()调用)。(16)void xueke(struct student stu,int n);函数功能:定义学科成绩排名函数(被函数void chuanxin()调用)。(17)void shezhi
10、mima();函数功能:定义密码保护函数(被函数void chuanxin()调用)。(18)void chuanxin();函数功能:定义创新功能函数。2.数据结构学生信息项用结构体student表示,其中包括7个属性,学号num,姓名name,5门成绩chengji5。struct student char num10,name15;int chengji5;学生补考信息项用结构体bukaoxinxi表示,其中包括6个属性,补考时间time1,补考地点size1,补考时间time2,补考地点size2,补考时间time3,补考地点size3。struct bukaoxinxichar ti
11、me110,time210,time310,size110,size210,size310;3.算法设计系统主函数mian()设计录入成绩模块函数void mycreate设计成绩统计模块函数void tongji设计处理学籍模块函数void chulixueji设计 创新功能模块函数void chuanxin设计关于我们模块函数void myprintf5设计4.程序代码设计(1)主模块函数部分代码domyprintf1();printf( );choose=getch();printf(n);switch(choose)case 1:/*录入成绩*/mycreate();break;cas
12、e 2:/*统计成绩*/mytongji();break;case 3:/*处理学籍*/chulixueji();break;case 4:/*创新功能*/chuanxin();break;case 5:/*关于我们*/myprintf5();break;case 0:/*退出系统*/system(cls);printf(nnnnnnn =n 感谢使用本软件,已正常退出,按任意键结束!n =nnnn );exit(0);default :printf( %c为非法选项,请重新输入!按任意键继续!n ,choose);getch();while(choose!=0);此为主模块的主要代码。用do
13、-while循环,显示主菜单,再用getch来输入要选择的项choose,用switch来判断所选的,然后执行相应的函数,如选择1,就执行mycreate函数等。如果输入 的不是0-5,就会一直的循环,直到输入的是0-5选项。(2) 录入成绩模块函数部分代码fp=fopen(chengji.dat,a);dofflush(stdin);/清除缓存printf( 请输入学生的成绩:n);printf( 学号(按#结束输入):);dogets(temp.num);while(strcmp(temp.num,)=0);printf( 姓名(按#结束输入):);dogets(temp.name);wh
14、ile(strcmp(temp.name,)=0);printf( 请依次输入高数、英语、物理、编程、马哲成绩:);scanf(%d%d%d%d%d,&temp.chengji0,&temp.chengji1,&temp.chengji2,&temp.chengji3,&temp.chengji4);if(temp.num0!=#&temp.name0!=#)fprintf(fp,%s %s %d %d %d %d %d n,temp.num,temp.name,temp.chengji0,temp.chengji1,temp.chengji2,temp.chengji3,temp.cheng
15、ji4);while(temp.num0!=#&temp.name0!=#);fclose(fp);程序开始先以“a”方式打开文件chengji.dat,显示提示输入内容,用do-while循环将输入成绩包裹在内,当输入的不是“#”号,就继续执行循环,继续输入 成绩。循环内又镶有do-while循环,要判断输入的是不是为空,若为空,则重新输入。然后将输入的内容写入文件chengji.dat中,当输入的为“#”号时,跳出循环,结束输入。(3)统计成绩模块函数部分代码for(i=0;in-1;i+)k=i;for(j=i+1;j0)k=j;t=stuk;stuk=stui;stui=t;这是用选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍 管理 系统 语言 程序 报告
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。