员工信息管理系统含附源代码.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安郵電學院
高级语言课程设计报告题目:员工信息管理系统
系部名称:电子与信息工程
专业名称:电子科学与技术
班级:科技 0701
班内序号:03
学生姓名:刘力源
指导教师:黄茹
时间:2008年6月9日至2008年6月20日
实验题目: 员工信息管理系统
一、实验目的
1.熟悉c语言的编译连接和运行过程。
2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。
3.掌握if语句及switch语句的运用方法及嵌套应用方法。
4.掌握实现循环结构的三种语句while、 do-while.、for 的使用。
5.掌握函数的定义方法和调用方法。
6.能够采用模块化思想调试程序。
二.实验内容
1.编写程序并进行调试运行。
2.输入员工资料,并保存于文件。
每个员工包含信息:工作证号、姓名、性别、年龄、担任职务,工资等信
息。
3.对已存入的员工信息进行更新操作,包括添加一个员工信息、删除某个员工信息和修改某个员工信息。
4.通过输入姓名、工作证号,年龄的方式查询员工信息。
5.最后输出学生信息,供需要时打印。
二、需求分析
1.该程序可用于对员工的雇佣情况基本信息的存储、更新、查询、输出等操作,以实现对员工的管理。
2.其中更新功能包括:添加信息、删除信息、修改信息,可根据需要添加一个或多个员工信息,也可对个别
员工信息进行适当的删除或修改,以便随时更新员工信息。
3.程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可根据三种不同的方法查询:
按工作证号查询,按年龄查询和按姓名查询。
以满足不同的需要。
四、概要设计
1.模块功能说明
对各个模块进行功能的描述
(1).输入模块:
录入需要管理的学生信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(2).添加模块:
可添加一个或多个员工信息,并将所添加员工信息保存,方便查找。
(3).删除模块:
可对辞职或被解雇的员工信息做删除处理。
(4).修改模块:
可根据需要对多个员工信息进行修改,也可随时对个别项进行修改。
(5).查询模块:
可对已建立的员工信息进行查询,并且可根据需要选择按姓名查询,年龄查询或按工作证号查询。
(6).保存模块:
用于对信息进行保存。
(7).输出模块:
将所有员工信息或想要查询的员工信息显示于屏幕,用于打印员工信息或查找某些员工信息。
(8).退出系统:
选择该项,自动退出该系统。
2、方案设计
对系统进行分析,给出结构图
分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计
结构图如下:
五、详细设计及运行结果
流程图,函数之间相互调用的图示
,程序设计及编码, 运行结果。
统计函数:排序函数:
主函数:输入函数:
输出函数:
更新函数:查询函数:
删除函数: 年龄统计函数:
身份证排序:修改信息函数:
修改密码函数:
六.调试情况及运行结果
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,开始时,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,通过自己一次又一次的进行调试和修改,最后运行的结果基本上达到了预期的目的。
由于时间问题和考虑得不够周全,可能在某些功能上不是很完善,不过已有的功能已能基本满足一般企业的需求。
不过总的来说,对于自己首次能够自主完成一个这样大的程序来说,还是比较满意。
2、在设计过程中的感受。
本次C 语言的实习课让我对C 语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识匮乏的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。
本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。
七.参考文献
《C语言程序设计》王曙燕曹锰科学出版社 2005年2月
八。
附录:
#include"stdio.h"
#include"string.h"
#define max 100
#define PRINT1 printf("*****************************************************************************\n");
#define PRINT2 printf("工作证号--姓名--身份证号--性别--出生日期");
#define PRINT3 printf("--年龄--职务--部门--工资--电话\n");
#define PRINT4 printf("%s%10s%10s%6s%6d-%2d-%2d",work[i].worknum,work[i].name,work[i].ID,work[i].sex,work[i]. birthday.year,work[i].birthday.month,work[i].birthday.day);
#define PRINT5 printf("%7d%6s%8s%6d%10s\n",work[i].old,work[i].duty,work[i].branch,work[i].salary,work[i].tel );
int sum; /*用来记录员工人数*/
/*日期结构体*/
struct date
{int year;
int month;
int day;
};
/*员工基本信息*/
struct worker
{char worknum[10];
char name[10];
char ID[10];
char sex[10];
struct date birthday;
int old; /*年龄*/
char duty[10]; /*职务*/
char branch[10]; /*部门*/
int salary;
char tel[10];
char pw[10]; /*用来存放用户修改后的密码,不进行输出*/
}t,work[max];
/*信息的保存*/
savemessage(int sum)
{FILE *fp;
int i;
if((fp=fopen("workman.txt","wt"))==NULL)
{printf("读文件错误!\n");
getch();
return;
}
for(i=0;i<sum;i++)
{if(fwrite(&work[i],sizeof(struct worker),1,fp)!=1)
printf("写文件错误!\n");
}
fclose(fp);
}
/*读取信息*/
int readmessage()
{FILE *fp;
int i=0;
if((fp=fopen("workman.txt","rt"))==NULL)
{printf("\n\t 暂时还没有信息");
printf("\n\t 按任意键返回\n");
getch();
return;
}
while(feof(fp)!=1)
{fread(&work[i],sizeof(struct worker),1,fp);
if(work[i].old==0)
break;
else i++;
}
fclose(fp);
return(i);
}
/*信息的输入*/
inputmessage()
{int s=max,i=0;
char ch;
clrscr();
do
{clrscr();
printf("\t 请输入员工信息(最多%d人)\n",s);
printf("\t 请输入员工工作证号:");
scanf("%s",work[i].worknum);
printf("\n\t 请输入员工姓名:");
scanf("%s",work[i].name);
printf("\n\t 请输入员工身份证号:");
scanf("%s",work[i].ID);
printf("\n\t 请输入员工性别:");
scanf("%s",work[i].sex);
printf("\n\t 请输入员工出生日期(yyyy-mm-dd):");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day); printf("\n\t 请输入员工年龄:");
scanf("%d",&work[i].old);
printf("\n\t 请输入员工职务:");
scanf("%s",work[i].duty);
printf("\n\t 请输入员工所属部门:");
scanf("%s",work[i].branch);
printf("\n\t 请输入员工工资:");
scanf("%d",&work[i].salary);
printf("\n\t 请输入员工电话:");
scanf("%s",work[i].tel);
strcpy(work[i].pw,"0");
i++;
loop:printf("\t *** 是否继续输入信息?(y/n) ***\n"); ch=getch();
if(ch=='n')
break;
else if(ch=='y')
continue;
else
{printf("输入错误,请重新输入\n") ;
goto loop; /*使用goto语句进行循环*/
}
}while(i<=max);
printf("\t %d种信息输入完毕\n",i);
sum=i;
printf("\t *** 按任意键返回 ***\n");
bioskey(0);
}
/*信息的输出*/
outputmessage()
{int page=1,i=0,n=1,j,m=1;
char ch;
clrscr();
if(sum!=0)
{if(sum%5==0)
j=sum/5;
else
{while(sum>5*m)
m++;
j=m;
}
}
if(sum==0)
j=1;
clrscr();
printf("\t ***** 员工基本信息列表 *****\n");
printf("\t 共%d页第%d页\n\n",j,page);
PRINT1;
PRINT2;
PRINT3;
printf("\n\n");
PRINT1;
do
{if(n<=5)
{PRINT4;
PRINT5;
n++;
}
else
{printf("\t ** 按任意键继续 **\n");
printf("\t ** 输入'e'退出列表 **\n");
ch=getche();
if(ch=='e')
break;
clrscr();
printf("\t ***** 员工基本信息列表 *****\n");
printf("\t 共%d页第%d页\n\n",j,++page); PRINT1;
PRINT2;
PRINT3;
printf("\n\n");
PRINT1;
PRINT4;
PRINT5;
n=2;
}
i++;
}while(i<sum);
printf("\t ** 按任意键返回 **\n");
getch();
}
/*添加员工信息*/
insetmessage()
{int i=sum;
char ch,choice;
loop:clrscr();
printf("\n\t ***** 添加新员工信息 *****\n\n");
PRINT1;
printf("\n 按任意键进入输入界面!!");
bioskey(0);
if(i<max-sum);
{clrscr();
printf("\t 请输入员工工作证号:");
scanf("%s",work[i].worknum);
printf("\n\t 请输入员工姓名:");
scanf("%s",work[i].name);
printf("\n\t 请输入员工身份证号:");
scanf("%s",work[i].ID);
printf("\n\t 请输入员工性别:");
scanf("%s",work[i].sex);
printf("\n\t 请输入员工出生日期(yyyy-mm-dd):");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day); printf("\n\t 请输入员工年龄:");
scanf("%d",&work[i].old);
printf("\n\t 请输入员工职务:");
scanf("%s",work[i].duty);
printf("\n\t 请输入员工所属部门:");
scanf("%s",work[i].branch);
printf("\n\t 请输入员工工资:");
scanf("%d",&work[i].salary);
printf("\n\t 请输入员工电话:");
scanf("%s",work[i].tel);
strcpy(work[i].pw,"0");
i++;
loop1:printf("\n\t *** 是否继续输入信息?(y/n) ***\n");
ch=getch();
if(ch=='y')
goto loop; /*用goto语句进行循环*/
else if (ch=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n");
goto loop1;
}
}
end:sum=i;
printf("\t ** 按任意键返回 **\n");
bioskey(0);
}
/*删除员工信息*/
delmessage()
{char ch[10],choice;
int flag=0,i;
loop:clrscr();
printf("\t 请输入员工工作证号:");
scanf("%s",ch);
for(i=0;i<sum;i++)
{if(strcmp(ch,work[i].worknum)==0)
{
for(;i<sum;i++)
work[i]=work[i+1];
sum--;
flag=1;
printf("\n\t **** 成功删除信息! ****\n");
}
}
if(flag==0)
printf("\t **** 不存在次员工信息! ****\n");
loop1:printf("\t 是否继续删除信息?(y/n)\n");
choice=getch();
if(choice=='y')
goto loop;
else if (choice=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n"); goto loop1;
}
end:printf("\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*修改员工基本信息*/
modifymessage()
{char ch ,choice ;
int i,j,flag;
loop:flag=0;
clrscr();
printf("\t 输入要修改的工作证号:");
scanf("%s",ch);
for(i=0;i<sum;i++)
{if(strcmp(ch,work[i].worknum)==0)
{clrscr();
flag=1;
printf("\n\t ****** 员工基本信息 ******\n\n");
PRINT2;
PRINT3;
PRINT4;
PRINT5;
PRINT1;
printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n");
printf("\t| ****您要修改哪一项**** |\n");
printf("\t| 1.员工工作证号 |\n");
printf("\t| 2.员工姓名 |\n");
printf("\t| 3.员工身份证号 |\n");
printf("\t| 4.员工性别 |\n");
printf("\t| 5.员工出生日期 |\n");
printf("\t| 6.员工年龄 |\n");
printf("\t| 7.员工担任职务 |\n");
printf("\t| 8.员工隶属部门 |\n");
printf("\t| 9.员工工资 |\n");
printf("\t| 0.员工电话号码 |\n");
printf("\t| 请输入(0——9) |\n");
printf("\t|-------------------------------------------------|\n") ;
printf("\t 选择:");
scanf("%d",&j);
clrscr();
switch(j)
{case 1:{printf("\n\t 员工工作证号 :");
scanf("%s",work[i].worknum);
break;
}
case 2:{printf("\n\t 员工姓名 :");
scanf("%s",work[i].name);
break;}
case 3:{printf("\n\t 员工身份证号 :");
scanf("%s",work[i].ID);
break;}
case 4:{printf("\n\t 员工性别 :");
scanf("%s",work[i].sex);
break;}
case 5:{printf("\n\t 员工出生日期(yyyy-mm-dd) :");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day); break;}
case 6:{printf("\n\t 员工年龄 :");
scanf("%d",work[i].old);
break;}
case 7:{printf("\n\t 员工担任职务 :");
scanf("%s",work[i].duty);
break;}
case 8:{printf("\n\t 员工隶属部门 :");
scanf("%s",work[i].branch);
break;}
case 9:{printf("\n\t 员工工资 :");
scanf("%d",&work[i].salary);
break;}
case 0:{printf("\n\t 员工电话号码 :");
scanf("%s",work[i].tel);
break;}
}
printf("\n\t *** 信息修改成功! ***\n");
}
}
if(flag==0)
printf("\n\t **** 不存在员工信息! ***\n");
loop1:printf("\t 是否继续修改信息?(y/n)\n");
choice=getch();
if(choice=='y')
goto loop;
else if (choice=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n"); goto loop1;
}
end:printf("\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*修改个人密码*/
modifypassword()
{char ch[10],ch1[10],ch2[10],ch3[10],ch4[10],ch5[10]; int i,flag;
loop1:flag=0;
clrscr();
printf("\n\t 请输入工作证号:");
scanf("%s",ch1);
printf("\n\t 请输入旧密码:");
scanf("%s",ch);
for(i=0;i<sum;i++)
if(strcmp(ch1,work[i].worknum)==0)
{
flag=1;
break;
}
if(flag==0)
{printf("\n\t ***不存在此员工!***\n");
getch();
goto loop1;
}
if (strcmp(work[i].pw,"0")==0)
{if(strcmp(ch,ch1)==0)
{loop:printf("\n\t 请输入新密码:");
scanf("%s",ch2);
printf("\n\t 请再次输入密码:");
scanf("%s",ch3);
if(strcmp(ch2,ch3)==0)
{strcpy(work[i].pw,ch3);
printf("\n\t 密码修改成功!\n");
getch();
goto end;
}
if(strcmp(ch2,ch3)!=0)
{printf("\n\t ****密码输入错误!****\n"); getch();
goto loop;
}
}
if(strcmp(ch,ch1)!=0)
{printf("\n\t ****密码输入错误!****\n") ; getch();
goto loop1;
}
}
if (strcmp(work[i].pw,"0")!=0)
{if(strcmp(work[i].pw,ch)==0)
{loop2:printf("\n\t 请输入新密码:");
scanf("%s",ch4);
printf("\n\t 请再次输入密码:");
scanf("%s",ch5);
if(strcmp(ch4,ch5)==0)
{strcpy(work[i].pw,ch4);
printf("\n\t 密码修改成功!\n");
getch();
goto end;
}
if(strcmp(ch4,ch5)!=0)
{printf("\n\t ****密码输入错误!****\n");
getch();
goto loop2;
}
}
if(strcmp(work[i].pw,ch)!=0)
{printf("\n\t ****密码输入错误!****\n");
getch();
goto loop1;
}
}
end:printf("\n\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*更新模块*/
renewmessage()
{ int i;
clrscr();
do
{clrscr();printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n"); printf("\t| ****请选择更新内容**** |\n"); printf("\t| 1.添加员工信息 |\n"); printf("\t| 2.删除员工信息 |\n"); printf("\t| 3.修改员工信息 |\n"); printf("\t| 4.修改个人密码 |\n"); printf("\t| 0.退出更新 |\n"); printf("\t| 请输入(0——4) |\n"); printf("\t|-------------------------------------------------|\n") ; printf("\t 选择:");
scanf("%d",&i) ;
switch(i)
{case 1:insetmessage();break;
case 2:delmessage();break;
case 3:modifymessage();break;
case 4:modifypassword();break;
case 0:break;
}
}while(i!=0);
}
/*按姓名查询*/
inquirename()
{char ch[10],choice;
int i,flag;
loop:flag=0;
clrscr();
printf("\t 请输入要查询员工的姓名:");
scanf("%s",ch);
clrscr();
for(i=0;i<sum;i++)
{if(strcmp(ch,work[i].name)==0)
{printf("\t ***** 员工信息列表 *****\n");
PRINT1;
PRINT2;
PRINT3;
PRINT4;
PRINT5;
flag=1;
}
}
if(flag==0)
printf("\t 不存在此员工信息!\n");
loop1:printf("\t 是否继续查询信息?(y/n)\n");
choice=getch();
if(choice=='y')
goto loop;
else if (choice=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n"); goto loop1;
}
end:printf("\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*按工作证号查询*/
inquireworknum()
{char ch[10],choice;
int i,flag;
loop:flag=0;
clrscr();
printf("\t 请输入要查询员工的工作证号:");
scanf("%s",ch);
clrscr();
for(i=0;i<sum;i++)
{if(strcmp(ch,work[i].worknum)==0)
{printf("\t ***** 员工信息列表 *****\n");
PRINT1;
PRINT2;
PRINT3;
PRINT4;
PRINT5;
flag=1;
}
}
if(flag==0)
printf("\t 不存在此员工信息!\n");
loop1:printf("\t 是否继续查询信息?(y/n)\n");
choice=getch();
if(choice=='y')
goto loop;
else if (choice=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n"); goto loop1;
}
end:printf("\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*按年龄查询*/
inquireold()
{int i,flag,j;
char choice;
loop:flag=0;
clrscr();
printf("\t 请输入要查询员工的年龄:");
scanf("%d",&j);
clrscr();
for(i=0;i<sum;i++)
{if(j==work[i].old)
{printf("\t ***** 员工信息列表 *****\n");
PRINT1;
PRINT2;
PRINT3;
PRINT4;
PRINT5;
flag=1;
}
}
if(flag==0)
printf("\t 不存在此员工信息!\n");
loop1:printf("\t 是否继续查询信息?(y/n)\n");
choice=getch();
if(choice=='y')
goto loop;
else if (choice=='n')
goto end;
else
{printf("\t **** 输入错误,请重新输入! ****\n");
goto loop1;
}
end:printf("\t **** 按任意键返回 ****\n");
bioskey(0);
}
/*查询模块*/
inquiremessage()
{int i;
clrscr();
do
{clrscr();printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n"); printf("\t| ****请选择查询内容**** |\n"); printf("\t| 1.按姓名查询 |\n"); printf("\t| 2.按工作证号查询 |\n"); printf("\t| 3.按年龄查询 |\n"); printf("\t| 0.退出查询 |\n"); printf("\t| 请输入(0——3) |\n"); printf("\t|-------------------------------------------------|\n") ; printf("\t 选择:");
scanf("%d",&i) ;
switch(i)
{case 1:inquirename();break;
case 2:inquireworknum();break;
case 3:inquireold();break;
case 0:break;
}
}while(i!=0);
}
/*按性别统计人数*/
countsex()
{int i,m=0,w=0;
clrscr();
for(i=0;i<sum;i++)
{if(strcmp(work[i].sex,"m"))
m++;
if(strcmp(work[i].sex,"w"))
w++;
}
printf("\n\n\n\n\n");
printf("\t|------------------------------|\n");
printf("\t| 男%d人 |\n",m); printf("\t| 女%d人 |\n",w); printf("\t| 按任意键返回! |\n");
printf("\t|------------------------------|\n");
bioskey(0);
}
/*按年龄统计人数*/
countold()
{int i,tw=0,th=0,fo=0,fi=0,si=0;
clrscr();
for(i=0;i<sum;i++)
{if(work[i].old<20)
tw++;
if(work[i].old>=20&&work[i].old<30)
th++;
if(work[i].old>=30&&work[i].old<40)
fo++;
if(work[i].old>=40&&work[i].old<50)
fi++;
if(work[i].old>=50)
si++;
}
printf("\n\n\n\n\n");
printf("\t|------------------------------|\n");
printf("\t| 20岁以下:%d人 |\n",tw); printf("\t| 20--30岁:%d人 |\n",th); printf("\t| 30--40岁:%d人 |\n",fo);
printf("\t| 40--50岁:%d人 |\n",fi);
printf("\t| 50岁以上:%d人 |\n",si);
printf("\t| 按任意键返回! |\n");
printf("\t|------------------------------|\n");
bioskey(0);
}
/*统计模块*/
countmessage()
{int i;
clrscr();
do
{clrscr();printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n"); printf("\t| ****请选择统计内容**** |\n"); printf("\t| 1.按性别统计人数 |\n"); printf("\t| 2.按年龄统计人数 |\n"); printf("\t| 0.退出统计 |\n"); printf("\t| 请输入(0——2) |\n"); printf("\t|-------------------------------------------------|\n") ; printf("\t 选择:");
scanf("%d",&i) ;
switch(i)
{case 1:countsex();break;
case 2:countold();break;
case 0:break;
}
}while(i!=0);
}
/*按工作证号排序*/
sortworknum()
{
int i,j;
clrscr();
{for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(strcmp(work[i].worknum,work[j].worknum)>0)
{t=work[i];
work[i]=work[j] ;
work[j]=t;
}
}
outputmessage();
}
/*按身份证号排序*/
sortID ()
{int i,j;
clrscr();
{for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(strcmp(work[i].ID,work[j].ID)>0)
{t=work[i];
work[i]=work[j] ;
work[j]=t;
}
}
outputmessage();
}
/*按工资排序*/
sortsalary()
{int i,j;
clrscr();
{for(i=0;i<sum-1;i++)
for(j=i+1;j<sum;j++)
if(work[i].salary>work[j].salary)
{t=work[i];
work[i]=work[j] ;
work[j]=t;
}
}
outputmessage();
}
/*排序模块*/
sortmessage()
{int i;
clrscr();
do
{clrscr();
printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n"); printf("\t| ****请选择排序内容**** |\n"); printf("\t| 1.按工作证号排序 |\n"); printf("\t| 2.按身份证号排序 |\n"); printf("\t| 3.按工资排序 |\n"); printf("\t| 0.退出排序 |\n");
printf("\t| 请输入(0——3) |\n"); printf("\t|-------------------------------------------------|\n") ; printf("\t 选择:");
scanf("%d",&i) ;
switch(i)
{case 1:sortworknum();break;
case 2:sortID ();break;
case 3:sortsalary();break;
case 0:break;
}
}while(i!=0);
}
/*密码模块*/
password()
{char ch[10],worknum[10];
int i,flag;
clrscr();
loop1:flag=0;
printf("\n\t 请输入工作证号:");
scanf("%s",worknum);
printf("\n\t 请输入密码:");
scanf("%s",ch);
for(i=0;i<sum;i++)
{if(strcmp(worknum,work[i].worknum)==0)
{flag=1;
break;
}
}
if(flag==0)
{printf("\n\t ***不存在此员工!***\n");
goto loop1;
}
{if (strcmp(work[i].pw,"0")==0) /*没改密码之前运行*/ {if(strcmp(worknum,ch)==0)
{printf("\n\t 密码输入正确\n\n");
getch();
return;
}
else
{printf("\n\t 密码错误,请重新输入\n\n");
getch();
password();
}
}
}
{if (strcmp(work[i].pw,"0")!=0) /*改密码之后运行*/
{if(strcmp(ch,work[i].pw)==0)
{printf("\n\t 密码输入正确\n\n");
getch();
return;
}
else
{printf("\n\t 密码错误,请重新输入\n\n");
getch();
password();
}
}
}
}
/*关于我们*/
our()
{ clrscr();
printf("\n\n\n\n\n");
printf("\t|--------------------------------------------------------|\n"); printf("\t| |\n"); printf("\t| 本信息管理系统是编者基于C语言开发的一款软件, |\n"); printf("\t| 具有使用方便,内容较齐全的特点。
在编写此信息管 |\n"); printf("\t| 理系统中得到了黄茹老师的悉心指导,在此表示感 |\n"); printf("\t| 谢。
由于编者水平有限以及对C语言理解不深,不当 |\n"); printf("\t| 之处还望大家指正。
再次感谢大家对本系统的支持 |\n"); printf("\t| 与关心! |\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| **** 按任意键进入下一页 **** |\n"); printf("\t| |\n"); printf("\t|--------------------------------------------------------|\n"); getch();
clrscr();
printf("\n\n\n\n\n");
printf("\t|--------------------------------------------------------|\n"); printf("\t| 制作人:刘力源 |\n"); printf("\t| 指导老师:黄茹 |\n"); printf("\t| QQ: 465035063 |\n"); printf("\t| Email: 465035063@ |\n");
printf("\t| 版权:西安邮电学院科技0701 |\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| |\n"); printf("\t| 版权所有翻版必究 |\n"); printf("\t| |\n"); printf("\t|--------------------------------------------------------|\n") ; getch();
}
/*主程序*/
main()
{int i;
sum=readmessage();
clrscr();
printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n");
printf("\t| 欢迎进入员工管理系统 |\n");
printf("\t| QQ:465035063 |\n");
printf("\t|-------------------------------------------------|\n");
printf("\t| **** 请输入个人工作证号(001) **** |\n");
printf("\t| **** 请输入密码 **** |\n");
printf("\t| (初始密码为个人工作证号) |\n");
printf("\t| **** 按任意键进入输入界面 **** |\n");
printf("\t|-------------------------------------------------|\n");
getch();
password();
do
{clrscr();
printf("\n\n\n\n\n");
printf("\t|-------------------------------------------------|\n");
printf("\t| ****请选择服务内容**** |\n");
printf("\t| 1.录入员工信息 |\n");
printf("\t| 2.打印员工信息 |\n");
printf("\t| 3.更新员工信息 |\n");
printf("\t| 4.查询员工信息 |\n");
printf("\t| 5.统计员工信息 |\n");
printf("\t| 6.员工排行信息 |\n");
printf("\t| 7.关于我们 |\n");
printf("\t| 0.退出管理系统 |\n");
printf("\t| 请输入(0——7) |\n");
printf("\t|-------------------------------------------------|\n") ;
printf("\t 选择:");
scanf("%d",&i);
switch(i)
{case 1: inputmessage();break;
case 2: outputmessage();break;
case 3: renewmessage();break;
case 4: inquiremessage();break;
case 5: countmessage();break;
case 6: sortmessage();break;
case 7: our();break;
case 0: break;
default:printf("\n\t\t输入错误!\n");getch();
}
}while(i!=0);
savemessage(sum);
printf("信息已经保存到(workman.txt)之中");
}
(注:文件素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注。
)。