简单的员工管理系统_第1页
简单的员工管理系统_第2页
简单的员工管理系统_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.简单的员工管理系统1、问题描述:对单位的职工进展管理,包括插入、删除、查找、排序等功能。2、要求 :职工对象包括XX字符串、性别字符、出生年月数字、工作年月数字、学历字符串、职务字符串、住址字符串、字符串等信息。1新增一名职工:将新增职工对象按XX以字典方式职工管理文件中。 2删除一名职工:从职工管理文件中删除一名职工对象。 3查询:从职工管理文件中查询符合某些条件的职工。 4修改:检索某个职工对象,对其某些属性进展修改。 5排序:按某种需要对职工对象文件进展排序。 3、实现功能1由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 2对职工对象中的“按字典顺序进展排序。 3对排

2、序后的职工对象进展增、删、查询、修改、排序等操作。4、代码:*include <stdlib.h> *include <stdio.h>*include <malloc.h>*include <string.h> typedef struct worker int id; char name20; char sex3; int age; char edu50; int wages; char adr255; char phone13;WORKER, *PWORKER; /typedef struct WORKER *PWORKER;typedef

3、 struct link WORKER w; struct link *next; LINK, *PLINK; /typedef struct LINK *PLINK; /*创立职工信息链表*/PLINK create() PLINK p=(PLINK)malloc(sizeof(LINK); if(NULL!=p) p->next=NULL; return p; printf("内存缺乏!n"); return NULL; /*显示程序界面文字*/ void message() printf("tt*nn"); printf("tt&g

4、t;>>>>>>>>>>>>>欢送进入职工管理系统<<<<<<<<<<<<<<nn"); printf("tt*nn"); printf("tt * Choose Function *nn"); printf("tt * 帮助 请输入:0*nn"); printf("tt *录入职工信息 请输入:1*nn"); printf("tt *

5、浏览职工信息 请输入:2*nn"); printf("tt *查询职工信息 请输入:3*nn"); printf("tt *删除职工信息 请输入:4*nn"); printf("tt *修改职工信息 请输入:5*nn"); printf("tt * 清屏 请输入:6*nn"); printf("tt * 退出 请输入:-1*nn"); printf("tt*nn"); printf("tt*nn"); void find_sr(PLINK pli

6、nk, char* str) for(PLINK curr = plink->next; curr != NULL; curr = curr->next) if(strcmp(curr->, str) = 0) printf("职工工号:%dn",curr->w.id); printf("职工XX:%sn",curr->); printf("职工性别:%sn",curr->w.sex); printf("职工年龄:%dn",curr->w.age);

7、printf("职工学历:%sn",curr->); printf("职工工资:%dn",curr->w.wages); printf("职工住址:%sn",curr->w.adr); printf("职工:%sn",curr->w.phone); void findid(PLINK plink, int id) for(PLINK curr = plink->next; curr != NULL; curr = curr->next) if(curr->w.id

8、 = id) printf("职工工号:%dn",curr->w.id); printf("职工XX:%sn",curr->); printf("职工性别:%sn",curr->w.sex); printf("职工年龄:%dn",curr->w.age); printf("职工学历:%sn",curr->); printf("职工工资:%dn",curr->w.wages); printf("职工住址:%sn

9、",curr->w.adr); printf("职工:%sn",curr->w.phone); void show(PLINK plink) for(PLINK curr = plink->next; curr != NULL; curr = curr->next) printf("职工工号:%dn",curr->w.id); printf("职工XX:%sn",curr->); printf("职工性别:%sn",curr->w.sex); prin

10、tf("职工年龄:%dn",curr->w.age); printf("职工学历:%sn",curr->); printf("职工工资:%dn",curr->w.wages); printf("职工住址:%sn",curr->w.adr); printf("职工:%sn",curr->w.phone); /*录入职工信息*/int add(PLINK p) PLINK h = NULL; PLINK q=(PLINK)malloc(sizeof(LINK)

11、; if(NULL=q) printf("录入失败提示:内存缺乏!n"); return -1; printf("请输入职工号(数字):"); scanf("%d",&q->w.id); h=p->next; while(h) if(h->w.id=q->w.id) free(q); printf("录入失败提示:此职工号已经存在!n"); return -1; h=h->next; printf("请输入职工XX(文字):"); scanf("%

12、s",&q->); printf("请输入职工性别(文字):"); scanf("%s",&q->w.sex); printf("请输入职工年龄(数字):"); scanf("%d",&q->w.age); printf("请输入职工学历(文字):"); scanf("%s",&q->); printf("请输入职工工资(数字):"); scanf("%d&q

13、uot;,&q->w.wages); printf("请输入职工住址(文字):"); scanf("%s",&q->w.adr); printf("请输入职工(数字):"); scanf("%s",&q->w.phone); q->next=p->next; p->next=q; printf("._.录入成功!._.n"); return -1; /*按XX查询*/ PLINK findname(PLINK p,char *name)

14、 message(); printf("按XX 查询n"); printf("职工号tXXt性别t年龄t学历t工资t住址tn"); while(NULL!=p->next) if(0=strcmp(p->next->,name) printf("%dt%st%st%dt%st%dt%st%sn", p->next->w.id,p->next->,p->next->w.sex,p->next->w.adr, p->next->

15、,p->next->w.wages,p->next->w.adr,p->next->w.phone); return p; p=p->next; printf("._.查询完毕!._.n"); return NULL; /*按职工号删除职工信息*/ int del(PLINK p,int id) message(); printf("按职工号删除职工信息n"); while(NULL!=p->next) if(p->next->w.id=id) PLINK q=p->next; p->

16、;next=p->next->next; free(q); printf("._.删除成功!._.n"); return 1; p=p->next; printf("没有你输入的职工号!n"); return -1; /*程序完毕释放内存*/ void release(PLINK p) PLINK q; while(NULL!=p->next) q=p; p=p->next; free(q); free(p); /*查询调用*/ void search() int id; char name20; char str20; P

17、LINK pworker; int l; printf("tttt*XX查找按:1*n"); printf("tttt*学历查找按:2*n"); printf("tttt*职工号查按:3*n"); scanf("%d",&l); if(l>0&&l<4) switch(l) case 1:printf("请输入要查询的职工XX:"); scanf("%s",name); findname(pworker,name); break; case

18、 2:printf("请输入要查询的职工学历: "); scanf("%s", str); find_sr(pworker, str); break; case 3:printf("请输入要查询的职工号:"); scanf("%d",&id); findid(pworker,id); break; printf("nn选择完毕!"); else printf("tttt输入有误!"); /*修改职工信息*/int modify(PLINK p) int id; PLI

19、NK q; PLINK h = NULL; printf("请输入职工号(数字):"); scanf("%d",&id); h=p->next; while(h) if(h->w.id=id) break; h=h->next; if (h = NULL) printf("找不到此职工,请重试n"); return -1; printf("请输入职工XX(文字):"); scanf("%s",&h->); printf("请输入职工性

20、别(文字):"); scanf("%s",&h->w.sex); printf("请输入职工年龄(数字):"); scanf("%d",&h->w.age); printf("请输入职工学历(文字):"); scanf("%s",&h->); printf("请输入职工工资(数字):"); scanf("%d",&h->w.wages); printf("请输入职工住址(

21、文字):"); scanf("%s",&h->w.adr); printf("请输入职工(数字):"); scanf("%s",&h->w.phone); q->next=p->next; p->next=q; printf("._.修改成功!._.n"); return -1; int main() int cmd=0; int id; char name20; char str20; PLINK pworker; if(!(pworker=create()

22、 exit(0); while(cmd!=-1) switch(cmd) case 0: message(); break; case 1: add(pworker); break; case 2: show(pworker); break; case 3: search(); break; case 4: printf("请输入要删除的职工号:"); scanf("%d",&id); del(pworker,id); break; case 5: modify(pworker); break; case 6: message(); break; printf("请输入操作命令数字:n"); scanf("%d",&cmd); printf("tt>>>>>>>>>>>>>>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论