c++程序设计——职工信息管理系统毕业论文设计

上传人:bao****ty 文档编号:117114539 上传时间:2019-11-18 格式:DOC 页数:13 大小:367.50KB
返回 下载 相关 举报
c++程序设计——职工信息管理系统毕业论文设计_第1页
第1页 / 共13页
c++程序设计——职工信息管理系统毕业论文设计_第2页
第2页 / 共13页
c++程序设计——职工信息管理系统毕业论文设计_第3页
第3页 / 共13页
c++程序设计——职工信息管理系统毕业论文设计_第4页
第4页 / 共13页
c++程序设计——职工信息管理系统毕业论文设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c++程序设计——职工信息管理系统毕业论文设计》由会员分享,可在线阅读,更多相关《c++程序设计——职工信息管理系统毕业论文设计(13页珍藏版)》请在金锄头文库上搜索。

1、X程序设计实训职工信息管理系统学生姓名学 号所在学院专业名称班 级指导教师目 录1前言32设计目的33功能描述34总体设计4(1)、功能模块设计4(2)、数据结构设计7(3)、函数功能描述85程序实现8(1)、源程序(略)8(2)、运行结果86小结12141前言随着科技的进步和信息产业的飞速发展,计算机成为了现代生活中一个重要的工具。本系统利用计算机对职工信息进行统一管理,包括录入、删除、修改、查询记录等功能,职工信息以文件的形式存储。系统的设计方法是结构化设计方法,采用C语言进行开发。软件平台采用Visual C+6.0。本系统能够实现职工信息管理工作的系统化、规范化和自动化,为人们的工作和

2、生活提供便利。2设计目的本程序旨在训练基本编程能力,进一步加深、巩固所学专业课程(C/C+序设计)的基本理论知识,理论联系实际,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现职工信息管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。3功能描述根据需求分析结果,职工信息管理系统可以分为录入职工资料、浏览职工信息、职工信息查询、职工信息修改、删除职工信息、添加职

3、工信息、退出信息系统。职工信息管理系统主要利用数组来实现,其数组元素是结构体类型,整个系统由如下几大功能模块组成。如图1所示。输入记录模块从键盘输入查询记录模块更新记录模块按学历查询按职工号查询删除记录添加记录输出至屏幕输出至文件输出记录模块职工信息管理系统从文件读入修改记录图1、职工信息管理功能模块(1)输入记录模块。输入记录模块主要完成将数据存入数组中的工作。在此职工信息管理系统中,输入模块主要完成的是从键盘读入数据并以文本存储形式保存在文件中,它与后续的模块操作直接相联系。(2)查询记录模块。查询记录模块主要完成在数组中查找满足相关条件的记录。在此职工信息管理系统中,用户可以按照职工的学

4、历或职工的职工号在数组中进行查找。若找到该职工记录,则从文件中读出并显示到屏幕上;若未查找到,则显示无相关信息。(3)更新记录模块。更新记录模块主要完成对记录的更新操作。在此职工信息管理系统中,它实现对记录的添加、修改、删除、操作。一般而言,系统进行了这些操作之后,需要将修改的数据写入源数据文件,然后进行保存,以便下一次的操作,否则,操作等视为无效。(4)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对记录的存盘操作,即将数组中各元素中存储的记录信息写入数据文件中。第二,它实现将数组中存储的记录信息显示在屏幕上。4总体设计(1)、功能模块设计(1)主控main()函数执行流程职工信息

5、管理系统执行主流程如图2所示。它先以可读写的方式打开文本类型的数据文件,此文件默认为“c:news”,若该文件不存在,则新建此数据文件。当打开文件操作成功后,从文件中一次读出一条记录,添加到新建的数组中,然后执行显示主菜单和进入主循环操作,以可读可写的方式打开一个数据文件将此文件的内容读出并存入一个新的结构体数组中调用menu()菜单函数进入while(1)主循环输入1-7中的一个数值,选择相应操作判断键值,调用相应函数,完成相应功能按任意键保存文件输入是否为7?开始是否进行按键判断。结束图2.主流程图在判断键值时,有效的输入为1-7之间的任意数值,其他输入都被视为错误按键。若输入为7(即变量

6、choice=7),则会显示退出系统,再按enter键保存文件退出系统。若选择1,则调用enter()函数,执行录入记录操作;若选择2,则调用display()函数,执行将记录输出至屏幕的操作;若选择3,则调用locate()函数,执行查询记录操作;若选择4,调用add()函数,执行添加记录操作;若选择,5,则调用delet()函数,执行删除记录操作:若选择6,则调用modify()函数,执行修改记录操作。(2)输入记录模块输入记录模块主要实现将数据存入数组中。用户选择1,执行输入职工信息功能,屏幕上显示“开始输入记录”,“职工号”字样。输入职工号后显示“姓名”字样。输入后,依次显示“性别”“

7、学历”“住址”等字样。然后判断是否继续输入,根据输入键值执行相应功能。(3)查询记录模块查询记录模块(流程图如图3所示),主要实现在数组中按职工学历或职工号查找满足条件的记录。在查询函数locate()中,定义整型变量choice,用printf语句显示查询菜单,用scanf输入选择的查询方式代号,用switch(choice)进入所选择的具体查询函数,包括按学历查询和按职工号查询。选择按职工学历还是按职工号查询输入职工号或者学历是否找到职工记录显示找到的记录显示无此职工相关信息结束开始是否图3.查询记录流程图(4)更新记录模块更新记录模块主要实现了对记录的添加、修改、删除操作。因为记录是以数

