1、职工信息管理系统设计报告程序设计课程设计报告职工信息管理系统设计专 业 计算机科学与技术(网络技术)学生姓名 金玲 班 级 B计算机131 学 号 13107044 指导教师 张静林 完成日期 2014年2月24日3月7日刖言近年来,随着每一个企业规模的不断扩大,员工数 量也相应的增加,面对着如此复杂的企业员工信息,有必要 建立一个企业职工管理系统对员工进行管理使企业更具规范 化、整体化、全局化,使个各员工 都能充分发挥自己在相应 职位中的作用。因此,建立一个比较全面的职工信息系统有叮叮小文库 助于公司的合理化运作。问题描述由于员工数量的不断增加,员工的信息没有办法统 一记录,因此,就有必要建
2、立一个职工信息系统来解决当前 问题。需求分析本系统通过对员工信息的管理,有助于上层领导集 团对职工更准确的了解,在人员调配方面更能各显其才,产 生更大的经济效益。现在有很多的小型工厂或公司都没有涉 及到电脑方面,没有很好地保存职 工的信息,仅仅是用一些 档案保存,这样容易丢失,保存起来也不方便,查找更是费 劲,如有职工的信息作废,文档就只能作废了。现在,一个 小小的、简单易懂的C语言程序可以帮助管理者管理好职工 信息。此程序要达到保存职工的信息,在程序里方便保存和 找出职工信息。各模块功能1.初始化函数模块程序的初始化函数,用于从数据库“职工信息”中读出现存 的资料到内存中。职工信息以结构体形
3、式保存和读 取。2添加新信息模块添加新职工的个人信息,系统自动提示添加所需信息,并将 输入的新信息保存到结构数组中,但没有保存到数据库“职 工信息”。3.显示指定个人信息模块显示指定职工的信息,主要帮助搜索模块和删除模块的功 能。4.搜索信息模块在数据库里搜索所需了解的一个职工的所有信息。5保存新信息模块把新添加职工的信息保存到程序外面即数据库“职工信 息” 里。如果不执行这模块里的程序新添加的职工信息 将白费。使用说明书点击开始菜单,进入菜单选择。输入:将所需的 信息输入。输出:员工的基本信息。输入:根据不同的需要选择,当信息输入显示出错误 时,进入浏览信息,找出错误。当错误不能改正,则退出
4、浏 览信息。进入查询信息:则屏幕会出现两个对话框一一按员 工,工号查找,查处相应的所需信息,当查询不能显示需要 时进入修改程序,把所输入的信息进行修改,使之正确能够 正常运行或进入删除信息中,重新 输入自己所要的信息。当信息输入正确,进入你所需要的菜单程序中:员工 信息:显示员工工作号、性别、学历、等。#in elude #i nClUde VWin dows.h#/n elude #defi ne N 100 int n, flag; Char a; StrUCt employee int num;Char n ame20;Char sex; int age; int wage; Char
5、XUeIi30; Char addr30;Char tel20;em100;VOid menu(); VOid in put(); VOid save(i nt); VOid display(); VOid del(); VOid add(); VOid SearCh(); VOid SearCh _num(); VOid SearCh_XUeIi(); VOid SearCh_tel(); VOid modify(); VOid mai n() men u(): do Pnntf(HiW选择你需要操作的步骤(l-7)n,);SCan f(,%d,);if(n =1 &n =7)flag=1;
6、 break;else叮叮小文库 flag=。;Printr您输入有误,请重新选择!);JwhiIe(Aag=O);while(flag=1)SWitCh( n)CaSe 1:Printf(,入职工信息 n);Printf(,n,)iinput()jbreak;CaSe 2:Printf(,浏览职工信息 n);Printfn)jdisplay()reak;CaSe 3:Pri ntf(”按职工号查询职工信息 nu);Pn ntf(rnu);SearCh()jbreak;CaSe 4:Printfr删除职工信息 n);Printfn)jdel()jbreak;CaSe 5:Printf(,添加职
7、工信息 n);Printf(Hn);add();break;CaSe 6:Printfc侈改职工信息 nu);Pnntf(HnH);modify();break;CaSe 7:exit(0);break;default:break; getchar();Prin tf(,n);Printf(堤否继续进行(y Or n)n);seen f(%c, &a);if(a=,y,)fag=1;SyStem(MClS,);menu();Printf(HiW再次选择你需要操作的步骤(1-7)n,;SCan f(%d,1 &n);Prin tf(,n p);elseexit(0);VOid menu()Pri
8、ntfCI 欢迎进入职工信息管理系统 n);Printf(H S输入职工信息r);PrintfCI 2浏览职工信息n,);Printf(H 3查询职工信息n,);Printf(, 4删除职工信息n);Printf(H 5添加职工信息n,);Printf(M 6.修改职工信息F);Printf(M 7退出 n);Printf(M 谢谢使用 n);Prin tf(,n);Pnn tf(,n);VOid in put()int i,m;Pnntf(Hm输入需要创建信息的职工人数 (I-IO0):nM);SCan f(,%d,&m);for(i=0;im;i+)Printf(”请输入职工号:”);SC
9、an f(%d, &emi. nu m); Printf(请输入姓名:”);SCa nf(,%s,emi. name); getchar();Printf(HiW输入性别(J女 男):”); SCan f(l,%c,l &emi.sex);Pnntf(HiW输入年龄门;SCan f(,%du, &emi.age); Printf(H请输入学历:,);SCan f(,%s,emi.xueli); Printf(,i输入工资:,); SCan f(,%d, &emi.wage); Pnntf(HiW输入住址门;SCan f(l,%s,1emi.addr); Printfc请输入电话:w); SCa
10、n f(,%s,emi.tel);Pnn tf(,n);Printf(,n 创建完毕!n); save(m);VOid save(i nt m)int i;FILE*fp;if (fp=fope n( employeeJisf,l,wb,)=NULL)Printf (HCa nnot OPe n filen,); exit(O);for (i=O;im;i+)if (fwrite(&emi,sizeof(struct employee),1,fp)!=1) Pnn tf(,file Write error,n n); fclose(fp);int IOadoFILE*fp;int i=0;if
11、(fp=fope n(,lempIOyeejiStM,rb,)=NULL)Printf (HCa nnot OPe n filen,); exit(O);elsedofread( &emi,sizeof(struct employee),1,fp); i+; while(feof(fp)=0);fclose(fp);return(i-l);VOid displayoint i;int m=load();Printf(P职工号t 姓名tt 性别tt 年龄r); for(i=0;im;i+)Pnn tf(,n %dtt%st%ctt%dt n,emi. nu mlemi. name9emi.sex
12、,emi.age);Printf(,n 学历 tt 工资 tt 住址 tt 电话 n); for(i=0;im;i+)Pnn tf(,n %st%dtt%st%snemi.xueli,emi.wage,emi.addr,emi.tel);VOid del()int m=load(); in t ij,n 1t,flag; Char n ame20; Printf(,n 原来的职工信息An”); display();Prin tf(MnM); Printf(MiS输入要删除的职工的姓名:rf);SCa nf(,%s,l name);for(flag=1,i=0;flag & m;i+)if(st
13、rcmp(emi. name, name)=0)Printf(Hn已找到此人,原始记录为:n); PrintfC职工号t姓名tt 性别tt年龄n”);Pnn tf(,n %dtt%st%ctt%dt n,emi. nu m,emi. name,emi.sex,emi.age);Printf(,n 学历 tt 工资 tt 住址 tt 电话 nM);Pnn tf(,n %st%dtt%st%sn,emi.xueli,emi.wage,emi.addr,emi.tel);PrintfCln确实要删除此人信息请按 h不删除请按OF);SCan f(,%d, &n);if(n=1)for(j=i;jm-
14、1;j+) StrCPy(emj. name1emj+1. name); emj. num=emj1. num; em).sex=emj+1.sex; em.age=emj+1.age; StrCPy(emj.xueli,emj+1.xueli); emj.wage=emj1.wage;StrCPy(emj.addr,emj+1.addr);StrCPy(emj.teltemj1.tel); flag=O; if(!fag)m=m-1;elsePrintf(I,n对不起,查无此人!n“);Pnn tf(,n浏览删除后的所有职工信息:F);save(m);displayo JPnntfe,n继续删除请按1.不再删除请按0nl);SCa nf(,%