您现在的位置:首页 > >

教师信息管理系统(c语言—课程设计)


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


友情链接: 大学学习资料 人文社科 经营营销资料 工程资料大全 IT文档 自然科学