8、组的结构形式存储的,所以这些操作都在数组中完成。下面分别介绍这3个功能模块。1.添加记录添加记录(程序流程图如图4所示)主要是选用了插入方法来增加记录。声明整形变量i,po,a和*f。用printf语句提示“请输入你要插入的位置(1-%d):”,判断插入位置是否有误,若有误则输出“输入位置有误,按任意键返回.”若输入无误,则显示“开始插入记录!”指定位置之后的记录依次往后移动一个位置,然后输入职工信息,插入该位置。*f=1并保存,用if(*f=1)判断条件*f=1是否成立,若成立显示“添加成功,按任意键返回.”返回 a+1,否则显示“添加失败,按任意键返回.”并返回i。2.删除记录删除记录(程

9、序流程图如图5所示)操作是输入职工的职工号来删除职工记录。声明整形变量i,po,flag,a,,*f和char形数组nu20。其中给flag附初始值flag=0.用printf语句提示“开始删除记录”“请输入要删除职工的工号”,接着用scanf语句输入删除对象工号。用for循环,循环主体是先判断ci.num中是否存在所输入的工号(调用字符串比较函数strcmp)。若存在,再用for循环从要删除的这个职工开始,依次用后一个职工的信息覆盖前一个的,*f=1并保存,跳出大循环;若不存在,输出“无此职工的相关信息!”,“按任意键继续”判断if(flag=1)返回 i-1,否则返回i。输入插入信息位置插

10、入记录并输出信息Poa+1开始结束假真输入有误*f=1添加成功添加失败假真图4.添加记录流程图输入要删除的职工号执行删除记录,用后一个职工的信息覆盖前一个的判断是否存在该记录显示无此职工相关信息开始是否结束图5.删除记录流程图3.修改记录修改记录(程序流程图如图6所示)操作需要对数组中目标元素的数据域中的值进行修改,声明整型变量a,f,I,po,flag和char型数组numb 为flag赋初值flag=0.printf输出“开始修改记录”“请输入要修改职工的工号”,用用for循环,循环主体是先判断ci.num中是否存在所输入的工号(调用字符串比较函数strcmp)。若存在,为po赋值po=I

11、,flag=1,再执行if(flag=1),输出该职工的所有信息,再显示“请输入职工号:”用scanf函数输入职工号,再用printf函数显示“姓名:”用scanf函数输入姓名,依次用printf函数显示“性别:”“学历:”等。再为f赋值f=1;若不存在,输出“无此职工的相关信息!”,“修改成功,按任意键返回”返回 f。输入要修改的职工号显示找到的记录,调用修改记录判断是否存在该记录显示无此职工相关信息开始结束否是图6.修改记录流程图(5)输出记录模块当把记录输出至文件时,调用fwrite(&cj,sizeof(struct clerk),1,fp)函数,将数组元素ci 中各字段的值,写入文件

12、指针fp所指的文件:当把记录输出至屏幕时,调用void display()函数,将数组中存储的记录信息显示在屏幕上。(2)、数据结构设计本程序定义了结构体clerk,用于存放职工的基本信息。这里仅有2个与职工有关的字段,读者可以按照需要扩展相关字段。struct clerkchar num12;char name9;char sex3;char xl11;char adr60;char tell13;int age;int salary;cN;其各字段的值的含义如下:l num12:保存职工的职工号。l name9:保存职工的姓名。l sex3:保存职工的性别。l xl11:保存职工的学历。l

13、 adr60:保存职工的住址。l tell13:保存职工的电话号码。l age:保存职工的年龄。l salary:保存职工的工资。(3)、函数功能描述1)menu()函数原型:void menu()menu()函数用于显示菜单信息。2)enter ()函数原型:int enter(int n)enter ()函数用于输入职工信息。3)display()函数原型:void display(int a)display()函数用于显示C数组中存储的所有记录,内容为clerk结构中定义的内容。4)locate()函数原型:void locate(int a) locate()函数用于查询指定职工所有信

14、息,内容为clerk结构中定义的内容。5) add()函数原型:int add(int a,int *f)add()函数用于添加职工信息。6) delet()函数原型:int delet(int a,int *f)delet()函数用于删除指定职工号的职工所有信息。7) modify()函数原型:int modify(int a,int f)modify()函数用于修改指定职工号的职工的信息。8) quit()函数原型:void quit()quit()函数用于退出职工管理系统。5程序实现(1)、源程序(略)(2)、运行结果(1)主界面(图7)图7.主界面当用户刚进入职工信息管理系统时,其主界面如图7所示。此时,系统己经将c:news文件打开,若文件不为空,则将数据从文件中逐条记录读出,并写入数组中。用户可选择1-7之间的数值,调用相应功能进行操作。当输入为7时,退出此管理系统。(2)输入记录当用户输入1并按Enter键后,即可进入数据输入界面。其输入记录过程如图8所示,这里输入了3条记录。执行判断语句时,当用户输入为Y或者y时,继续输入,当用户输入N或者n时,它会结束输入过程,按任意键返回到主菜单界面。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号