职工信息管理系统设计C语言.docx

上传人:b****2 文档编号:12914431 上传时间:2023-04-22 格式:DOCX 页数:35 大小:263.41KB
下载 相关 举报
职工信息管理系统设计C语言.docx_第1页
第1页 / 共35页
职工信息管理系统设计C语言.docx_第2页
第2页 / 共35页
职工信息管理系统设计C语言.docx_第3页
第3页 / 共35页
职工信息管理系统设计C语言.docx_第4页
第4页 / 共35页
职工信息管理系统设计C语言.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

职工信息管理系统设计C语言.docx

《职工信息管理系统设计C语言.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统设计C语言.docx(35页珍藏版)》请在冰豆网上搜索。

职工信息管理系统设计C语言.docx

职工信息管理系统设计C语言

 

程序设计课程设计报告

职工信息管理系统设计

专业

计算机科学与技术

(软件工程(NIIT))

学生姓名

班级

学号

指导教师

完成日期

2011年7月

职工信息管理系统的设计

1课程设计目的

1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;

2.进一步掌握和利用C语言进行程序设计的能力;

3.进一步理解和运用结构化程序设计的思想和方法;

4.初步掌握开发一个小型实用系统的基本方法;

5.学会跳是一个较长程序的基本方法;

6.学会利用流程图火N-S图表示算法;

7.掌握书写长须设计开发文档的能力(书写课程设计报告)

2课程设计内容

设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

设计一职工信息管理系统,使之能提供以下功能:

(6)系统以菜单方式工作

(7)职工信息录入功能(职工信息用文件保存)--输入

(8)职工信息浏览功能--输出

(9)查询和排序功能(至少一种查询方式)--算法

(10)按工资查询

(11)按学历查询等

(12)职工信息删除、修改功能(任选项)

3设计流程图

(1)菜单函数

voidmenu()/*菜单函数*/

{

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)录入职工信息

voidappend()                         

{

if((fp=fopen("worker.xls","a"))==NULL)    

{

printf("\n不能打开该文件!

");

exit();

}

printf("\n请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)\n");

scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fclose(fp);                     

}

(3) 查询职工信息 数据查找共分为职工号、姓名等方式查找

voidsearch()                   

{

     intl;

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)

{

case1:

nameway();

break;

case2:

xueliway();

break;

case3:

numway();

break;

}

 printf("\n\n操作完毕");

}

elseprintf("\t\t\t\t输入有误");

}

 

voidnameway()

