C++程序设计——职工信息管理系统

上传人:lizhe****0001 文档编号:45187102 上传时间:2018-06-15 格式:DOC 页数:12 大小:197KB
返回 下载 相关 举报
C++程序设计——职工信息管理系统_第1页
第1页 / 共12页
C++程序设计——职工信息管理系统_第2页
第2页 / 共12页
C++程序设计——职工信息管理系统_第3页
第3页 / 共12页
C++程序设计——职工信息管理系统_第4页
第4页 / 共12页
C++程序设计——职工信息管理系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

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

2、开发。 软件平台采用 Visual C+6.0。本系统能够实现职工信息管理工作的系统化、规范化和自动 化,为人们的工作和生活提供便利。2设计目的设计目的本程序旨在训练基本编程能力,进一步加深、巩固所学专业课程(C/C+序设计 ) 的基本理论知识,理论联系实际,了解管理信息系统的开发流程,熟悉 C 语言的文件和结 构数组的各种基本操作。能够利用所学的基本知识和技能,解决简单的程序设计问题,增 强独立完成工作的能力。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的 训练,能对 C 语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现职工信息 管理的原理,为进一步开发出高质量的信息管理

3、系统打下坚实的基础。3功能描述功能描述根据需求分析结果,职工信息管理系统可以分为录入职工资料、浏览职工信息、职工 信息查询、职工信息修改、删除职工信息、添加职工信息、退出信息系统。职工信息管理 系统主要利用数组来实现,其数组元素是结构体类型,整个系统由如下几大功能模块组成。 如图 1 所示。输入记录模块从 键 盘 输 入查询记录模块更新记录模块按 学 历 查 询按 职 工 号 查 询删 除 记 录添 加 记 录输 出 至 屏 幕输 出 至 文 件输出记录模块职工信息管理系统从 文 件 读 入修 改 记 录图图 1 1、职工信息管理功能模块、职工信息管理功能模块(1)输入记录模块。输入记录模块主

4、要完成将数据存入数组中的工作。在此职工信息 管理系统中,输入模块主要完成的是从键盘读入数据并以文本存储形式保存在文件中,它 与后续的模块操作直接相联系。 (2)查询记录模块。查询记录模块主要完成在数组中查找满足相关条件的记录。在此4职工信息管理系统中,用户可以按照职工的学历或职工的职工号在数组中进行查找。 若找到该职工记录,则从文件中读出并显示到屏幕上;若未查找到,则显示无相关信息。 (3)更新记录模块。更新记录模块主要完成对记录的更新操作。在此职工信息管理系 统中,它实现对记录的添加、修改、删除、操作。一般而言,系统进行了这些操作之后, 需要将修改的数据写入源数据文件,然后进行保存,以便下一

5、次的操作,否则,操作等视 为无效。 (4)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对记录的存盘操 作,即将数组中各元素中存储的记录信息写入数据文件中。第二,它实现将数组中存储的 记录信息显示在屏幕上。4总体设计总体设计(1) 、功能模块设计、功能模块设计(1)主控 main()函数执行流程 职工信息管理系统执行主流程如图 2 所示。它先以可读写的方式打开文本类型的数据 文件,此文件默认为“c:news” ,若该文件不存在,则新建此数据文件。当打开文件操作 成功后,从文件中一次读出一条记录,添加到新建的数组中,然后执行显示主菜单和进入 主循环操作,进行按键判断。图图 2.2.主流

6、程图主流程图以可读可写的方式打开一个数据文件将此文件的内容读出并存入一个新的结构体数组中调用 menu()菜单函数进入 while(1)主循环输入 1-7 中的一个数值,选择相应操作判断键值,调用相应函数,完成相应功能按任意键保存文件输入是否为7?开始是否结束5在判断键值时,有效的输入为 1-7 之间的任意数值,其他输入都被视为错误按键。若 输入为 7(即变量 choice=7),则会显示退出系统,再按 enter 键保存文件退出系统。若选择 1,则调用 enter()函数,执行录入记录操作;若选择 2,则调用 display()函数,执行将记录 输出至屏幕的操作;若选择 3,则调用 loca

7、te()函数,执行查询记录操作;若选择 4,调用 add()函数,执行添加记录操作;若选择,5,则调用 delet()函数,执行删除记录操作:若选 择 6,则调用 modify()函数,执行修改记录操作。 (2)输入记录模块 输入记录模块主要实现将数据存入数组中。用户选择 1,执行输入职工信息功能,屏 幕上显示“开始输入记录” , “职工号”字样。输入职工号后显示“姓名”字样。输入后, 依次显示“性别” “学历” “住址”等字样。然后判断是否继续输入,根据输入键值执行相 应功能。 (3)查询记录模块 查询记录模块(流程图如图 3 所示) ,主要实现在数组中按职工学历或职工号查找满足 条件的记录

