1、题目一、学生选课管理系统目录第一部分:课程设计名称、目的、要求 .第二部分:程序总体设计思路 .第三部分:程序功能划分、图示及流程图 .第四部分:程序设计数据、运行结果 .第五部分:程序的优缺点 .第六部分:心得体会 .第七部分:附录(源程序) .第八部分:附录(参考文献) .第一部分:课程设计名称、目的、要求名称:学生选修课程系统设计目的:运用 C 语言提高解决实际问题的能力实验环境:Microsoft Visual C+ 6.0内容:假定有 n 门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由
2、选课。【功能】系统以菜单方式工作课程信息录入功能(课程信息用文件保存)输入课程信息浏览功能输出查询功能:(至少一种查询方式)算法按学分查询按课程性质查询学生选修课程(可选项)第二部分:程序总体设计思路由于 C 语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。具体的设计思路如下:程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学
3、生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。整个程序的设计思路到此结束。第三部分:程序功能划分、图示及流程图【功能模块划分及其流程图】本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为 6 个部分分别编写,程序主体功能将由这 9 个部分来完成。这 9 个部分依次是:1. 登录界面函数;void log
4、in()2. 学生登录界面据函数:void stu_login()3. 管理员登录界面函数:void man_login()4. 退出界面函数:void bye_sys()5. 课程选择函数:void c_select()6. 课程浏览函数:void c_view()7. 课程查询函数:void c_search()8. 课程增加函数:void c_add()9. 课程删除函数:void c_delete()10. 菜单函数:void index()11.主函数部分; main()总体设计:不不不不不不不不不不不不不不不不不不不 不不不不 不不不不 不不不不c_view不不 c_search不
5、不c_add不不 c_delete不不不不不不 不不不不不不不不c_select不不 c_view不不 c_search不不系统功能模块图部分函数流程图:1、 课程选择函数:不 不不 不 不 不 不 不 不 不 不 不 不flag+YN不 不coursesj.c_num=nj=0;ji;不 i不 不 不 不 0不flag=0不 不 不 不 不 不 不 不YN不 不 不 不j+2、 课程查询函数不 不不 不 不 不 不 不 不 不 不 不 不flag+YN不 不coursesj.c_num=nj=0;ji-1;不 i不 不 不 不 0不flag=0不 不 不 不 不 不 不 不YN不 不 不 不
6、 不 不 不j+3、 课程增加函数不 不不 不 不 不 不 不 不 不 不 不 不printf不 “不 不 不 不 不 不 ”不YN不 不coursesj.c_num=nj=0;ji-1;不 i不 不 不 不 0不j+frwrite不 不 不 不不 不 不 不 不4、课程删除函数不 不不 不 不 不 不 不 不 不 不 不 不 nY N不 不coursesj.c_num=nj=0;ji-1;不 i不 不 不 不 0不j+不 不 不 不 不 不 不k=0;kj;frwrite不 不 不 不不 不 不 不 不k+k=j+1;ki-1;k+第四部分:程序设计数据、运行结果本程序是一款应用软件,故数据设计、程序运行结果应在程序的运用中得以体现,现在通过一个程序的运用事例来对程序运行结果进行演示与实现。【软件运用举例】1、程序开始界面如下:选择某个选项,如进行管理员登录,进行课程的增加进入管理员界面:2、再选择所要进行的操作,如进行课程增加,结果如下:下面可以进行继续增加课程或者退出:3、选择课程浏览,可以分页查看相应的课程信息:第一页:第二页: