程序设计课程设计报告职工信息管理系统设计专业计算机科学与技术(软件工程(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",,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",,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",,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(strcmp(nam,)==0){printf("\n\n已查到,记录为:");printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",,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",,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",,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",,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",,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",,one.num,one.sex,one.age,one.record,one.p osition,one.wanges,one.tel,one.addr);if(!strcmp(namekey,)){k=1;break;}}if(k){printf("\n已查到,记录为:");printf("\n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",,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.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",,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr);}elseprintf("\n对不起,查无此人,无法进行修改。