#include "consts.h"
typedef struct node
{
char num[110];
char name[10];
char xueli[10];
char hunyin[10];
char zhicheng[10];
struct node *next;
}LinkList;
void CreatLinkList(LinkList *head,int *n) /* 建立链表 */
{
char num[110];
char XM[10],XL[10],HY[10],ZC[10];
int i=1;
LinkList *p=head;
LinkList *s;
printf("请输入员工的员工号,输入0结束输入:\n");
scanf("%s",&num);
while(1)
{
if(strcmp(num,"0")==0)
break;
s=(LinkList *)malloc(sizeof(LinkList));
strcpy(s->num,num);
printf("请输入员工的姓名:\n");
scanf("%s",&XM);
strcpy(s->name,XM);
printf("请输入员工的学历(小学/初中/高中/大学/本科/专科/研究生):\n");
scanf("%s",&XL);
strcpy(s->xueli,XL);
printf("请输入员工是否结婚(是/否):\n");
scanf("%s",&HY);
strcpy(s->hunyin,HY);
printf("请输入员工的职称(实习生/正式员工/经理/总经理):\n");
scanf("%s",&ZC);
strcpy(s->zhicheng,ZC);
p->next=s;
p=s;
s->next=NULL;
*n=*n+1;
printf("请输入员工的员工号,输入0结束输入:\n");
scanf("%s",&num);
}
}
void InsertStu(LinkList *head,char num[],int *n) /* 插入员工 */
{
LinkList *p;
LinkList *s;
char XM[10],XL[10],HY[10],ZC[10];
int flag=0;
printf("请输入员工的姓名:\n");
scanf("%s",&XM);
printf("请输入员工的学历(小学/初中/高中/大学/本科/专科/研究生):\n");
scanf("%s",&XL);
printf("请输入员工是否结婚(是/否):\n");
scanf("%s",&HY);
printf("请输入员工的职称(实习生/正式员工/经理/总经理):\n");
scanf("%s",&ZC);
p=head;
while(p->next!=NULL)
{
if(strcmp(p->next->num,num)==0)
{
flag=1;
break;
}
p=p->next;
}
if(flag==1)
{
strcpy(p->next->name,XM);
strcpy(p->next->xueli,XL);
strcpy(p->next->hunyin,HY);
strcpy(p->next->zhicheng,ZC);
}
else
{
s=(LinkList*)malloc(sizeof(LinkList));
strcpy(s->num,num);
strcpy(s->name,XM);
strcpy(s->xueli,XL);
strcpy(s->hunyin,HY);
strcpy(s->zhicheng,ZC);
p->next=s;
p=s;
s->next=NULL;
*n=*n+1;
printf("插入成功!\n");
}
}
int DeleStu(LinkList *head , char num[],int *n) /* 删除员工 */
{
LinkList *p=head;
LinkList *s;
if(p->next==NULL)
{
printf("员工表中没有任何的员工记录\n");
return ERROR;
}
else
{
while(p!=NULL)
{
s=p->next;
if(s!=NULL)
{
if(strcmp(s->num,num)==0)
{
p->next=s->next;
*n=*n-1;
printf("删除成功!\n");
break;
}
}
p=p->next;
}
return ERROR;
}
}
int chaxun(LinkList *head , char num[]) /* 查询员工个人信息 */
{
LinkList *h=head;
char a[101];
int flag=0;
printf("请输入要查询员工的员工号:\n");
scanf("%s",&a);
while(h !=NULL)
{
if(strcmp(h->num,a)==0)
{
flag=1;
printf("*****************************************\n");
printf("员工号 姓名 学历 婚姻 职称\n");
printf("%s\t%s\t%s\t%s\t%s\n",h->num,h->name,h->xueli,h->hunyin,h->zhicheng);
printf("*****************************************\n");
}
h = h->next;
}
if(flag==0)
printf("没有该员工信息!\n");
}
int xiugai(LinkList *head , char num[]) /* 修改员工个人信息 */
{
LinkList *h=head;
char a[101];
int flag=0;
printf("请输入要修改员工的员工号:\n");
scanf("%s",&a);
while(h !=NULL)
{
if(strcmp(h->num,a)==0)
{
char XM[10],XL[10],HY[10],ZC[10];
flag=1;
printf("请输入新的员工的姓名:\n");
scanf("%s",&XM);
printf("请输入新的员工的学历(小学/初中/高中/大学/本科/专科/研究生):\n");
scanf("%s",&XL);
printf("请输入新的员工是否结婚(是/否):\n");
scanf("%s",&HY);
printf("请输入新的员工的职称(实习生/正式员工/经理/总经理):\n");
scanf("%s",&ZC);
strcpy(h->name,XM);
strcpy(h->xueli,XL);
strcpy(h->hunyin,HY);
strcpy(h->zhicheng,ZC);
printf("修改成功!\n");
}
h = h->next;
}
if(flag==0)
printf("没有该员工信息!\n");
}
int tongji(LinkList *head , char num[]) /* 统计员工个人信息 */
{
LinkList *h=head;
char XM[10],XL[10],HY[10],ZC[10];
int b=0;
int flag=0;
printf("可以统计的项目(1.婚姻状况/2.学历/3.工作岗位):\n");
printf("请输入1-3:\n");
scanf("%d",&b);
if(b==1)
{
printf("请输入要查询的是否结婚(是/否):\n");
scanf("%s",&HY);
printf("*****************************************\n");
printf("员工号 姓名 学历 婚姻 职称\n");
while(h !=NULL)
{
if(strcmp(h->hunyin,HY)==0)
{
flag=1;
printf("%s\t%s\t%s\t%s\t%s\n",h->num,h->name,h->xueli,h->hunyin,h->zhicheng);
}
h = h->next;
}
printf("*****************************************\n");
if(flag==0)
printf("没有该项员工信息!\n");
}
else if(b==2)
{
printf("请输入要查询的是什么学历的员工(小学/初中/高中/大学/本科/专科/研究生):\n");
scanf("%s",&XL);
printf("*****************************************\n");
printf("员工号 姓名 学历 婚姻 职称\n");
while(h !=NULL)
{
if(strcmp(h->xueli,XL)==0)
{
flag=1;
printf("%s\t%s\t%s\t%s\t%s\n",h->num,h->name,h->xueli,h->hunyin,h->zhicheng);
}
h = h->next;
}
printf("*****************************************\n");
if(flag==0)
printf("没有该项员工信息!\n");
}
else if(b==3)
{
printf("请输入要查询的是职位的员工(实习生/正式员工/经理/总经理):\n");
scanf("%s",&ZC);
printf("*****************************************\n");
printf("员工号 姓名 学历 婚姻 职称\n");
while(h !=NULL)
{
if(strcmp(h->zhicheng,ZC)==0)
{
flag=1;
printf("%s\t%s\t%s\t%s\t%s\n",h->num,h->name,h->xueli,h->hunyin,h->zhicheng);
}
h = h->next;
}
printf("*****************************************\n");
if(flag==0)
printf("没有该项员工信息!\n");
}
}
void DisplayStu(LinkList * head) /* 浏览员工链表 */
{
LinkList *h=head->next;
printf("*****************************************\n");
printf("员工号 姓名 学历 婚姻 职称\n");
while(h!=NULL)
{
printf("%s\t%s\t%s\t%s\t%s\n",h->num,h->name,h->xueli,h->hunyin,h->zhicheng);
h=h->next;
}
printf("*****************************************\n");
}
//main程序
int main(int argc,char* argv[])
{
LinkList *head;
char num[110];
int flag=0;
int n=0;
int i=0;
int m=0;
head=(LinkList *)malloc(sizeof(LinkList));
head->next=NULL;
while(m==0){
printf("\t\t\t*****员工信息表*****\n");
printf("\t\t\t****1,创建员工表****\n");
printf("\t\t\t***2,添加员工信息***\n");
printf("\t\t\t***3,转出员工信息***\n");
printf("\t\t\t***4,查询员工信息***\n");
printf("\t\t\t***5,修改员工信息***\n");
printf("\t\t\t***6,统计员工信息***\n");
printf("\t\t\t*7,显示全部在职员工*\n");
printf("请输入要执行操作的数字1-7:\n");
scanf("%d",&i);
switch(i){
case 1:{
CreatLinkList(head,&n);
printf("员工总数为 %d\n",n);
if(head->next!=NULL)
printf("\n");
};break;
case 2:{
printf("请输入要插入的员工的员工号,以0结束\n");
scanf("%s",&num);
while(1)
{
if(strcmp(num,"0")==0) break;
InsertStu(head,num,&n);
printf("员工总数为 %d,以0结束\n",n);
scanf("%s",&num);
}
};break;
case 3:{
printf("请输入要删除的员工的员工号,以0结束\n");
scanf("%s",&num);
while(1)
{
if(strcmp(num,"0")==0) break;
flag=DeleStu(head,num,&n);
printf("员工总数为 %d,以0结束\n",n);
scanf("%s",&num);
}
};break;
case 4:{
chaxun(head,num);}; break;
case 5:{
xiugai(head,num);}; break;
case 6:{
tongji(head,num);}; break;
case 7:{
printf("员工总数为 %d\n",n);
DisplayStu(head);
};break;
default:{
printf(
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
解压直接运行就可.c文件就可。 题目一:人事管理系统 1、系统功能的基本要求: (1)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。 (2)员工各种信息的修改; (3)对于转出、辞职、辞退、退休员工信息的删除; (4)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息; (5) 对查询、统计的结果打印输出。
资源推荐
资源详情
资源评论
收起资源包目录
人事管理系统.zip (14个子文件)
人事管理系统
dzq
dzq.plg 1KB
Debug
dzq.ilk 192KB
vc60.pdb 52KB
vc60.idb 33KB
dzq.obj 23KB
dzq.exe 184KB
dzq.pch 154KB
dzq.pdb 449KB
dzq.c 8KB
dzq.ncb 49KB
dzq.dsw 514B
dzq.dsp 3KB
dzq.opt 48KB
consts.h 418B
共 14 条
- 1
资源评论
- enchanted7412021-06-29。。。。。
西门有子名门庆
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功