*问题描述:模块化设计,分别有录入信息,删除信息,浏览信息,查询信息,修改信息,采用链表存储数据,用文件保存职工信息等(推荐加群学习交流群590750544拿整整套源码,良心群)
*程序输入:无
*程序输出:见运行结果
*/
[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片
include""
include""
structWORK{
intNumber;//工号
charName[32];//姓名
charSex[2];//性别
intOld;//年龄
charEdu[20];//学历
floatSalary;//工资
charAddress[64];//住址
longTel;//电话
structWORK*next;
};
WORK*worker=NULL;
voidHelp();//帮助
voidsaveWorToFile();//保存职工信息到文件
voidaddworker(WORK*wor);//添加职工信息(链表操作)
voiddelWork(char*name);//删除职工信息(链表操作)
voiddelworker();//删除职工信息
voidadd();//录入职工信息
voidlookthrough();//浏览职工信息
voidquery();//查询职工信息
voidReviseworker();//修改职工信息
intmenu_select();//菜单界面
voidreadWorkerput();//从文件中读取职工信息
intmain()
{
readWorkerput();
charchoose;
for(;;)
{
choose=menu_select();
if(choose==1)
add();
elseif(choose==2)
lookthrough();
elseif(choose==3)
query();
elseif(choose==4)
delworker();
elseif(choose==5)
Reviseworker();
elseif(choose==6)
Help();
else
break;
}
return0;
}
intmenu_select()//菜单函数定义
{
charc;
printf("===============================================================\n");
printf("|----------------------职工信息管理系统|\n");
printf("||\n");
printf("|1.录入信息|\n");
printf("|2.浏览信息|\n");
printf("|3.查询信息|\n");
printf("|4.删除信息|\n");
printf("|5.修改信息|\n");
printf("|6.使用帮助|\n");
printf("|7.退出系统|\n");
printf("***************************************************************\n");
printf("请输入(1-7)进行操作:\n");
do{
scanf("%c",c);
}while(c'1'||c'7');
returnc-48;
}
/****************************************************************************************************************************/
voidadd()//1、录入职工信息函数定义
{
WORK*p;
p=worker;
inttmp=1;
intnumber;
charname[32];
charsex[2];
intold;
charedu[20];
floatsalary;
charaddress[64];
longtel;
printf("输入工号:");
scanf("%d",number);
while(p!=NULL)
{
if(p-Number==number)
{
printf("该工号已存在!\n");
tmp=2;
}
p=p-next;
}
if(tmp==2)
return;
printf("输入姓名:");//姓名
scanf("%s",name);
printf("输入性别:");//性别
scanf("%s",sex);
printf("输入年龄:");//年龄
scanf("%d",old);
printf("输入学历:");//学历
scanf("%s",edu);
printf("输入工资:");//工资
scanf("%f",salary);
printf("输入地址:");//地址
scanf("%s",address);
printf("输入电话:");//电话
scanf("%ld",tel);
WORK*n=(WORK*)malloc(sizeof(WORK));
n-Number=number;
strcpy(n-Name,name);
strcpy(n-Sex,sex);
n-Old=old;
strcpy(n-Edu,edu);
n-Salary=salary;
strcpy(n-Address,address);
n-Tel=tel;
addworker(n);
saveWorToFile();
printf("录入成功!\n");
}
voidaddworker(WORK*wor)
{
WORK*p;
if(worker==NULL)
{
worker=wor;
wor-next=NULL;
}
else
{
p=worker;
while(p)
{
if(p-next==NULL)
{
p-next=wor;
wor-next=NULL;
}
p=p-next;
}
}
}
/***************************************************************************************************************************/
voidlookthrough()//2、浏览信息
{
WORK*p;
p=worker;
if(p!=NULL)
{
printf("工号姓名性别年龄学历工资地址电话\n");
while(p!=NULL)
{
printf("%d%s%s%d%s%f%s%ld\n",p-Number,p-Name,p-Sex,p-Old,p-Edu,p-Salary,p-Address,p-Tel);
p=p-next;
}
}
else
printf("暂无职工信息!\n");
}
/***************************************************************************************************************************/
voidquery()//3、查询职工信息
{
intnum;
inttmp=1;
WORK*p;
p=worker;
intju;
intnianling;
charxueli[20];
intjudge;
printf("精确查找请按--1\n批量查找请按--2\n");
scanf("%d",judge);
switch(judge)
{
case1:
printf("请输入您要查询的工号:\n");
scanf("%d",num);
while(p!=NULL)
{
if(p-Number==num)
{
tmp=3;
break;
}
p=p-next;
}
if(tmp==3)
{
printf("工号姓名性别年龄学历工资地址电话\n");
printf("%d%s%s%d%s%f%s%ld\n",p-Number,p-Name,p-Sex,p-Old,p-Edu,p-Salary,p-Address,p-Tel);
}
else
printf("工号不存在!\n");
break;
case2:
printf("查询同一年龄职工信息请按------1\n查询同一学历职工信息请按------2\n");
scanf("%d",ju);
if(ju==1)
{
printf("请输入年龄:\n");
scanf("%d",nianling);
if(p!=NULL)
{printf("工号姓名性别年龄学历工资地址电话\n");
while(p!=NULL)
{
if(p-Old==nianling)
{
printf("%d%s%s%d%s%f%s%ld\n",p-Number,p-Name,p-Sex,p-Old,p-Edu,p-Salary,p-Address,p-Tel);
}
p=p-next;
}
}
else
printf("暂无职工信息!");
}
elseif(ju==2)
{
printf("请输入学历:");
scanf("%s",xueli);
if(p!=NULL)
{
while(p!=NULL)
{
if(!strcmp(p-Edu,xueli))
{
printf("%d%s%s%d%s%f%s%ld\n",p-Number,p-Name,p-Sex,p-Old,p-Edu,p-Salary,p-Address,p-Tel);
}
p=p-next;
}
}
else
printf("暂无职工信息!");
}
}
}
不好意思,代码太长,明天会更新的,今晚就写到这里,(推荐加群学习交流群590750544拿整整套源码,良心群)