时间:2024/2/22来源:本站原创作者:佚名
白癜风治疗的费用 http://pf.39.net/bdfyy/bdfjc/150526/4629702.html
教师信息管理系统本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和单链表的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用数组结构实现对教师信息管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。1、问题定义创建一个教师信息管理系统。系统中包括教师的信息录用,每个教师的总工资,教师的性别,出生年月,教师津贴等。程序的运行效果如下图所示,选择任任意菜单后,实现相应功能。编辑切换为居中图1.1教师信息管理系统功能2、系统设计2.1总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。编辑切换为居中添加图片注释,不超过字(可选)本教师信息管理系统要求采用单链表实现,如图2.1所示,它由如下五大功能模块组成:输入记录模块。完成将数据存入单链表的工作。记录可以从以二进制形式存储的数据文件中读入,也可从键盘逐个输入教师信息记录。教师记录由教师的基本信息构成。当从数据文件中读入记录时,也就是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。查询记录模块。完成在单链表中查找满足相关条件的教师记录。在此教师信息管理系统中,用户可以按照教师的工号或姓名在单链表中进行查找。若找到该教师的记录,则返回指向该教师的记录的指针。否则返回一个值为NULL的空指针,并打印出未找到该学生记录的提示信息。更新记录模块。完成对教师记录的维护。在此教师信息管理系统中,它实现了对教师记录的修改、删除、插入和排序操作,并将修改后的数据存入源数据文件。统计记录模块。完成对教师最高工资和最低工资人数的统计。输出记录模块。一是实现对教师信息记录的存盘,即将记录写入数据文件中;二是实现将记录信息以表格的形式在屏幕上打印出来。2.2详细设计2.2.1数据结构设计教师信息管理结构体structdata{intyear;intmonth;intday;};structteacher{charnum[15];charname[30];structdatabir;charsex;floatjbgz;floatjt;};结构体structteacher将用于存储教师的基本信息,它将作为单链表的数据域。2.2.2主控main()函数执行流程程序总体结构图编辑切换为居中添加图片注释,不超过字(可选)2.2.3函数功能描述input()函数原型:voidinput()voidinput()此函数功能是输入教师信息。structdata函数原型:voidstructdatastringinput()函数用于输入字符串,并进行字符串Conio函数原型:#includeconio.h,是函数预处理。主函数main()整个成绩管理系统控制部分,其详细说明可参考图二。完成在上述系统设计后,即可着手进行系统实现的工作,开始程序代码的编写。3、系统实现3.1编码3.1.1部分实训原始代码#includestdio.h#includestring.h#includestdlib.h#includeconio.h/*函数声明*/voidinput();//此函数功能是输入教师信息intmenu();//此函数是一个菜单//学号:structdata{intyear;intmonth;intday;};{printf("请输入教师工作号:");scanf("%s",a[i].num);printf("请输入教师姓名:");scanf("%s",a[i].name);printf("请输入教师出生日期:");scanf("%d%d%d",a[i].bir.year,a[i].bir.month,a[i].bir.day);printf("请输入教师性别:");getchar();scanf("%c",a[i].sex);printf("请输入教师基本工资:");scanf("%f",a[i].jbgz);printf("请输入教师津贴:");scanf("%f",a[i].jt);//实现教师信息输出temp=a[i];a[i]=a[k];a[k]=temp;//查找指定姓名的教师信息,若不存在,给出提示信息voidsearchbyname(structteachera[],intn){charname[20];intflag=0;inti;printf("请输入要查找的教师姓名:\n");getchar();gets(name);for(i=0;in;i++){if(strcmp(name,a[i].name)==0){printf("工作号,姓名,出生日期,性别,基本工资,津贴,总工资:\n");printf("%s%s%d%d%d%c%f%f%f\n",a[i].num,a[i].name,a[i].bir.year,a[i].bir.month,a[i].bir.day,a[i].sex,a[i].jbgz,a[i].jt,a[i].jbgz+a[i].jt);flag=1;3.2测试与调试3.2.1程序测试在主菜单中选择1编辑图3.1输入教师的信息2.在主菜单中选择2编辑图3.2查找教师的基本信息3.在主菜单中选择3当用户输入3并按回车键后,即可进入记录查找界面。其查找记录过程如图3.3所示,可按工号或姓名进行查找。编辑图3.3查找指定的教师信息4.在主菜单中选择4当用户输入4并按回车键后,即可进入记录修改界面。其修改记录过程如图3.4所示,查找指定姓名的教师信息,入部存在则退出。编辑图3.4查找指定姓名的教师信息5.在主菜单中选择5当用户输入5并按回车键后,即可进入记录插入界面。其插入记录过程如图3.5所示,这里是查找教师最高的教师基本信息记录。编辑切换为居中图3.5查找工资最高的教师记录6.在主菜单中选择6当用户输入6并按回车键后,即可进入记录统计界面。其统计结果如图3.6所示,查找不到教职工本人信息。编辑图3.6修改教师的的信息7.在主菜单中选择7当用户输入7并按回车键后,即可执行退出管理程序的操作,返回操作系统。其操作结果提示信息如图3.7所示。编辑图3.7按任意键退出4、系统维护通过程序调试成功后,结果很快就完成了,这时可以交付软件供用户使用,但是在软件的使用过程中还会面临更加漫长的工作,即软件维护。一般维护的工作有:更改使用中发现的错误;为适应实际环境而对程序进行修改;为满足新的需求而对程序作必要的改进等等。所以我认为程序的编写与调试及其重要,必须要牢固掌握。5、归纳总结5.1开发经验用C语言编写具有以下功能的程序:1录入教师信息,并将信息保存在teachers.txt文件中。2教师信息的浏览功能(输出)。3教师信息的查询功能,应分别能够按照工资和学历查询。4教师信息包括教师号、姓名、性别、年龄、学历、工资、电话等(教师号不重复)。编辑资料包括需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。
转载请注明原文网址:http://www.gzdatangtv.com/hjpz/hjpz/18608.html
------分隔线----------------------------