没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
华中科技大学计算机科学与技术学院
《C 语言程序设计》课程设计
实验报告
题目: 教务信息管理系统
专业: 计算机科学与技术
班级:
姓名:
成绩: __
指导教师:
完成日期: 2006 年 10 月 6 日
一、 程序简介
本程序是教务信息管理系统,模拟辅导员的年级成绩表格来处理各种数据,
默认所有学生的课程是一样的(即不考虑选修课)。为方便使用本程序全部采用
图形界面,用中文字来输出菜单选项,使用户能更简单的使用。程序利用十字交
叉链表来创建、保存和修改数据。本程序是用模块来编译的,这样处理起来会方
便很多,对子程序的管理也就更方便了。
程序运行的方法
在 TC 中输入文件名: main2.c
tongji.c
da_yin.c
in_out.c
files.c
edit.c
help.c
search.c
qita.c
然后保存为 jiaowu.prj 或其它名字,但后缀名必须为.prj。然后在 TC 的 Project
选项中打开工程文件 jiaowu.prj(其它的名字应作相应的改动)。然后运行(按
Ctrl+F9)就可以得到可执行文件 jiaowu.exe(其它名字相应改动)。然后运行可
执行文件 jiaowu.exe 就可以进入程序。
程序的功能简介
本程序可以新建文件、保存文件、打开文件以及对文件进行管理,包括:修
改链表信息、在链表中插入信息、删除链表信息、对链表信息进行排序、模拟打
印链表信息、查找班级信息、查找学生信息、查找课程信息、统计班级均分和各
门课程均分、统计学生均分、统计不及格学生信息、输出帮助信息等。
操作简介
在程序运行开始时会有一个动态的登入界面,按任意键就可以进入主程序。
在主界面可以按上下左右键来选择菜单选项,也可以用给出的快捷键来操作。
按回车键就可以进入该选项的子选项,如果没有子选项就直接执行该选项的操作。
进入子选项后按上下键来选择子选项的菜单,按左右键就可以进入其它主菜单选
项的子选项。如果按 Esc 键就可以返回上层菜单的操作。
在输入信息时如果输入有误可以按 Back space 键来删除错误信息。
在输出链表信息时,可以按上下左右键来控制输出屏幕上下左右移动,这样
就可以看到屏幕上不能一次显示的信息。
每次新建一个新的文件或打开一个新的文件或退出程序时,系统会自动判断
是否有文件没有保存,如果有文件没有保存就提示询问用户是否保存,然后根据
用户的选择来决定是否保存。
在模拟打印时,会输出一份报表到屏幕上并且输出一份到默认文件中,保存
文件是以.txt 为后缀名。可以直接拿来打印。
在保存文件时将不同种类的链表信息保存进不同的文件,一共有四个文件,
分别保存班级链、学生链、课程链、成绩链的信息。并且保存的信息全部是字符
串(包括浮点小数也被转换为字符串),所以在文件里可以清楚的看见各个数据
信息,没有乱码。以可以在保存的文件中修改数据,只要注意数据的长度不要被
改变。
保存的文件虽然有四个但输入的保存文件名只要输入一个(不要后缀名),
系统会自动生成四个文件名来保存信息。在打开时也只要输入一个文件名即可
(同样不要后缀名),系统会以与保存时相同的规则生成四个文件名来打开文件
读取信息。
二、 数据结构简介
本程序的信息是利用十字交叉链表来管理的。包含班级链表、学生链表、课
程链表和分数链表等四重链。每个班级中包含一个学生链表的头指针;每个学生
中包含一个课程链表的头指针;每门课程中又包含一个成绩链表。
数据结构建立规则
先新建班级链,在每一个班级中链接一个学生链,在每个学生中链接一个课
程链,在每门课程中链接一个成绩链。如果成绩不及格就提示用户是否输入重修
信息,如果是则在成绩链中加上重修信息,如果重修成绩还不及格则继续上述操
作,直到成绩及格或用户自己停止输入。如果第一次输入的成绩就已经及格就不
输入重修成绩而直接返回课程信息的输入。在输入课程信息时如果输入“00”就结
束课程链的创建返回学生链的创建。如果在创建学生链表时输入“00”,就结束学
生链表的创建返回班级链表的创建。如果在创建班级链表时输入“00“,就结束链
表的输入。
链表创建完成后就会输出链表的基本信息。
数据结构图解
…
…
数据结构详解
1. 成绩链表:
struct scores{ /***课程成绩*****/
char fall3[4]; /***成绩的从属关系***/
char number[2]; /*****考试次数*****/
char exam_score[4]; /*****考试成绩*****/
char usual_score[4]; /*****平时成绩*****/
char coll_score[4]; /***综合成绩***/
char date[11]; /*****考试的时间*****/
struct scores *next4;
};
成绩链表中包含考试时间、考试成绩、平时成绩、综合成绩以及它属于哪个
班级、哪个学生、哪门课程的从属关系 fall3[4]。其中 fall3[0]指从属的班级,
fall3[1]指从属的学生,fall3[2]指从属的课程。
2. 课程链表:
struct subjects{ /*****课程信息****/
char fall2[3]; /****课程的从属关系****/
char course_no[11]; /*****课程编号*****/
char course_name[17]; /*****课程名称*****/
char credit[4]; /*****学分*****/
struct subjects *next3;
struct scores *chead; /*****分数链表的头指针*****/
};
课程链表中包含课程编号、课程名称、课程的学分、成绩链表的头指针以及
它属于哪个班级、哪个学生的从属关系 fall2[3]。其中 fall2[0]指从属的班级、
fall2[1]指从属的学生。
3. 学生链表:
struct students{ /*****学生链表*****/
char fall1[2]; /****学生的从属关系****/
char student_no[13]; /*****学号*****/
…
head
班级
成绩
录入
1
班级
2
班级
n
NULL
…
学生 1 基本情况
学生 2 基本情况
学生 n 基本情况
课程 1
课程 2
成绩 1(不及格)成 绩 ( 及
格)
NULL
成绩 n(及格)
剩余16页未读,继续阅读
资源评论
- sad12382013-12-29还不错,就是没有源代码
- iphone12345678902013-08-10谢谢了,很好,不过要是有源代码就好了,我急需要呀
- jhldream2013-02-26谢谢了,很好,不过要是有源代码就好了,我急需要呀
tangtang5156
- 粉丝: 10
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TouchGFX 实现图片资源存储在外部flash中(2)
- nginx-1.28.1 arm64架构 docker 镜像包
- fir滤波器实现,包含vivado视频和代码
- 用Python编写一个学生成绩管理系统
- Typora 适配MacBook M系列
- 非凸优化算法的测试函数Goldstein-Price函数(Goldstein-Price function)的Python代码,实现3D效果
- Android Studio4.0版本 适配MacBook M系列芯片
- mysql8.4.3 arm64架构 docker 镜像包
- DH-Live部署与训练的相关代码
- 非凸优化算法的测试函数Eggholder函数(Eggholder function)的Python代码,实现3D效果
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功