本科毕业设计教师信息管理系统c语言课程设计.docx
《本科毕业设计教师信息管理系统c语言课程设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计教师信息管理系统c语言课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
本科毕业设计教师信息管理系统c语言课程设计
课程设计任务书
计算机科学与技术专业2010年级一班陈金利
一、设计题目
教师信息管理系统设计
二、主要内容
教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。
试设计一教师信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)教师信息录入功能输入
(3)教师信息删除功能
(4)教师信息浏览功能输出
(5)查询和排序功能:
(至少一种查询方式)一一算法按教师号查询
按职称查询等
三、具体要求
围绕课程设计的目的和意义,基本要求如下:
1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;
2、快速总结C程序设计语言的精髓,如:
函数的概念、函数的设计和函数的调用;
3、快速熟悉TuberC或C++的上机环境。
能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。
4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。
如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。
5•学习并了解良好的程序设计风格。
按质、按量、并按时间完成课程设计的任务。
6•提供可运行的课程设计系统,参加上机面试答辩。
本次课程设计的重点是:
学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:
冒泡法、选择排序法和折半查找法)。
同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。
四、进度安排
依照教学计划,课程设计时间为3周。
按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。
避免甚至杜绝“拿到题目就编码”的现象。
建议将时间分为三个阶段:
第一阶段,根据题目要求,拿出系统的总体设计方案:
即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;
第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;
第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩
三个阶段时间分配的大概比例是:
35:
45:
20。
五、完成后应上交的材料
1•课程设计的题目、系统的总功能和各子模块的功能;
2•题目的设计思想(或算法)简述;
3•主要程序的框图(要求用N-S图);
4•源程序代码(要求在关键的位置有注释,从而增加程序的可读性);
5•课程设计的总结报告,主要包括以下内容:
(1)课程设计中遇到的主要问题和解决方法;
(2)你的创新和得意之处;
(3)设计中存在的不足及改进的设想;
(4)本次课程设计的感想和心得体会。
以上完成的源程序及相关文档,填写在《课程设计说明书》上,要求干净整洁,符合课程设计的要求和规范。
六、总评成绩
.题目设计思想简述
如上图所示,该教师信息管理系统主要是一个以动态链表的应用为基础来实现对教师信息的录入,查询,删除等功能。
.程序的N—S图
2.1总程序的N—S图
说明:
各功能都是通过调用子函数来实现的。
2.2各子函数的N—S图
子函数主要包括教师信息录入,教师信息浏览,教师信息删除,教师信息查询和教师信息排序等5个。
在退出系统时调用了一个保存信息到文件中的函数,该函数只是简单的应用了文件的读写功能,在
此不写出其N—S图。
2.2.1教师信息录入函数
p仁(structteacher*)malloc(LEN)
输入一个教师号p1->num
教师号^o?
——^^F
链表头为空^
Head=p1
p3=head
当p3->next不为空
p3=p3->next
p3->next=p1
当教师号不为0
输入教师的编号,姓名,所在系,工资,课时,
n=n+1
~录一一^V
head=p1p2->next=p1
p2=p1
p仁(structteacher*)malloc(LEN)
输入一个教师号p1->num
p2->next=NULL
说明:
p仁(structteacher*)malloc(LEN)中LEN是在程序开头的宏
定义(#defineLENsizeof(structteacher)。
其中n为全局变量,用来统计链表的结点数,以下出现的n都是同一个。
2.2.2教师信息浏览函数
p=head
链表头为空^
显示“还
输出p所指向的位置中的教师的所有信息
未录入
过信息”
p=p->next
直到p为空
说明:
实际程序中在链表头为空是提供了可以浏览之前保存在文件中的信息的功能,当选择该功能时就调用了一个读取文件的函数。
该函数只是对文件读写的简单应用,详细请看后面第三部分代码,这里不写出其N-S图。
2.2.4教师信息查询的函数
在查询方面程序为用户提供了4种不同方式的查询,每一种方式的查询为一个子函数,此时也是采用一个菜单栏函数进行选择查询方式并调用该种方式的函数。
菜单栏函数跟主程序菜单栏的算法一样,
此处只给出查询函数的N—S图
说明:
该N—S图是对应姓名,教师号,职称,年龄四种查找方式的函数的。
当选择教师号查找时,输入i的即为教师号,与i做比较的为p中的教师号,选择其他查找方式时类似。
输出“还未录入过教师信息”并退出函数
第二个结点为空?
——■F
p仁head
p2=head->next
给出排序函数的N—S图
2.2.5教师信息排序函数
排序也跟查询一样给出多种排序方式并采用菜单栏函数,此处也只
i=1
当i小于n时
j=0
当j小于n-i时
、\p!
中的对应一i"
p3=p1
为链表头
head=p2p3->next=p2
p仁p2
p4=p2->next
p2->next=p1
p1->next=p4
p2=p2-
>next
p3=p2
p2=p4
p仁head
p2=p1->next
调用教师信息浏览函数
说明:
p1,p2指向的结点用来比较,p3,p4是用来记录结点的,当选用的排
序方式不同,
p1,p2用来比较的信息为所选方式的信息。