ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:44.55KB ,
资源ID:24127547      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24127547.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计职工信息管理系统结构体数组实现程序源代码.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计职工信息管理系统结构体数组实现程序源代码.docx

1、C语言课程设计职工信息管理系统结构体数组实现程序源代码/C语言课程设计职工信息管理系统一结构体数组实现#i nclude #i nclude #include struct employeechar num10; char n ame15; char sex5; char bm20; char zc20; in t gz;int read_ employee em);void menu();void write_ employee em);void add();void select(); /void zc_query();void nu m_del();void ton gji(); /vo

2、id sort(); /void num_ modify();void save();void disp(); /void fh();查看职工所有信息按职称查询按工号删除统计排序按工号修改职工信息 保存信息显示职工信息/ 返回主菜单这个数组用来保存所有的职工信息和文件里面/struct employee em300; /的一致int Number=0; / 记录总的职工人数 也就是数组/文件里面的职工人数void menu()prin tf(t* * *n);prin tf(t*n);prin tf(t*n);prin tf(t*n);prin tf(t* 1看职工信息 *n);职工信息管理系

3、统 结构体数组实现增加职工信息2prin tf(t*3查找职工信息4删除职工信息*n);prin tf(t*5统计6职工工资排列*n);prin tf(t*7修改职工信息8保存职工信息*n);prin tf(t*9显示职工信息0退出系统*n);prin tf(t*n);prin tf(t* * *n);void mai n()int choose=0; FILE *fp=NULL; char yesor no;if(fp=fope n( employee1.txt,rb+)=NULL)prin tf(n= 提示:文件不存在,是否要创建一个 ?(y/n)n);scan f(%c, &yesorn

4、o);if(yesor no=y|yesor no=Y)/这里仅为了建立文件fp=fope n( employee1.txt,wb+);fclose(fp); / 关闭fp所指的文件,释放文件缓冲区elseexit(0);elseNumber=read_); /要是文件已经有数据 将数据初始化到数组中system(cls);while(1)menu();printf(tt= 请选择:);scan f(%d,&choose);system(cls);switch(choose)case 0:exit(O); / 退出 break;case 1:add();fh(); 增加职工信息break;ca

5、se 2:select();fh(); 查看职工信息break;case 3:zc_query();fh(); 查找break;case 4:nu m_del();fh(); 删除break;case 5:ton gji();fh();/ 统计 break;case 6:sort();fh();/ 排序 break;case 7:num_ modify();fh();/ 修改后返回break;case 8:save();fh();/ 保存break;case 9:disp();fh();break;/ 显示 default:break;fflush(stdi n);getchar();syst

6、em(cls);void save()printf(t= 程序在运行时已自动保存.n);void fh()printf(t= 按 Enter 键返回主菜单 n);cha ngel ndex=i; / 保存要修改的人的下标break;printf(t 工号t姓名t性别t部门t职称t工资n);prin tf(t%st%st%st%st%st%dnn,emcha ngel ndex. nu m,emcha ngeln dex. name,emcha ngeln dex.sex,emcha ngeln dex.bm,emcha ngeln dex. zc,emcha ngeln dex.gz);pri

7、n tf(请重新输入该职工信息);printf(工号:);sca nf(%s,emcha ngel ndex. nu m);printf(姓名:);sca nf(%s,emcha ngel ndex. name);printf(性别:);sca nf(%s,emcha ngel ndex.sex);printf( 部门:);sea nf(%d,emcha ngel ndex.bm); printf(职称:);sea nf(%s,emcha ngel ndex.zc); printf(工资:);sea nf(%d,&emcha ngeln dex.gz);/信息修改后重新更新文件里面的数据 以保

8、持数据一致性fp=fope n(employee1.txt,wb+);for (i=O;i 修改成功 n); void disp() / 输出所有职工信息int i=0;for (i=O;iNumber;i+)prin tf(t%st%st%st%st%st%dnn,emi. num,emi. name,emi. sex,emi.bm,emi.zc,emi.gz);void sort()/ 排序struct employee t;int wan tNUmber=0;int i=0;int j=0;int k=0;for(i=0;iNumber-1;i+)k=i;for(j=i+1;jemk.g

9、z) k=j;if(k!=i)t=emi; emi=emk; emk=t;printf( 你想输出前几名职工的信息:);scan f(%d,&wan tNUmber);if (wan tNUmberNumber)wan tNUmber=Number;printf(t 工号t姓名t性别t部门t职称t工资n); for(i=0;iwa ntNUmber;i+)prin tf(t%st%st%st%st%st%dnn,emi. nu m,emi. name,emi.sex, emi.bm,emi.zc,emi.gz);void ton gji() 统计int i,m,k,max,mi n;doubl

