职工信息管理系统设计(C语言)
程序设计课程设计报告
职工信息管理系统设计专业
计算机科学与技术
(软件工程(NIIT))
学生姓名
班级
学号
指导教师
完成日期2011年7月
目录
1课程设计目的 (1)
2课程设计内容 (1)
3设计流程图 (1)
4源程序清单 (2)
5小结 (21)
。
职工信息管理系统的设计
1课程设计目的
1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;
2.进一步掌握和利用C语言进行程序设计的能力;
3.进一步理解和运用结构化程序设计的思想和方法;
4.初步掌握开发一个小型实用系统的基本方法;
5.学会跳是一个较长程序的基本方法;
6.学会利用流程图火N-S图表示算法;
7.掌握书写长须设计开发文档的能力(书写课程设计报告)
2 课程设计内容
设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能:
(6)系统以菜单方式工作
(7)职工信息录入功能(职工信息用文件保存)--输入
(8)职工信息浏览功能--输出
(9)查询和排序功能(至少一种查询方式)--算法
(10)按工资查询
(11)按学历查询等
(12)职工信息删除、修改功能(任选项)
3设计流程图
. . .
。
(1)菜单函数
void menu() /*菜单函数*/
{
printf(" ☆☆☆计算机科学与技术软件技术☆☆☆\n");
printf("\n");
printf(" ∮1010704422 杨婷婷∮\n");
printf("\n");
printf(" ******************职工信息管理****************\n");
printf(" 1.录入职工信息");
printf(" 2.浏览职工信息\n");
printf(" 3.查询职工信息");
printf(" 4.删除职工信息\n");
printf(" 5.添加职工信息");
printf(" 6.修改职工信息\n");
printf(" 7.退出\n");
printf(" ********************谢谢使用******************\n");
printf("\n");
printf("\n");
}
(2)录入职工信息
void append()
{
if((fp=fopen("worker.xls","a"))==NULL)
{
printf("\n不能打开该文件!");
exit();
}
printf("\n请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)\n"); scanf("%s%s%s%s%s%s%s%s%s",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr);
fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr);
fclose(fp);
}
(3)查询职工信息数据查找共分为职工号、姓名等方式查找
void search()
{
int l;
printf("\t\t\t\t*姓名查找按:1*\n");
printf("\t\t\t\t*学历查找按:2*\n");
printf("\t\t\t\t*职工号查按:3*\n");
scanf("%d",&l);
if(l>0&&l<4)
{switch(l)
{
. . .
case 1:nameway();
break;
case 2:xueliway();
break;
case 3:numway();
break;
}
printf("\n\n操作完毕!!!");
}
else printf("\t\t\t\t输入有误!!!");
}
void nameway()
{
int k=0;
char nam[8];
printf("\n请输入您要查找的职工姓名:");
scanf("%s",nam);
if((fp=fopen("worker.xls","rb"))==NULL)
{
printf("\n不能打开文件!");
exit();
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);
if(strcmp(nam,https://www.360docs.net/doc/2b8433304.html,)==0)
{
printf("\n\n已查到,记录为:");
printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);
k=1;
}
}
if(k==0)
printf("\n\n对不起,查无此人!。");
fclose(fp);
}
void xueliway()
{int j=0;
char xueli[10];
printf("\t\t\t\t输入你要查询的学历\n");
scanf("%s",xueli);
if((fp=fopen("worker.xls","rb"))==NULL)
{
printf("\n不能打开文件!");
exit();
}
while(!feof(fp))
。
{
fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);
if(strcmp(xueli,one.record)==0)
{
printf("\n\n已查到,记录为:");
printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);
j=1;
}
}
if(j==0)
printf("\n\n对不起,查无此人!。");
fclose(fp);
}
void numway()
{
int i=0;
char numb[10];
printf("\t\t\t\t输入你要查询的职工号\n");
scanf("%s",numb);
if((fp=fopen("worker.xls","rb"))==NULL)
{
printf("\n不能打开文件!");
exit();
}
while(!feof(fp))
{
fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);
if(!strcmp(numb,one.num))
{
printf("\n\n已查到,记录为:");
printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);
i=1;
}
}
if(!i)
printf("\n\n对不起,查无此人!。");
fclose(fp);
}
(4)修改职工信息
void modify()
{
int m,k=0;
long a;
char namekey[8];
printf("\n请输入您要修改的职工的姓名:");
scanf("%s",namekey);
. . .
if((fp=fopen("worker.xls","r+"))==NULL)
{
printf("\n不能打开该文件!");
exit();
}
while(!feof(fp))
{
a=ftell(fp);
fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);
if(!strcmp(namekey,https://www.360docs.net/doc/2b8433304.html,))
{
k=1;
break;
}
}
if(k)
{
printf("\n已查到,记录为:");
printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one .age,one.record,one.position,one.wanges,one.tel,one.addr);
printf("\n请输入信息(按照姓名、工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):");
scanf("%s%s%s%s%s%s%s%s%s",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr);
fseek(fp,a,0);
fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr);
}
else
printf("\n对不起,查无此人,无法进行修改。");
fclose(fp);
}
(5)删除职工信息
void delete()
{
int m,k=0;
long a,b;
char namekey[8], valid[4];
printf("\n请输入您要删除的职工姓名:");
scanf("%s",namekey);
if((fp=fopen("worker.xls","r+"))==NULL)
{
printf("\n不能打开该文件!");
exit();
}
while(!feof(fp))
{
a=ftell(fp);
fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",https://www.360docs.net/doc/2b8433304.html,,one.num,one.sex,one.age,one.record,one.p