
中 北 大 学
课程设计说明书
学 院 、 系 :
专 业 :
学 生 姓 名:
学 号:
设 计 题 目 :
学生选修课程系统
起 迄 日 期:
指 导 教 师:
日期: 2016 年 3 月 11 日

1 设计目的
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用
于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息
控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。数据处理手工操作,工作量大,
出错率高,出错后不易更改,造成了时间上的浪费。
基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系
统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准
确、有效的查询和修改选课情况。
学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者
管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充
足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,
用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿
命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用 C 语言开发,实现了简
单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原
始数据。
2 任务概述
假定有 n 门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,
实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由选课。
试设计一选修课程系统,使之能提供一下功能:
(1)系统以菜单方式工作;
(2)课程信息和学生信息的录入功能(课程信息有文件保存)----输入;
(3)课程信息浏览功能----输出;
(4)查询功能(至少一种查询方式)---算法;
(5)按学分查询;
(6)某门课程学生选修情况(可选项)。

3 板块划分
图 3-1
4 主要函数说明及其流程图
(一).主要函数
1.struct couse * head1;结构
2.void load()//录入课程子函数(从键盘录入)
3. void zhang( )//录入键盘子函数(从文件录入)
4. void inputc()//录入课程主函数
5. void insert(struct course *incourse)//课程管理子函数(增加课程)
6. void delc(int num1)//课程管理子函数(删除课程)
7. void elective()//选课
8. void elect()//学生选课子函数(查询可选课程)
9. void back()//退课
10. void hcheak()//学生选课子函数(查询已选课程)
11.void elective()//学生选课主函数
12.void listc()//输出课程信息
13.void lists()//输出学生信息
14.void intoc()//存储课程信息
主程序
录入
课程
选修
课程
管理
录入
学生
信息
学生
信息
管理
学生
选课
系统
信息
查看
储存
退出
系统
菜单
选择
完成选择模块

15.void intos()//存储学生信息
16.void into()//存储信息
17.void store()//信息主函数
18. int main()//主函数
(二).流程图
1.数据定义
图 4-1
2.算法流程图
(1)录入课程信息表
图 4-2
显示一系列功能选项
输入 n,判断 n 是否是
1~8
根据 n 的值调用个功能模块函数
录入课程信息
输入课程编号
从文件输入
显示录入成功,转入完成选择菜单
保存信息到 student.txt

(2)课程管理
图 4-3
(3)录入课程信息
图 4-4
(4)学生信息管理
图 4-5
新增课程
输入课程信息
保存
显示失败
录入课程信息
输入数据
保存
新增学生信息
或删除学生信息
输入姓名,学号
保存