




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计(论文)教师基本信息管理系统 院(系)名称电子与信息工程学院 专业班级 学号 学生姓名 指导教师佟玉军 副教授起 止 时 间: 2016.1.42016.1.15课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:软件工程学 号xx0408030学生姓名专业班级物联网141课程设计(论文)题目教师基本信息管理系统课程设计(论文)任务任务要求:教师基本信息管理系统实现以下几个功能:(1)教师基本信息的录入并保存;(2)查询显示所有教师的基本信息(3)按条件查找符合要求教师信息。(4) 教师信息包括教师号、姓名、性别、年龄、学历、工资、电话等 ,教师号不重复。技术要求:
2、1、采用顺序表,结构体的程序设计思想。2、软件能正常运行,界面清晰,操作要简单。3、系统要有主界面设计,调用各个功能项。4、采用visual studio C编写代码,可读性强。5、数据类型用typedef 定义。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩: 总成绩: 指导教师签字: 年 月 日注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。本科生课程设计(论文)摘 要现如今,中国教育发展迅猛。教师管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以教师管理系统能为管理者提供充足的信息和快捷的查询手段。但一直以来人们采用传统的人工
3、方式管理文件信息,这种管理方式存在着诸多不便,如效率低、保密相差,另外时间一长,将产生大量的文件和数据,这对于查找、更新维护都带来了巨大困难,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入社会的各个领域并发挥着越来越重要的作用。 人们迫切需要一个检索迅速,查找方便,可靠性强,存储量大,保密性好的教室管理系统,也是企业的科学化,正规化管理与世界接轨的重要条件。教师管理系统通过windows 7 操作系统,利用visual studio C为媒介开发出一套以C语言为基础的管理系统。程序利用了结构体、顺序表实现存储、查询、按条件筛选等功能。操作简单、方便。关键词
4、:教师信息管理;c语言;顺序表;结构体 目 录第1章 绪论11.1系统的开发背景11.2开发工具及语言1第2章 系统概要分析12.1程序模块划分12.2 程序的流程图12.3 系统程序结构体2第3章 系统详细设计与编码43.1完整的源程序43.2程序运行的界面显示83.3调试程序中遇到的问题及解决方案11第4章 思考题解析134.1 思考题的选择134.2类C算法134.3程序分析14第5章 总结15参考文献16II第1章 绪论1.1系统的开发背景现今,中国高等教育进入飞速发展的阶段,为提高高等教育教学水平,教师基本信息的管理是非常重要的,良好的教师信息管理系统有益于更加高效、便捷的处理教师信
5、息,往往教师信息涉及到存储、查询、浏览、删除等活动,这一系列繁杂的活动,通过开发这个系统解决教师信息的不便管理与繁杂操作。基本管理与保存,通过这个系统以此衔接教学的各个环节,从而确保的教学顺利进行,使学校能够以最少的人员来完成更多的工作。1.2开发工具及语言管理系统主要完成了教师信息的遍历、存储、查询等功能。系统的开发主要通过windows 7 环境下的visual studio 2010作为主要开发工具,开发语言是通过基本的C语言。利用结构体、顺序表实现对教师基本信息的管理,操作简单,环境友好,系统运行可靠。17第2章 系统概要分析2.1程序模块划分 系统主要完成如下功能模块: (1)教师信
6、息录入与存储:教师的信息包括教师号、姓名、学历、电话、职称、工资;可以一一输入 (2)教师信息的显示:显示所有教师的信息、包函的各种子信息 ,方便每个人查看,直接显示所有信息,快捷迅速。 (3)教师信息的查询与筛选:旺旺不同的学校会根据不同的标准评选教师职称,工资,福利等。教师信息管理系统可以根据不同的情况对数据库中的所有教师数据(每个教师的工资,学历,职称等)筛选出符合条件的教师,进行相关的奖惩操作。系统的功能模块图如图1所示。菜单 查询筛选显示存储工资职称学历工资职称学历姓名注:“图”格式:图居中,图上空1行,图标注在图下方20磅行距,5号黑体,居中,段后空1行,图内文字5号宋体。图2.1
7、 系统功能模块图2.2 程序的流程图题目应实现的具体功能;(阐述各子模块的功能)1) 教师信息的录入:键入教师的具体信息,并成功保存;2) 每个教师的信息显示:能根据用户的要求显示出相应的教师基本信息,然后进行相关操作,其中显示的信息应包括教师的教师号、姓名、学历、电话、职称、工资等; 3) 筛选教师信息;根据操作者的键入指令,完成相关的管理功能,即筛选出符合要求的教师,并成功显示出来;开始输入口令 口令No Yes13菜单 2筛选查询存储 结束图2.2 教师信息管理系统模块程序流程图2.3 系统程序结构体系统数据的逻辑结构结构体,物理结构采用顺序表。存储结构定义如下:struct teach
8、erschar numN;char nameN;char sexN;int age;char levelN;float pay;char phoneN;char zhichengN; 第3章 系统详细设计与编码3.1完整的源程序#include stdafx.h#include#include#include#define LEN sizeof(struct teachers)#includeconio.h#define N 20struct teacherschar numN;char nameN;char sexN;int age;char levelN;float pay;char ph
9、oneN;char zhichengN;void menu();int reads(struct teachers teaN);void save(struct teachers teaN, int n);void add();void show();void key();void search();void search1();void search2();void main()key();int n;while (1)menu();printf(n 请输入您要选择的操作序号_按回车键确认n);scanf_s(%d, &n);switch (n)case 1: add(); break;ca
10、se 2: show(); break;case 3: search(); break;case 4: search1(); break;case 5: search2(); break;case 6: exit(0);default: printf(输入错误!请输入列表中存在的序号n );getchar();getchar();void key()/口令检查的函数int i;long a;for (i = 0; i3; i+)printf(*欢迎进入辽宁工业大学教师信息管理系统! *n);printf(请输入您的登陆密钥 (您有%d次机会可以重新输入):n, 3 - i);scanf_s(%
11、ld, &a);if (a = 123456789)/检查口令是否正确printf(欢迎进入教师信息管理系统!n); break; else printf(口令错误n); if (i = 3)/判断可以输入口令的次数是否用完printf(可使用的口令输入次数已用完,将自动退出!n );exit(0); void menu()printf(辽宁工业大学教师信息管理系统);printf( );printf(n 1 添加教师数据 2 显示教师数据 );printf(n );printf(n 3 按教师工资查询教师数据 4 按教师学历查询教师数据);printf(n );printf(n 5 按教师职
12、称查询教师数据 6 退出 );printf(n );printf( 辽宁工业大学教师信息管理系);int reads(struct teachers teaN) / 读取教师文件中的内容FILE *fp;int i = 0;if (fp = fopen(e:teachers.txt, r)=NULL )printf(文件打开失败n);return 0;elsefor (i = 0; !feof(fp); i+)fscanf(fp, %s %s %s %d %s %f %s %sn, &teai.num, &, &teai.sex, &teai.age, &teai.level
13、, &teai.pay, &teai.phone, &teai.zhicheng);fclose(fp);return i;free(fp);void add()/*添加教师信息*/FILE *fp;int n, i;struct teachers tea;if (fp = fopen(e:teachers.txt, a) = NULL) /如果文件已经存在可以追加教师信息if (fp = fopen(e:teachers.txt, w) = NULL) / 文件不存在时创建新文件输入教师信息printf(文件打开失败n);return;free(fp); printf(请输入要添加的教师的数
14、量_按回车键确认);scanf(%d, &n);for (i = 0; in; i+) printf(n 请输入第%d 个教师的教师号、姓名,用空格分开,并按回车键确认n, i);scanf(%s %s, &tea.num, &);printf(n 请输入第%d 个教师的性别、年龄、学历、工资、电话、职称。用空格分开,并按回车键确认n, i);scanf(%s%d%s%f%s%s, &tea.sex, &tea.age, &tea.level, &tea.pay, &tea.phone, &tea.zhicheng);fprintf(fp, %s %s %s %d %s %f
15、%s %sn, tea.num, , tea.sex, tea.age, tea.level, tea.pay, tea.phone, tea.zhicheng); fclose(fp);void show()/*显示教师信息*/struct teachers teaN;int i, n;n = reads(tea);printf(* 所有的教师信息如下*n);printf( 序号 教师号 姓名 性别 年龄 学历 工资 电话 职称 n);printf(*n);for (i = 0; in; i+)printf(n%3d %12s %8s %8s %3d %11s %6.2f %
16、8s %11sn, i + 1, teai.num, , teai.sex, teai.age, teai.level, teai.pay, teai.phone, teai.zhicheng);getchar();getchar();void search() / 按教师工资对教师信息查询struct teachers teaN;float pay;int i, n;n = reads(tea);printf(n 请输入待查询的教师工资,并按回车键确认n);scanf(%f, &pay);for (i = 1; in; i+)if (pay = teai.pay)print
17、f(n%3d%12s%11s%11s%3d%11s%11.2f%11sn, i + 1, teai.num, , teai.sex, teai.age, teai.level, teai.pay, teai.phone, teai.zhicheng);elseprintf(对不起!没有找到教师信息n);void search1() / 按教师学历对教师信息查询struct teachers teaN;char levelN;int i, n;n = reads(tea);printf(n 请输入待查询的教师学历,按回车键确认。n);scanf(%s, level);for (
18、i = 0; in; i+)if (strcmp(level, teai.level) = 0)printf(n%3d%12s%11s%11s%3d%11s%11.2f%11s%11sn, i + 1, teai.num, , teai.sex, teai.age, teai.level, teai.pay, teai.phone, teai.zhicheng);elseprintf(没有找到教师信息n);void search2() / 按教师职称对教师信息查询struct teachers teaN;char zhichengN;int i, n;n = reads(te
19、a);printf(n 请输入待查询的教师职称,按回车键确认。n);scanf(%s, zhicheng);for (i = 0; in; i+)if (strcmp(zhicheng, teai.zhicheng) = 0)printf(n%3d%12s%11s%11s%3d%11s%11.2f%11s%11sn, i + 1, teai.num, , teai.sex, teai.age, teai.level, teai.pay, teai.phone, teai.zhicheng);elseprintf(没有找到教师信息n);3.2程序运行的界面显示1、程序进入界面:
20、进入教师管理系统主界面 图3.1 主界面 2、根据提示输入教师的相关信息,按回车确认;图3.2 键入界面 3、显浏览所有教师数据。 图3.3显示所有教师信息显示教师信息主要完成。4、查询筛选教师工资相关信息。图3.3按教师工资查询信息查询工资信息主要完成。 5、按要求输入教师学历信息,筛选出符合条件的教师。图3.3按教师学历查询信息查询教师信息成功!6、根据提示输入要查询的教师职称 图3.3按教师职称查询信息查询教师信息成功。3.3调试程序中遇到的问题及解决方案 具体测试1,在编写添加“新条目模块”时出现死循环,最早的做法是用scanf命令重新写一次教师号,姓名,性别,年龄等,2读取字符串是并
21、不以空格做结束,执行结果会吧姓名后面的性别也当做姓名输入,解决办法是重新输入,并以空格做结束。3在显示所有数据时,往往窗口不足以显示所有数据,解决办法是在打印的循环语句中加一句(i%10=0)getchar();此时每显示十个数据需要重新输入回车符才能继续显示。4 使用scanf命令时不能把输入的数据保存到变量中,解决的办法是变量前缺了“&”加上一个“&”。5 再输出教师电话时不能全部显示,解决办法是输出格式写错了,电话号码一般是11位应该是以%11s的格式输出。6教师信息不能输出,解决办法是定义教师信息变量不合法,重新定义合适的教师变量。7 显示未定义的标识符show,在结构体中没有定义该函
22、数,在结构体中重新定义,并写出声明。第4章 思考题解析4.1 思考题的选择所选择的思考题:有向图中十字链表的存储表示的形式。4.2类C算法 #define MAX_VERTEX_NUM 20typedef struct arcboxint tailvex , headvex;struct arcbox * hlink ,*tlink;infotype * info;arcbox;typedef struct vexnodevertextype data;arcbox *firstin,*fiirstout;vexnode;typedef struct vexnode xlistMAX_VERT
23、EX_NUM;int vexnum,arcnum;olgraph; 4.3程序分析十字链表是有向图的另一种链式存储结构,可以看成是把有向图的领接表和逆邻接表结合起来得到的一种链表。在十字链表中,对应于有向图的每一条弧有一个结点,对应于每一个顶点也有一个结点,这些结点包含五个域,分别是tailvex,headvex,hlink,tlink,info 只要输入有向图的n个顶点和e条弧的相关信息,便可建立该有向图的十字链表,程序中*firstin,*firsout表示分别指向该顶点的第一条入弧和出弧,*hlink,和*tlink表示分别指向弧头相同和弧尾相同的链域。第5章 总结两个星期的课程设计即将结束了。在这短短的两个星期里,我付出了许多,也收获了许多,回想起来还真有不少的体会。首先要感谢我的老师们,他们在整个实验操作和论文的完成中给了我极大的帮助和支持,他们一丝不苟的治学态度,清晰的思路和认真、负责的态度使我铭记于心并将永远的学习。在此,我深深感谢他们。刚拿到题目时,我对课题充满了新鲜感,在老师的指导下我查阅了大量关于课题的文献,使我对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能机器人生产制造合同
- 广东省珠海市斗门区2024-2025学年八年级上学期期末生物学试题(含答案)
- 酒店行业阅读题及答案
- 超级计算中心建设运营合同
- 顶入法法的桥、涵工程 现场质量检验报告单
- 商业综合体设计与施工合同
- 教育培训行业学员个人信息保护合同
- 安徒生童话故事中的道德评析
- 农业产业化发展方案
- 高中英语单词复习策略及实践教案
- 《审核员培训教程》课件
- 《光催化技术》课件
- 办公打印机的租赁合同范文
- 危大工程监理巡视检查用表
- 大埔县生活垃圾填埋场应急加固及渗滤液处理站扩容改造工程环境影响报告
- 餐饮行业仪容仪表标准规范
- 110kVGIS组合电器(含PT)试验作业指导书
- 进货检验报告单
- 医院外科脑疝患者的应急预案演练脚本
- HSK标准教程5下-课件-L1
- 调相机系统构成及原理培训课件
评论
0/150
提交评论