8、。在查询函数 locate()中,定义整型变量 choice,用 printf 语句显示查询菜单, 用 scanf 输入选择的查询方式代号,用 switch(choice)进入所选择的具体查询函数,包括按 学历查询和按职工号查询。选择按职工学历还是按职工号查询输入职工号或者学历是否找到职工记录显示找到的记录显示无此职工相关信息结束开始是否图图 3.3.查询记录流程图查询记录流程图(4)更新记录模块 更新记录模块主要实现了对记录的添加、修改、删除操作。因为记录是以数组的结构 形式存储的,所以这些操作都在数组中完成。下面分别介绍这 3 个功能模块。 1.添加记录 添加记录(程序流程图如图 4 所示

9、)主要是选用了插入方法来增加记录。声明整形变 量 i,po,a 和*f。用 printf 语句提示“请输入你要插入的位置(1-%d):” ,判断插入位置是否有 误,若有误则输出“输入位置有误,按任意键返回.”若输入无误,则显示“开始插入 记录!”指定位置之后的记录依次往后移动一个位置,然后输入职工信息,插入该位置。*f=1 并保存,用 if(*f=1)判断条件*f=1 是否成立,若成立显示“添加成功,按任意键返 回.”返回 a+1,否则显示“添加失败,按任意键返回.”并返回 i。 2.删除记录 删除记录(程序流程图如图 5 所示)操作是输入职工的职工号来删除职工记录。声明6整形变量 i,po,

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

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

12、(调用字符串比较函数 strcmp) 。若存在,为 po 赋值 po=I,flag=1,再执行 if(flag=1),输出该职工的所有信息,再显示“请输入职工号:”用 scanf 函数输入职工号,再用 printf 函数显示“姓名:”用 scanf 函数输入姓名,依次用 printf 函数显示“性别:” “学历:”等。再为 f 赋值 f=1;若不存在,输出“无此职工的 相关信息!” , “修改成功,按任意键返回”返回 f。输入要修改的职工号显示找到的记录,调用修改记录判断是否存在该记录显示无此职工相关信息开始结束否是图图 6.6.修改记录流程图修改记录流程图(5)输出记录模块 当把记录输出至文

13、件时,调用 fwrite( char name9; char sex3; char xl11; char adr60; char tell13; int age; int salary; cN; 其各字段的值的含义如下:8num12:保存职工的职工号。 name9:保存职工的姓名。 sex3:保存职工的性别。 xl11:保存职工的学历。 adr60:保存职工的住址。 tell13:保存职工的电话号码。 age:保存职工的年龄。 salary:保存职工的工资。(3) 、函数功能描述、函数功能描述1)menu() 函数原型:void menu() menu()函数用于显示菜单信息。 2)enter

14、 () 函数原型:int enter(int n) enter ()函数用于输入职工信息。 3)display() 函数原型:void display(int a) display()函数用于显示 C 数组中存储的所有记录,内容为 clerk 结构中定义的内容。 4)locate() 函数原型:void locate(int a) locate()函数用于查询指定职工所有信息,内容为 clerk 结构中定义的内容。 5) add() 函数原型:int add(int a,int *f) add()函数用于添加职工信息。 6) delet() 函数原型:int delet(int a,int *

15、f) delet()函数用于删除指定职工号的职工所有信息。 7) modify() 函数原型:int modify(int a,int f) modify()函数用于修改指定职工号的职工的信息。 8) quit() 函数原型:void quit() quit()函数用于退出职工管理系统。5程序实现程序实现(1) 、源程序(略)、源程序(略)(2) 、运行结果、运行结果(1)主界面(图 7)9图图 7.7.主界面主界面当用户刚进入职工信息管理系统时,其主界面如图 7 所示。此时,系统己经将 “c:news“文件打开,若文件不为空,则将数据从文件中逐条记录读出,并写入数组中。用 户可选择 1-7 之间的数值,调用相应功能进行操作。当输入为 7 时,退出此管理系统。 (2)输入记录 当用户输入 1 并按 Enter 键后,即可进入数据输入界面。其输入记录过程如图 8 所示, 这里输入了 3 条记录。执行判断语句时,当用户

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

当前位置:首页 > 学术论文 > 其它学术论文

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