10、e sum=0.0;for(i=0;iNumber;i+)sum=sum+emi.gz;prin tf( 全体职工的总工资为:%fn,sum); prin tf(平均工资为:%fn,sum/Number);i=O;m=O;max=O;max=emm.gz;for(i=1;imax)m=i;max=emm.gz;prin tf(最高工资为:dn,max);prin tf(t%st%st%st%st%st%dnn,emm. nu m,emm. name,emm.sex,emm.bm,emm.zc,emm.gz);i=0;k=0;mi n=0;min=em0.g z;for(i=1;iNumber;

11、i+)if (emi.gz min)k=i;min=emk.g z;printf(最低工资:%dn,mi n);prin tf(t%st%st%st%st%st%dnn,emk .n um,emk .n ame,emk.sex,emk.bm,emk.zc,emk.gz);void num_del() 按工号删除 _FILE *fp=NULL; char gh60;int i=0;int j=0;);如果查找到就删除prin tf(请输入要删除的职工工号: sca nf(%d,gh);for(i=0;iNumber;i+)if (strcmp(gh,emi.num)=0) / for (j=i;

12、jNumber-1;j+)emj=em|j+1;Number-;/将剩余数据写入文件重新一写的方式打开文件把以前的数据擦除了fp=fope n(employee1.dat,wb);for (i=O;iNumber;i+)fwrite(&emi,sizeof(struct employee),1,fp);fclose(fp);printf(删除成功;n); void zc_query()/ 按职称查找 _char zc20;int i=0;printf(请输入要查找职工职称:);sca nf(%s,zc);system(cls);printf(t 工号t姓名t性别t部门t职称t工资n);for

13、(i=0;iNumber;i+)if (strcmp(zc,emi.zc)=0)prin tf(t%st%st%st%st%st%dnn,emi. num,emi. name,emi. sex,emi.bm,emi.zc,emi.gz); void select()/ 查看职工 int i=0;printf( 以下是全部职工信息n);printf(t 工号t姓名t性别t部门t职称t工资n);for(i=0;iNumber;i+)prin tf(t%st%st%st%st%st%dnn,emi. num,emi. name,emi. sex,emi.bm,emi.zc,emi.gz);void

14、add() 增加职工int nu mberTemp=0;int i=0;struct employee temp; / 临时保存信息 prin tf(请输入要增加职工信息的个数:);sca nf(%d,&nu mberTemp); for(i=0;i nu mberTemp;i+) printf( 输入第d个职工信息n,i+1);printf(工号:);sca nf(%s,temp .nu m);printf(姓名:); scan f(%s,temp. name);printf(性别:);scan f(%s,temp.sex); printf(部门:);scan f(%s,temp.bm);p

15、rin tf(职称:);sca nf(%s,temp.zc);printf(工资:);scan f(%d, &temp.gz);emNumbe叶+=temp; /将刚添加的写入到数组 write;/ 将刚添加的写入到文件printf(添加成功 n);void write_ employee *em) _FILE *fp=NULL;fp=fope n( employee1.txt,rb+);fwrite(em,sizeof(struct employee),1,fp); fclose(fp);int read_ employee em) _FILE *fp=NULL;int i=0;fp=fop

16、e n( employee1.txt,rb);while(fread(&emi,sizeof(struct employee),1,fp) i+;fclose(fp);return i;数据结构课程设计任务书设计题目员工管理系统限定人数4问题描述每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、 电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序 等功能。基本要求 与说明1、 职工信息保存在文本文件2、 排序:按不同关键字,对所有员工的信息进行排序,并输出排序 结果。3、 查询:按特定条件查找员工。4、 更新:按编号对某个员工的某项信息进行修改。5、 插入:加入新员工的信息。6、 删除:按编号删除已离职的员工的信息。计算机科学与信息工程学院制

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1