员工信息管理系统详细设计
一、代码详细设计
1、员工录入addmember.c
#includecommon.h
/*********************************************************
函数名:addMember
函数名:aMember
形参:要处理的数组,数组中已有的人数
返回值:添加完后的人数
函数功能:添加若干个员工,然后保存结果到文件
作者:xyh
编写日期:2007-6-26
**********************************************************/
intaddMember(MEMBERteam[],intcount){
charflag;//是否添加新员工
while(1){
printf(要添加一个新员工吗?y/n\n);
//flag=getche();
flag=getchar();
if(flag==n||flag==N)//不再加入新员工
break;
elseif(flag==y||flag==Y){
newMember(team,count);//生成一个员工
count++;
}//endofif
else
printf(输入不正确!请重新选择!\n);
}//endofwhile
writeToFile(team,count);//将更新后的数组写入文件
list(team,count);//输出链表
printf(新增员工结束!\n\n);
returncount;
}
2、员工删除eleteByMember.c
#includecommon.h
/*********************************************************
函数名:deleteByNumber
函数名:deleteByNumber
形参:要处理的数组
返回值:删除后的数组中的人数
函数功能:遍历数组删除指定的记录
作者:xyh
编写日期:2007-6-26
**********************************************************/
intdeleteByNumber(MEMBERteam[],intcount){
charnumber[20];
//intcount=0;
intflag=0;//标志是否找到
inti,delSub;
printf(请输入要删除员工的编号:\n);
scanf(%s,number);
//gets(number);
for(i=0;icount;i++){//遍历,删除符合条件的记录
if(!strcmp(team[i].number,number)){//符合条件
flag=1;
delSub=i;
break;
}
}
if(!flag)//没有找到要删除的结点
printf(\n对不起,没有符合条件的记录!\n\n);
else{//找到要删除的结点
for(i=delSub;icount-1;i++)//遍历,找到删除点
team[i]=team[i+1];
count--;//删除一个队员,总数减一;若上步骤中要删除的下标为count-1,通过count
--操作也能在逻辑上删掉它
writeToFile(team,count);//将更新后的数组写入文件
printf(删除成功!以下是删除后的结果:\n);
list(team,count);//输出新数组
}
returncount;
}
3、员工信息显示list
/************