1、职工信息管理系统设计职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不重复),试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)-输入职工信息浏览功能 -输出查询和排序功能:(至少一种查询方式) -算法按工资查询按学历查询等职工信息删除,修改功能(任选项)下面是功能框架图:三、详细设计以及调试分析A.详细设计1,创建了一个结构体employee,它包含num(工号),name(姓名),sex(性别),age(年龄),xueli(学历),wage(工资),addr(住址),tel(电话)8个基类,即为员工的基本信息。2,创
2、建了主函数main(),用它调用子函数menu(),add(),del(),display(),Input(),load(),modify(),save(),search(),search num(),search xueli()。通过主函数对子函数的调用实现程序的各项功能。 B.调试分析 void main() menu(); int n,flag; char a; -Configuration: 1 - Win32 Debug-Compiling.1.cg:1.c(55) : error C2143: syntax error : missing ; before type1.c(56)
3、:1.c(61) : error C2065: n : undeclared identifier1.c(64) :flag1.c(90) :aError executing cl.exe.1.obj - 5 error(s), 0 warning(s)开始由于在主函数的调用过程中把子函数的调用放在了变量的定义之前,导致程序无法运行,后来改正错误,程序可以正常运行。另外在程序中还出现各种小错误,这里不一一列举。通过调试我发现调试是一个漫长而枯燥的过程 ,很锻炼人的耐心。 四、程序使用指南1打开程序出现菜单选项2,选择录入职工信息,按提示录入3.通过选项依次实现对职工信息的浏览,查询,删除,增加
4、和修改。五.源代码#include windows.htime.hstring.h#define N 100struct employee int num;/工号 char name10;/姓名 char sex; /性别 int age;/年龄 char xueli30;/学历 int wage;/工资 char addr30;/住址 long int tel;/电话em100;void menu();void input();void save(int);void display();void del();void add();void search();void search_num()
5、;void search_xueli();void search_tel();void modify();void menu() printf( *欢迎使用查询系统*n); printf(n *职工信息管理*n 1.录入职工信息 2.浏览职工信息n 3.查询职工信息 4.删除职工信息n 5.增加职工信息 6.修改职工信息n 7.退出n *谢谢使用*nvoid main() menu();do 请选择你需要操作的步骤(1-7): scanf(%d,&n); if(n=1&n=7) flag=1; break; else flag=0;您输入有误,请重新选择! while(flag=0); whi
6、le(flag=1) switch(n) case 1:输入职工信息ninput();break; case 2:浏览职工信息ndisplay(); case 3:按职工号或学历查询职工信息nsearch(); case 4:删除职工信息ndel(); case 5:添加职工信息nadd(); case 6:修改职工信息nmodify(); case 7:exit(0); default : getchar();是否继续进行(y or n):%ca); if(a=y) system(cls请再次选择你需要操作的步骤(1-7): else exit(0);void input() int i,m
7、;请输入需要创建信息的职工人数(1-100):m); for (i=0;im;i+)职工号: srand(int)time(0); emi.num=rand()%10000+20000000; if(emi.num!=emi-1.num)%8d ,emi.num);请输入姓名:%s,emi.name);请输入性别(f-女 m-男):emi.sex);请输入年龄:emi.age);请输入学历:,emi.xueli);请输入工资:emi.wage);请输入住址:,emi.addr);请输入电话:emi.tel);n创建完毕! save(m);void save(int m) int i;FILE*
8、fp;if (fp=fopen(employee_list,wb)=NULL) printf (cannot open filenfor (i=0;i+) if (fwrite(&emi,sizeof(struct employee),1,fp)!=1)file write errorn fclose(fp);int load() FILE*fp;int i=0; if(fp=fopen(rb)=NULL)else do fread(&emi,sizeof(struct employee),1,fp); i+; while(feof(fp)=0);fclose(fp);return(i-1);
9、void display() int m=load();n 职工号t姓名t性别t年龄t学历t工资t住址t电话 nfor(i=0;n %dt%st%ct%dt%st%dt%st%ldn,emi.num,emi.name,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);void del() int m=load();int i,j,n,t,flag;char name20;n 原来的职工信息: display();请输入要删除的职工的姓名:scanf(,name);for(flag=1,i=0;flag& if(strcmp(emi.name,name)=0)n已找到此人,原始记录为:n职工号t姓名t性别t年龄t学历t工资t住址t电话 nn%dt%st%ct%dt%st%dt%st%ldnn确实要删除此人信息请按1,不删除请按0n if(n=1) for(j=i;jt8|c1) n选择错误,请重新选择! if(flag=1) switch(c) 职工号改为: emi-1.num=num;姓名改为: strcpy(emi-1.name,name);性别改为:sex); emi-1.sex=sex;年龄改为:age); emi-1.age=age;学历改为:,xuel
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1