《职工信息管理系统设计C语言》由会员分享,可在线阅读,更多相关《职工信息管理系统设计C语言(28页珍藏版)》请在金锄头文库上搜索。
1、-程序设计课程设计报告职工信息管理系统设计专业计算机科学与技术软件工程NIIT学生*班级*指导教师完成日期2011年7月. z.-目 录1课程设计目的12 课程设计内容13设计流程图14源程序清单15小结7. z.-职工信息管理系统的设计1 课程设计目的1.加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤;2.进一步掌握和利用C语言进展程序设计的能力;3.进一步理解和运用构造化程序设计的思想和方法;4.初步掌握开发一个小型实用系统的根本方法;5.学会跳是一个较长程序的根本方法;6.学会利用流程图火N-S图表示算法;7.掌握书写长须设计开发文档的能力书写课程设计报告2 课程
2、设计内容设计职工信息管理系统,要求职工心想包括职工号、性别、年龄、学历、工资、住址、等职工号不重复。设计一职工信息管理系统,使之能提供以下功能:6系统以菜单方式工作7职工信息录入功能职工信息用文件保存-输入8职工信息浏览功能-输出9查询和排序功能至少一种查询方式-算法10按工资查询11按学历查询等12职工信息删除、修改功能任选项3设计流程图开场菜单根据菜单输入的n选择程序录入职工信息浏览职工信息查询职工信息删除职工信息添加职工信息修改职工信息退出保存是否继续进展完毕(1) 菜单函数void menu() /*菜单函数*/ printf( 计算机科学与技术 软件技术n);printf(n); p
3、rintf( 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.*ls,a)=NULL) printf(n不能翻开该文件!);e
4、*it();printf(n请输入添加职工信息(、职工号、性别、年龄、学历、职位、工资、地址)n);scanf(%s%s%s%s%s%s%s%s%s,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);
5、fclose(fp); 3查询职工信息 数据查找共分为职工号、*等方式查找void search() int l;printf(tttt*查找按:1n);printf(tttt学历查找按:2n);printf(tttt职工号查按:3n);scanf(%d,&l);if(l0&l4)switch(l)case 1:nameway();break;case 2:*ueliway();break;case 3:numway();break; printf(nn操作完毕!);else printf(tttt输入有误!);void nameway()int k=0;char nam8;printf(n请
6、输入您要查找的职工*:);scanf(%s,nam);if(fp=fopen(worker.*ls,rb)=NULL) printf(n不能翻开文件!);e*it();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(nam,one.name)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-
7、10s%-15sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);k=1;if(k=0)printf(nn对不起,查无此人!。);fclose(fp);void *ueliway()int j=0;char *ueli10;printf(tttt输入你要查询的学历n);scanf(%s,*ueli);if(fp=fopen(worker.*ls,rb)=NULL) printf(n不能翻开文件!);e*it();while(!feof(fp)fscanf(fp,%s%s
8、%s%s%s%s%s%s%sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(*ueli,one.record)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);j=1;if(j=0)pr
9、intf(nn对不起,查无此人!。);fclose(fp);void numway() int i=0; char numb10;printf(tttt输入你要查询的职工号n);scanf(%s,numb);if(fp=fopen(worker.*ls,rb)=NULL) printf(n不能翻开文件!);e*it();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strc
10、mp(numb,one.num)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,one.name,one.num,one.se*,one.age,one.record,one.position,one.wanges,one.tel,one.addr);i=1;if(!i)printf(nn对不起,查无此人!。);fclose(fp);4修改职工信息void modify() int m,k=0;long a;char namekey8;printf(n请输入您要修改的职工的*:);scanf(%s,nam
11、ekey);if(fp=fopen(worker.*ls,r+)=NULL) printf(n不能翻开该文件!);e*it();while(!feof(fp)a=ftell(fp); fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.se*,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%
12、-8s%-8s%-10s%-15sn,one.name,one.num,one.se*,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.se*,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%-15sn,one.name,one.num,one.se*,one