C语言课程设计学生选修课系统设计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言课程设计学生选修课系统设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生选修课系统设计.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中国地质大学 学号指导教师: 目 录 第一部分:课程设计编号、名称、内容2第二部分:程序总体设计思路3第三部分:程序功能模块划分、图示及流程图4第四部分:程序设计数据、运行结果10第五部分:程序的优缺点错误!未定义书签。第六部分:程序改进思路18第七部分:附录(源代码)20第一部分:课程设计编号、名称、内容 编号 :C语言课程设计指导书71页第九题名称:学生选修课系统设计【要求】 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。是设计一选修课课程系统,使只能提供以下功能:(1) 系统一菜
2、单方式工作(2) 课程信息和学生选课信息录入功能(课程信息用文件保存输入(3) 课程信息浏览功能输出(4) 查询功能(至少一种查询方式)算法(5) 按学分查询(6) 某门课程学生选修情况(可选项)【提示】 数据结构可用结构体,包括授课和选课两个结构体,其中课程结构体成员包括编号,课程名称,课程性质,总学时,授课学时,实验或上机时间,学分,开课学期。学秀结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。第二部分 程序总体设计思路由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。在编写本程序的过程中,首先借助老师给的指导材料,确定了目标程序运
3、行的次序与界面,即本程序首先运行【用户系统】菜单界面,其次程序运行【用户插入课程信息】及【用户浏览课程】菜单界面,最后程序运行【统计选课信息】及【选课】界面。如果用户选择【插入用户信息】选项则程序进入出入用户课程信息界面。需要一次输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息;如果用户选择【浏览课程】选项则程序进入【浏览课程】界面,将会显示所选课程的信息;如果用户选择【查询】选项则会显示按学分查询的选课信息;一次用户还可以查看某门课程的所选情况。 其次,根据目标程序运行的次序与界面,确定设计顺利,设计界面(包括各部分菜单与用户提示信息)。再次是按照程序
4、运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。 最后是程序的总体调试及功能完善,此部分从学生选课的角度出发,考虑了更加人性化、更加合理、更加高效准确、更加智能化的设计。说明:关于各个功能模块的设计思路及程序运行具体过程见报告的第三、四、五部分。 第三部分:程序功能模块划分、图示及流程图3.1 系统的结构图 学生可选修课系统进行选课统计选课情况查找选课信息浏览课程信息插入课程信息学生可选修课系统学生端3.2 系统的功能模块图menu()insert browsersearch xuanke_information3.3 函数模块说明函数模块
5、 功 能 说 明 insert 插入课程信息 bowser 浏览课程信息 search 查找课程信息 xanke_information 进行选课统计 3.4 功能模块说明及其流程图(1)【插入信息功能】【设计思路简述】先检查文件是否为空,若为空,则显示cannot open file 若不为空,则屏幕显示 “the format is num name xingzhi time ttime etime mark term::”及需要一次插入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期的信息。填写完这些信息后,程序将关闭所写入文件,并跳入系统菜单进行其他功能的
6、运行。【模块流程图】开 始 无文件 有文件 cannot open filethe format is num name xingzhi time ttime etime mark term::time ttime etime mark term:系 统 菜 单(2)【浏览信息功能】【设计思路简述】 如果所浏览信息的文件为空文件,则屏幕显示“cannot open course !”否则会显示以前输入的课程信息(课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期)。执行完毕后,程序先关闭浏览文件,再跳入主菜单,进行其他功能的运行。(3)【查找选课信息功能】【设计思路
7、简述】 函数首先申明调用“struct course c ”,输出input mark your want to search:,即按学分查询所需课程的信息。若原函数没有文件,则输出“Cannot open course ! ”,否则将输出所需课程的信息。接着关闭该文件,程序跳入主菜单进行其他功能的运行。 开 始 无文件 有文件 显示所选课程信息time ttime etime mark term:Cannot open course !系 统 菜 单(4)【统计选课人数功能】【设计思路简述】函数首先调用“struct student c”,输出“input course -number yo
8、ur wantto search:”若原函数为空,则输出“Cannot open student!”。否则将输出 The number choose course_num %d is %d!(及选择该门课程的同学有几人)。接着关闭函数,进入系统菜单。进行其他功能的运行。 (5)【选课功能】【设计思路简述】函数运行首先输出“Please input your student_number and course number you want to choose:”,如果用户输入的信息在原先输入的文件中不存在,则屏幕显示“Cannot open student!”,否则就选课成功,关闭文件,跳入系
9、统菜单进行其他功能的运行。 (6)【void menu()功能】int n,w=0;printf(ntt PLEASE ENTER A NUMBER FROM 0 TO 5!); printf(nnnt*MENU*); printf(ntt 1 - insert informations); printf(ntt 2 - browers informations); printf(ntt 3 - search informations); printf(ntt 4 - xuan ke informations);printf(ntt 5- xuan ke ); printf(ntt 0 - E
10、xit system); printf(nnnt*); printf(nnnnnnttChoose the number,please:); scanf(%d,&n);doif(n5|n改进思路:1.算法上除了采用结构体数组外,考虑在程序的算法设计上引入链表结构,考察这样对数据组织存贮效率上是否具有提高作用。2.就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。【针对第二点:用户输入错误问题】改进思路:对每个数据输入段代码进行更深的研究与分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 选修课 系统 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内