{

intk=0;

charnam[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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(nam,one.name)==0)

{

printf("\n\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,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);

}

 

voidxueliway()

{intj=0;

charxueli[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",one.name,one.num,one.sex,one.age,one.record,one.position,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",one.name,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);

}

 

voidnumway()

{

     inti=0;

     charnumb[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",one.name,one.num,one.sex,one.age,one.record,one.position,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",one.name,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)修改职工信息

voidmodify()                         

{

intm,k=0;

longa;

charnamekey[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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(!

strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

printf("\n已查到,记录为:

");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

else

printf("\n对不起,查无此人,无法进行修改。

");

fclose(fp);                           

}

 

(5)删除职工信息

voiddelete()                     

{

intm,k=0;

longa,b;

charnamekey[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",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

if(strcmp(namekey,one.name)==0)

{

k=1;

break;

}

}

if(k==1)

{

printf("\n已查到,记录为");

printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("\n确实要删除,按1;不删除,按0:

");

scanf("%d",&m);

if(m==1)

{

fseek(fp,a,0);

fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n""","","","","","","","","");

}

}

else

printf("\n对不起,查无此人。

");

fclose(fp);                     

}

 

(6)数据输出

voidoutput()                           

{

if((fp=fopen("worker.xls","r"))==NULL)      

{

printf("\n不能打开该文件!

");

exit();

}

printf("\n\n%20s\n","职工信息管理系统");

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);

}

fclose(fp);

}

4源程序清单

#include

#include

#include

#include

#defineN100

structemployee

{

intnum;

charname[10];

charsex;

intage;

charxueli[30];

intwage;

charaddr[30];

longinttel;

}em[100];/*定义一个结构体*/

 

voidmenu();

voidinput();

voidsave(int);

voiddisplay();

voiddel();

voidadd();

voidsearch();

voidsearch_num();

voidsearch_xueli();

voidsearch_tel();

voidmodify();/*定义各函数*/

voidmenu()/*菜单函数*/

{

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");

}

 

voidmain()

{

menu();/*调用菜单函数*/

intn,flag;

chara;

do

{

printf("请选择你需要操作的步骤(1--7):

\n");

scanf("%d",&n);

if(n>=1&&n<=7)

{

flag=1;

break;

}

else

{

flag=0;

printf("您输入有误,请重新选择!

");

}

}

while(flag==0);

while(flag==1)

{

switch(n)

{

case1:

printf("◆◆◆输入职工信息◆◆◆\n");printf("\n");input();break;

case2:

printf("◆◆◆浏览职工信息◆◆◆\n");printf("\n");display();break;

case3:

printf("◆◆◆按职工号查询职工信息◆◆◆\n");printf("\n");search();break;

case4:

printf("◆◆◆删除职工信息◆◆◆\n");printf("\n");del();break;

case5:

printf("◆◆◆添加职工信息◆◆◆\n");printf("\n");add();break;

case6:

printf("◆◆◆修改职工信息◆◆◆\n");printf("\n");modify();break;

case7:

exit(0);break;

default:

break;

}

getchar();

printf("\n");

printf("是否继续进行(yorn):

\n");

scanf("%c",&a);

if(a=='y')

{

flag=1;

menu();/*调用菜单函数*/

printf("请再次选择你需要操作的步骤(1--6):

\n");

scanf("%d",&n);

printf("\n");

}

else

exit(0);

}

}

 

voidinput()/*录入函数*/

{

inti,m;

printf("请输入需要创建信息的职工人数(1--100):

\n");

scanf("%d",&m);

for(i=0;i

{

printf("职工号:

");

if(em[i].num!

=em[i-1].num)

printf("%8d",em[i].num);

printf("\n");

printf("请输入姓名:

");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女m--男):

");

scanf("%c",&em[i].sex);

printf("请输入年龄:

");

scanf("%d",&em[i].age);

printf("请输入学历:

");

scanf("%s",em[i].xueli);

printf("请输入工资:

");

scanf("%d",&em[i].wage);

printf("请输入住址:

");

scanf("%s",em[i].addr);

printf("请输入电话:

");

scanf("%d",&em[i].tel);

printf("\n");

}

printf("\n创建完毕!

\n");

save(m);

}

 

voidsave(intm)/*保存文件函数*/

{

inti;

FILE*fp;

if((fp=fopen("employee_list","wb"))==NULL)/*创建文件并判断是否能打开*/

{

printf("cannotopenfile\n");

exit(0);

}

for(i=0;i

if(fwrite(&em[i],sizeof(structemployee),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);

}

 

intload()/*导入函数*/

{

FILE*fp;

inti=0;

if((fp=fopen("employee_list","rb"))==NULL)

{

printf("cannotopenfile\n");

exit(0);

}

else

{

do

{

fread(&em[i],sizeof(structemployee),1,fp);

i++;

}

while(feof(fp)==0);

}

fclose(fp);

return(i-1);

}

 

voiddisplay()/*浏览函数*/

{

inti;

intm=load();

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

for(i=0;i

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}

 

voiddel()/*删除函数*/

{

intm=load();

inti,j,n,t,flag;

charname[20];

printf("\n原来的职工信息:

\n");

display();/*调用浏览函数*/

printf("\n");

printf("请输入要删除的职工的姓名:

\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

printf("\n已找到此人,原始记录为:

\n");

printf("\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

printf("\n确实要删除此人信息请按1,不删除请按0\n");

scanf("%d",&n);

if(n==1)/*如果删除,则其他的信息都往上移一行*/

{

for(j=i;j<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1