logo资料库

C语言课程设计--职工信息管理系统.doc

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
目 录
职工信息管理系统
1 功能设计
2 总体设计方案
2.1设计技术说明
2.2 函数关系示意图
2.3 结构体设计及说明
2.4 总体设计方案及流程图
3 详细设计
3.1 创建函数
3.2插入函数
3.3查询函数
3.4 修改函数
3.5删除函数
3.6浏览函数
3.7文件保存
3.8总程序代码及注释
4调试及测试
4.1当前代码运行情况
4.2其他问题
5 系统的操作说明
致谢
附录
参考文献
摘 要 本报告介绍了一个运用 C 语言开发的用于职工信息管理系统,通过该系统可以对职工 的姓名、工号、学历、联系方式等信息进行系统管理。该系统是在 Visual C++集成环境中 进行编译、连接和运行的。该系统使用了数组程序设计技术,以及输入输出函数、选择结 构、循环结构、指针、结构体数据和文件输入输出的知识完成。管理人员只要通过屏幕菜 单,就可以实现对系统数据的插入、查询、修改、删除、浏览等工作,该系统的使用,给 职工的管理带来了极大的方便,大大的提高了管理人员的工作效率和工作质量。 关键词:C 语言,职工,管理系统
目 录 1 功能设计 ............................................................................................................................................................ 1 2 总体设计方案 .................................................................................................................................................... 2 2.1 设计技术说明 ............................................................................................................................................2 2.2 函数关系示意图 .......................................................................................................................................2 2.3 结构体设计及说明 ...................................................................................................................................2 2.4 总体设计方案及流程图 ...........................................................................................................................3 3 详细设计 ............................................................................................................................................................ 4 3.1 创建函数 ................................................................................................................................................... 4 3.2 插入函数 .................................................................................................................................................... 4 3.3 查询函数 .................................................................................................................................................... 5 3.4 修改函数 ................................................................................................................................................... 5 3.5 删除函数 .................................................................................................................................................... 5 3.6 浏览函数 .................................................................................................................................................... 5 3.7 文件保存 .................................................................................................................................................... 6 3.8 总程序代码及注释 ....................................................................................................................................6 4 调试及测试......................................................................................................................................................... 13 4.1 当前代码运行情况 ..................................................................................................................................13 4.2 其他问题 .................................................................................................................................................. 14 5 系统的操作说明................................................................................................................................................ 16 致谢 ........................................................................................................................................................................ 17 附录 ........................................................................................................................................................................ 18 参考文献 ................................................................................................................................................................ 22 1
职工信息管理系统 1 功能设计 对于任意大小公司来说,职工管理的好坏会直接关系到公司的发展和管理, 它是公司经营管理中非常重要的环节。职工的增加、减少、管理是一个紧密联系 的有机整体。因此,公司必须要有一个方便管理人员管理职工资料的系统,这个 系统又能方便管理人员能及时掌握职工的有效信息。 本报告设计的职工信息管理系统主要是管理职工资料的,方便修改、查询、 删除。 随着公司的经营发展,公司的管理系统很重要,特别是职工的管理,职工的 公司最基层的人物,也是为公司提供劳动力的重要部分。本设计就是为公司职工 设计一个基于 C 语言、在 Visual C++环境中编译、连接和运行的职工信息管理 系统。 该系统应该具有以下功能: 1)能够建立一个文件夹来储存职工的信息; 2)能够录入职工的信息; 3) 能够查询某一职工的信息; 4)能够修改某一职工的信息; 5)能够删除某一职工的信息; 6)能够显示所有职工的信息; 7)能够推出系统。 系统的功能结构图如下图所示: 职工信 息管理 新建文件 职工信息 职工信息 职工信息 职工信息 职工信息 夹 录入 查询 修改 删除 浏览 1
2 总体设计方案 2.1 设计技术说明 该设计是一个小型的管理系统,该系统中的主要数据包括客户姓名、性别、 入职日期、学历和联系电话等等,这些数据的类型尽管不同,但他们之间是有内 在联系的,都属于记录信息的内容,所以在本程序中将他们组合成一个组合数据, 也就是结构体。每个职工信息就是数据表中的一项记录,所有的职工信息构成一 张总表,在程序设计时使用结构体数组存储这些数据,每当输入信息完成,可以 将这些数据保存在磁盘文件中。 2.2 函数关系示意图 为了便于程序设计调试和小组分工合作,该系统程序采用模块化的设计方 法,将系统的每个功能用一个相对独立的函数来完成,该系统程序包含一个主函 数,包含一个插入函数(Insert)、一个查询函数(Search)、一个修改函数(Update)、 一个删除函数(Delete)、一个浏览函数(Browse)、保存函数(Save)和一个退出 函数(Exit)。 其示意图如图 2-1 所示: Main Insert Save Search Update Delete Browse 图 2-1 函数结构图 2.3 结构体设计及说明 根据系统的要求,声明以下的结构体类型: #include #include struct workers { //声明字符串 //声明函数类型 //声明结构体类型的名称为 struct workers char name[10]; char sex[8]; //用字符串存放职工的姓名数据 //用字符串存放职工的性别数据 2
char time[20]; char phone[20]; char education[10]; int number; }worker; //用字符串存放职工的入职时间数据 //用字符串存放职工的联系号码数据 //用字符串存放职工的学历数据 //用字符串存放职工的工号数据 //用结构体数组存放职工的所有信息,不限制人数 2.4 总体设计方案及流程图 系统总体来讲采用职工信息管理,操作员根据职工信息管理系统中的提示项 选择其中一项进行操作,即调用与菜单项对应的子函数,操作员根据提示进行操 作,操作完成后,系统重新显示菜单,供用户选择,直到操作员选择退出项,程 序结束。 其总的流程图如图 2-2 所示: 开始 声明函数 用户选择菜单 ] N >=0&&<=6 Y =0 =1 =2 =3 =4 =5 =6 调 用 新 建 函 数 调 用 录 入 函 数 调 用 查 询 函 数 调 用 删 除 函 数 调 用 浏 览 函 数 退 出 调 用 修 改 函 数 结束 3
图 2-2 总 体 设 计 流 程 图 3 详细设计 职工信息系统由一个主函数,一个创建函数(Creat)、一个插入函数 (Insert)、一个查询函数(Search)、一个修改函数(Update)、一个删除函数 (Delete)、一个浏览函数(Browse)和一个退出函数(Exit)组成,下面对这 些函数的详细设计做一说明。 主函数的结构体变量: struct workers { char name[10]; char sex[8]; char time[20]; char phone[20]; char education[10]; int number; } //声明结构体类型 struct workers // 全局变量:姓名 // 全局变量:性别 // 全局变量:入职时间 // 全局变量:联系号码 // 全局变量:学历 // 全局变量:工号 从主函数的代码中看出,姓名,性别,职工入职日期,学历和职工联系电 话都属于全局变量。设置这些变量,使整个职工信息系统的数据更具体和清晰。 3.1 创建函数 1)Creat() 2)功能 创建函数便于创建保存数据文件的具体路径。创建文档文件 workers,使 fp 指向此文件,程序中的 w+表示创建一个具有读写功能的文档文件。通过创建函 数,可以确定该文件的具体路径为 D 磁盘。 3)相关变量 通过程序,可以看出相关的变量为 fp,fp 是指向 workers 文档文件的变量。 fp 将 fopen 函数的返回值赋值给针变量 fp 3.2 插入函数 1)Insert() 2)功能 录入数据函数具有巨大的功能,是为录入具体职工信息服务的。程序中我们 依序录入职工姓名,职工性别,职工入职日期,学历,联系电话的有关职工信息。 3)相关变量 fp 将 fopen 函数的返回值赋值给指针变量 fp 3)流程图(见附录的图 1) 4
3.3 查询函数 1)Search() 2)功能 Seach 查询函数在职工信息处理系统中起着查询职工信息的作用。通过调用 查询函数,我们可以根据要查询的职工工号来查询出职工姓名,性别,入职日期, 学历和联系电话。 3)相关变量 fp flag 3)流程图(见附录的图 2) 将 fopen 函数返回值赋值给指针变量 fp 设定标记变量 flag 来判断是否存在此职工信息 3.4 修改函数 1)Update() 2)功能 首先输入你曾经录入的数据,接着可以按要求去修改之前所录入的数据,例 如姓名、性别、入职日期、学历和联系电话,另外,如果之前没有录入就查询, 则会出现提示语“没有查询到将要修改的职工工号!” 3)相关变量 flag offset fread 3)流程图(见附录的图 3) 设定标记变量 flag 来判断是否存在此职工信息 用来存放修改职工资料的一长整型变量 调用数据工具变量 fread 3.5 删除函数 1)Delete() 2)功能 起到删除离职职工的信息的功能,并且能将文件指针返回到存储此职工信息 的位置。当下次查询时,没有此职工的信息内容。 3)相关变量 flag fp fread 3)流程图(见附录的图 4) 将 fopen 函数返回值赋值给指针变量 fp 用数据工具变量 fread 设定标记变量 flag 来判断是否有查询到可以删除的职工号 3.6 浏览函数 1)Browse() 2)功能 对之前所录入的一系列数据起到比较直观的浏览功能。 3)相关变量 5
//将 fopen 函数的返回值赋值给指针变量 fp fread(&worker,sizeof(struct workers),1,fp); if(worker.number==number) {printf("\n 已经有相同的职工工号,请选择其他工号:"); //读取文件 //当新输入的工号和已保存的工号是重复时提示并返回 //关闭文件"D:\workers.txt" //打开文件 //从头文件读入字符直到文件结束 long offset; offset=ftell(fp); fread(&worker,sizeof(struct workers),1,fp); //将文件指针所在的位置赋给一长整型变量 int i=0; 定义整型变量 i 4)流程图(见附录的图 5) 3.7 文件保存 1)数据的输入和输出 fp=fopen("D:\workers.txt","r"); while(!feof(fp)) { return; } } fclose(fp); fp=fopen("D:\workers.txt","r+"); while(!feof(fp)) { 2)打开方式 void Save( ) { //定义 Save 函数 if((fp=fopen("D:\workers.txt","a"))==NULL) //打开文件 workers,使 fp 指向此文 { printf("cannot open file\n"); //若 workers 文件为空文件,则输出“不能打开文 件,判断此文件是否为空文件 return; } 件”的提示信息 //返回 if 语句,继续进行判断文件是否为空文件 if(fwrite(&worker,sizeof(struct workers),1,fp)!=1) //向 workers 文件中写数据,用 { printf("file write error\n"); if 语句进行判断写入数据的真假 //若写入的数据为假的,则输出“文件写入错 误” 的提示信息 return ; //返回 if 语句,继续进行判断写入的数据是否为假的 } fclose(fp); } //关闭文件 3.8 总程序代码及注释 #include #include #include struct workers //声明字符串 //声明函数类型 //声明结构体类型 struct workers 6
分享到:
收藏