1、课程管理系统设计学院 面向对象程序设计 课程设计报告题 目: 课程管理系统设计 专业班级: 学生组长: 小组成员: 指导教师: 分 数: 2014 年 6 月 10 日任务书学 号姓名专业班级学 号姓名 学号姓名课程设计题目课程管理系统设计课程设计任务课程设计内容 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息,学生可以按要求(如学分不得少于60)自由选课。任务流程 分析任务要求,设计方案; 画出系统功能模块图; 提出方案的可行性、优缺点,进行完善; 安排小组成员的分工协作计划,对系统软件模块进行划分; 完成软件设计,进行汇总调试
2、; 按规定格式,撰写并打印设计报告。进 度 计 划 查阅资料,确定及完善设计方案 画出系统功能图 安排小组成员的分工协作进行软件设计 调试程序 撰写、打印设计报告指导教师评语 指导教师签字: 年 月 日目录1、总体设计. 4 1、设计任务目的.4 2、设计任务要求.4 3、设计任务意义. 4 4、设计方案选取与论证.5 5、模块划分与任务安排.6二、软件设计.6 1、课程信息录入模块的软件设计.7 2、课程信息浏览模块的软件设计. 7 3、课程信息查询模块的软件设计. 8三、系统实现及调试过程.9四、结论.12五、致谢.13六、参考文献.13附录一、程序代码.14附录二、成绩评定表.23一、总
3、体设计1、设计任务目的1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利用C语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力2、设计任务要求试设计一选修课程系统,使之能提供以下功能:(1) 系统以菜单方式工作;(2) 课程信息录入功能(课程信息用文件保存)输入;(3) 课程信息浏览功能输出;(4) 查询功能:(至少一种查询方式)算法;(5) 按学分查询;(6) 按课程性质查询;(7) 学生选修课程(可选项)。3、设计任务意义通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生
4、对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。4、设计方案选取与论证系统的主要使用对象是需要选课的学生。学生在选课是首先要录入各个课程的详细信息,。系统还需要随学生选课的变化来浏览和查询学生的总体选课情况课程信息。系统功能模块图由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有录入、浏览、查询学生选课信息等操作,顾应分别建立个功能模块;另
5、外还应提供键盘式选择菜单实现程序运行。5、模块划分与任务安排 根据小组成员情况,对系统软件模块进行划分,安排小组成员的分工协作计划。分配情况如下:课程信息录入模块;PPT演讲查询选课信息模块;论文撰写浏览选课信息模块;PPT制作2、软件设计软件设计主函数流程图main() 主函数流程图 主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为三个大的功能。 管理员的功能一共有三个功能:录入,浏览,查询,运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。1.课程信息录入模块的软件设计()课程信息录入模块 课程信息录入模块:以附加的方式打开文件course.t
6、xt,调用insert函数并通过printf输入语句输入需要的课程数,根据课程数录入课程的详细信息。2.课程信息浏览模块的软件设计()课程信息浏览模块 课程信息浏览模块:主要用管理员中的“浏览选课信息”,调用的是browser函数,以只读的方式打开文件course.txt,将所有的课程信息输出,即将course.txt文件里面的内容全部输出。3.课程信息查询模块的软件设计()课程信息查询模块 课程信息查询模块主要用于管理员功能中的“查询选课信息”,查询模块共分为两个查询方法:按课程性质查找和按学分查找。在“课程信息查询模块”程序最后的switch语句中,每一个case语句就是一种查询方法。调用
7、search函数以只读的方式打开文件course.txt,然后选择按学分或者课程性质查询。3、系统实现及调试过程 通过使用这个学生课程管理系统软件,可以轻松的管理学生课程信息,你可以对学生课程信息按照现实界面进行信息录入,浏览,查询,等功能。调试中的问题和解决办法:问题:文件在打开和保存时有问题。解决方法:调整文件的打开方式,从原来的单纯的w+修改为添加一个if语句,当没有文件时执行w+的操作,否则执行r+,避免了原存储文件被覆盖的问题。调试过程:首先运行程序,出现程序的主菜单,按“1”进入录入选课信息操作,如图所示: 若输入的选课门数:2。然后自行进行选课的录入过程,录入选课信息结束。如图所
8、示: 按“2”进行选课信息的浏览功能,所图所示:按3进行选课信息的查询操作,选择1按学分查询,即可查询该学分的选课课程信息,如图所示: 按1返回主菜单后,按3进行选课信息的查询操作,选择2按课程性质查询,即可查询该条件的选课课程信息,如图所示:4、结论1、对C语言的编程实践有所认识。2、在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3、通过这次实验,熟悉了从自然语言转换成C+语言再转换为流程图的过程。4、在程序中设定合适的全局变量,可以简化程序的编写难度。5、运用函数可以减少编写时的代码量,也使程序条理清晰。6、通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言
9、有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。5、致谢 经过几天的课程设计,我学会了很多东西。这次课程设计的成功完成离不开同学和老师的帮助。当自己在编程中遇到困难的时候,有同学们共同商量,相互协助,献计献策,使我能够比较分析各种方案,找出解决问题的方法;当在课程设计过程中遇到模棱两可的问题,同学们能过各抒己见,尊重他人见解,使我能够综合各种观点,取长补短,虚心借鉴,是程序做得更尽人意;当遇到我们都无法解决的问题时,有辅导老师耐心讲解,详细地指出了程序中的错误,不仅帮我解决了
10、当前编程中的问题,而且使我加深了对C语言的认识,为以后的学习铺平了道路。感谢他们,他们不仅是我收获了更多的知识,丰富了学习经验,而且使我养成了“严谨治学”的学习态度,使我拥有了面对困难的勇气,并且体会到了浓浓的师生情,体会到了同窗之间难以忘怀的友谊。这必定是我人生中一笔宝贵的财富,再次感谢他们!六、参考文献【1】C语言程序设计实例精粹【2】C语言课程设计案例精编【3】C语言实战105例【4】C程序设计(第三版)谭浩强著清华大学出版【5】C语言程序设计实验指导课程设计习题解答高涛陆丽娜著西安交通大出版附录(程序代码)#include#include#include struct course i
11、nt num; char name20; char kind10; int time; int ttime; int etime; int mark; int term;struct student int snum; int cnum; char cname20;/*课程信息录入*/void insert() void main(); FILE *fp; struct course c; int count; int i; if(fp=fopen(course.txt,a+)=NULL) printf(cannot open filen); printf(n请输入课程门数:n); scanf
12、(%d,&count); printf(课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:n); for(i=0;i5|n0) printf(n输入错误!请重新输入!n); scanf(%d,&n); else w=1; while(w=0); switch(n) case 1:insert();break; case 2:browser();break; case 3:search();break; case 4:xuanke_information();break; case 5:xuan_ke();break; case 0:exit(0); return ;面向对象程序设计 课程设计成绩评定表序号评价指标满分值得分1任务书及设计要求全面、准确102方案的选择及其论证充分、合理103基本原理框图的设计思路正确、有新意104各功能模块的程序设计155系统的安装调试,基本功能的实现256作品的扩展功能与创新107报告结构合理、规范,条理清晰108课程设计过程中的学习态度认真、出勤率高10总 评教师评语:指导教师 年
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1