#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(

西门有子名门庆
- 粉丝: 1
- 资源: 1
最新资源
- Cocos2d-x 2.2.1 版本资源
- 关于DeepSeek的几点思考.pdf
- 基于ISODATA算法优化的负荷场景曲线聚类方法(包含K-means、L-ISODATA及K-L-ISODATA算法,聚类效果评价与风光场景应用),基于ISODATA改进算法的负荷场景曲线聚类:多方法
- qpress的二进制命令
- 基于Matlab Simulink的风光储并网双闭环控制策略及单极调制协同运行模型研究,基于Matlab Simulink的风光储并网双闭环控制策略及其单极调制协同运行模型研究,风光储并网协同运行模型
- deepseek详细对话
- 遗传算法与动态窗口法DWA融合优化:全局路径规划与动态环境适应的算法创新,遗传算法优化与动态窗口法融合:全局最优路径规划与动态环境适应策略,遗传算法(GA)优化与动态窗口法dwa融合,效果极佳,算法新
- COMSOL仿真揭示变压器磁致伸缩现象:电路磁场分布、振动噪声及受力和噪声分布研究,COMSOL仿真揭示变压器磁致伸缩机理:电路磁场分布、振动数据与噪声分布综合分析,COMSOL仿真,变压器磁致伸缩
- 数据科学相关人员的岗位及薪资数据.zip
- 零基础入门转录组下游分析-机器学习算法之xgboost(筛选特征基因)教程配套资源
- 基于相量模型的UPFC在500kV与230kV输电系统中的功率流控仿真研究,基于相量模型的UPFC在500kV与230kV输电系统中的功率流控仿真研究,UPFC(相量模型)控制500 kV 230
- 中秋节静态网站网页设计(HTML+CSS+JS)期末大作业.zip
- C#开发TCP通信demo
- 基于Electron+HTML+CSS+Node.js开发的的中国象棋游戏,支持人机对大模型AI对战 (源码)
- 基于粒子群算法的地表水源热泵系统建模与最佳制冷制热量求解研究,水源热泵系统建模与粒子群优化:求解热泵机组最佳制冷制热量算法研究,matlab代码 从水源热泵机组角度对地表水源热泵系统建模,并采用粒子群
- COCOS2DX 2.2.2 引擎下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


