C语言大型作业学生选修课系统.docx
《C语言大型作业学生选修课系统.docx》由会员分享,可在线阅读,更多相关《C语言大型作业学生选修课系统.docx(15页珍藏版)》请在冰豆网上搜索。
C语言大型作业学生选修课系统
C语言大型作业
学生选修课系统
班级:
姓名:
学号:
指导老师:
目录
第一部分:
大型作业要求3
第二部分:
程序总体设计思路4
第三部分:
程序功能模块划分、图示及流程图5
第四部分:
程序设计数据、运行结果10
第一部分:
大型作业要求
名称:
学生选修课系统设计
【要求】
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。
是设计一选修课课程系统,使只能提供以下功能:
(1)系统一菜单方式工作
(2)课程信息和学生选课信息录入功能(课程信息用文件保存
输入
(3)课程信息浏览功能——输出
(4)查询功能(至少一种查询方式)——算法
(5)按学分查询
(6)某门课程学生选修情况(可选项)
第二部分程序总体设计思路
由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
在编写本程序的过程中,首先借助老师给的指导材料,确定了目标程序运行的次序与界面,即本程序首先运行【用户系统】菜单界面,其次程序运行【用户插入课程信息】及【用户浏览课程】菜单界面,最后程序运行【统计选课信息】及【选课】界面。
如果用户选择【插入用户信息】选项则程序进入出入用户课程信息界面。
需要一次输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息;如果用户选择【浏览课程】选项则程序进入【浏览课程】界面,将会显示所选课程的信息;如果用户选择【查询】选项则会显示按学分查询的选课信息;一次用户还可以查看某门课程的所选情况。
其次,根据目标程序运行的次序与界面,确定设计顺利,设计界面(包括各部分菜单与用户提示信息)。
再次是按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。
最后是程序的总体调试及功能完善,此部分从学生选课的角度出发,考虑了更加人性化、更加合理、更加高效准确、更加智能化的设计。
第三部分:
程序功能模块划分、图示及流程图
3.1系统的结构图
学生可选修课系统
进
行
选
课
统
计
选
课
情
况
查
找
选
课
信
息
浏
览
课
程
信
息
插
入
课
程
信
息
学生可选修课系统学生端
3.2系统的功能模块图
menu()
insert
browser
search
xuanke_information
3.3函数模块说明
函数模块
功能说明
insert
插入课程信息
bowser
浏览课程信息
search
查找课程信息
xanke_information
进行选课统计
3.4功能模块说明及其流程图
(1)【插入信息功能】
【设计思路简述】
先检查文件是否为空,若为空,则显示"cannotopenfile"
若不为空,则屏幕显示“theformatisnumnamexingzhi
timettimeetimemarkterm:
:
”及需要一次插入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期的信息。
填写完这些信息后,程序将关闭所写入文件,并跳入系统菜单进行其他功能的运行。
【模块流程图】
开始
无文件有文件
theformatisnumnamexingzhitimettimeetimemarkterm:
:
timettimeetimemarkterm:
cannotopenfile
系统菜单
(2)【浏览信息功能】
【设计思路简述】
如果所浏览信息的文件为空文件,则屏幕显示“cannotopencourse!
”否则会显示以前输入的课程信息(课程编号,课程名称,
课程性质,总学时,授课时间,实验或上机学时,学分,开课学期)。
执行完毕后,程序先关闭浏览文件,再跳入主菜单,进行其他功能的运行。
(3)【查找选课信息功能】
【设计思路简述】
开始
函数首先申明调用“structcoursec”,输出"inputmarkyourwanttosearch:
",即按学分查询所需课程的信息。
若原函数没有文件,则输出“Cannotopencourse!
”,否则将输出所需课程的信息。
接着关闭该文件,程序跳入主菜单进行其他功能的运行。
无文件有文件
Cannotopencourse!
显示所选课程信息
timettimeetimemarkterm:
系统菜单
(4)【统计选课人数功能】
【设计思路简述】
函数首先调用“structstudentc”,输出“inputcourse-numberyourwanttosearch:
”若原函数为空,则输出“Cannotopenstudent!
”。
否则将输出"Thenumberchoosecourse_num%dis%d!
"(及选择该门课程的同学有几人)。
接着关闭函数,进入系统菜单。
进行其他功能的运行。
(5)【选课功能】
【设计思路简述】
函数运行首先输出“Pleaseinputyourstudent_numberandcoursenumberyouwanttochoose:
”,如果用户输入的信息在原先输入的文件中不存在,则屏幕显示“Cannotopenstudent!
”,否则就选课成功,关闭文件,跳入系统菜单进行其他功能的运行。
第四部分:
程序设计数据、运行结果
本程序是一款应用软件,故数据设计、程序运行结果应在程序的运用中得以体现,现在通过一个程序的运用事例来对数据设计、程序运行结果进行演示与实现:
【软件应用举例】
某同学想进入选修课系统进行选课,登录后进入主菜单界面。
程序主菜单界面如下:
进入此界面后,选择1,程序进入插入学生课程信息界面,界面如下:
学生需要一次性连续依次输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机时间,学分,开课学期的信息,如依次输入1yuwenjichu60352552界面显示如下:
若用户要浏览选课信息,则输入2按回车键,界面显示如下:
若用户要查找课程信息,输入3后按回车键,界面显示如下:
系统及依学分进行查询,输入5后按回车键后界面显示如下:
如果用户要统计选课信息,则可输入4后按回车键,界面显示如下:
界面提示需要用户输入学生学号和课程号,比如输入25后按回车键,界面显示如下:
如果用户要选择选课功能,则输入5按回车键,界面显示如下:
系统以课程号进行查询,如输入5按回车键界面显示如下:
之后用户选课完毕,要退出程序,可直接输入0按回车键。
实习总结
通过本次实习,我掌握了C语言在实际操作中的应用。
熟悉了C语言程序的基本运行方法,加深了对所学知识的理解和应用。
学生选修课系统运用菜单功能执行本程序,在实际操作过程中需对所用到的一些功能进行设置,遇到一些非基本运算需要进行预处理。
在实习的过程中,我们遇到了一些最基础的同时也最简单的问题,我懂得了自己在理论方面还有许多欠缺的地方,需要以后在学习中好好巩固,另外还有在实习中遇到的细节问题,让我明白了只有牢固的理论知识加上细心严谨的态度才有可能办好一件事,对待科学文化知识更应该如此。