C语言程序设计—职工信息管理系统设计.doc

上传人:苏美尔 文档编号:6178171 上传时间:2020-09-18 格式:DOC 页数:21 大小:46KB
返回 下载 相关 举报
C语言程序设计—职工信息管理系统设计.doc_第1页
第1页 / 共21页
C语言程序设计—职工信息管理系统设计.doc_第2页
第2页 / 共21页
C语言程序设计—职工信息管理系统设计.doc_第3页
第3页 / 共21页
C语言程序设计—职工信息管理系统设计.doc_第4页
第4页 / 共21页
C语言程序设计—职工信息管理系统设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言程序设计—职工信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《C语言程序设计—职工信息管理系统设计.doc(21页珍藏版)》请在三一文库上搜索。

1、C语言程序设计职工信息管理系统设计 南京工程学院 程序设计课程设计报告 职工信息管理系统设计 专业 学生姓名 班学级 号 指导教师 完成日期 职工信息管理系统设计目 录1 课程设计目的 . 1 2 课程设计内容 . 13设计流程图 . 14源程序清单 . 2 5 小结 . 27 程序设计课程设计报告(2011)职工信息管理系统的设计1 课程设计目的1.加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤;2.进一步掌握和利用C语言进行程序设计的能力;3.进一步理解和运用结构化程序设计的思想和方法;4.初步掌握开发一个小型实用系统的基本方法;5.学会跳是一个较长程序的基本方法;

2、6.学会利用流程图火N-S图表示算法;7.掌握书写长须设计开发文档的能力(书写课程设计报告)2 课程设计内容设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能:(6)系统以菜单方式工作(7)职工信息录入功能(职工信息用文件保存)-输入(8)职工信息浏览功能-输出(9)查询和排序功能(至少一种查询方式)-算法(10)按工资查询(11)按学历查询等(12)职工信息删除、修改功能(任选项) 3设计流程图 1职工信息管理系统的设计 2程序设计课程设计报告(2011) (1) 菜单函数 void menu(

3、) /*菜单函数*/printf(" 计算机科学与技术 软件技术n");printf("n");printf(" 22 杨婷婷n");printf("n");printf(" *职工信息管理*n");printf(" 1.录入职工信息");printf(" 2.浏览职工信息n");printf(" 3.查询职工信息");printf(" 4.删除职工信息n");printf(" 5.添加职工信息"

4、);printf(" 6.修改职工信息n");printf(" 7.退出n");printf(" *谢谢使用*n");printf("n");printf("n"); (2)录入职工信息void append()if(fp=fopen("","a")=NULL)printf("n不能打开该文件!");exit();printf("n请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)n");

5、scanf("%s%s%s%s%s%s%s%s%s",;fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;fclose(fp);(3) 查询职工信息 数据查找共分为职工号、姓名等方式查找void search()int l;printf("tttt姓名查找按:1n");printf("tttt学历查找按:2n");printf("tttt职工号查按:3n");scanf("%d",&l);if(l>0

6、&&l<4)switch(l)3职工信息管理系统的设计case 1:nameway();break;case 2:xueliway();break;case 3:numway();break;printf("nn操作完毕!");else printf("tttt输入有误!"); void nameway()int k=0;char nam8;printf("n请输入您要查找的职工姓名:");scanf("%s",nam);if(fp=fopen("","rb&qu

7、ot;)=NULL)printf("n不能打开文件!");exit();while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",;if(strcmp(nam,=0)printf("nn已查到,记录为:");printf("n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;k=1;if(k=0)printf("nn对不起,查无此人!。");fclose(fp); void xueliway()int j=0;char x

8、ueli10;printf("tttt输入你要查询的学历n");scanf("%s",xueli);if(fp=fopen("","rb")=NULL)printf("n不能打开文件!");exit();while(!feof(fp)4程序设计课程设计报告(2011)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",;if(strcmp(xueli,=0)printf("nn已查到,记录为:");printf("n%-10s%-8s

9、%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;j=1;if(j=0)printf("nn对不起,查无此人!。");fclose(fp); void numway()int i=0;char numb10;printf("tttt输入你要查询的职工号n");scanf("%s",numb);if(fp=fopen("","rb")=NULL)printf("n不能打开文件!");exit();while(!feof(fp)fscanf(fp,&

10、quot;%s%s%s%s%s%s%s%s%sn",;if(!strcmp(numb,)printf("nn已查到,记录为:");printf("n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;i=1;if(!i)printf("nn对不起,查无此人!。");fclose(fp);(4)修改职工信息void modify()int m,k=0;long a;char namekey8;printf("n请输入您要修改的职工的姓名:");scanf("%s

11、",namekey);5职工信息管理系统的设计if(fp=fopen("","r+")=NULL)printf("n不能打开该文件!");exit();while(!feof(fp)a=ftell(fp);fscanf(fp,"%s%s%s%s%s%s%s%s%sn",;if(!strcmp(namekey,)k=1;break;if(k)printf("n已查到,记录为:");printf("n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s

12、n",;printf("n请输入信息(按照姓名、工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入):");scanf("%s%s%s%s%s%s%s%s%s",;fseek(fp,a,0);fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;elseprintf("n对不起,查无此人,无法进行修改。");fclose(fp); (5)删除职工信息void delete()int m,k=0;long a,b;char namekey8,

13、valid4;printf("n请输入您要删除的职工姓名:");scanf("%s",namekey);if(fp=fopen("","r+")=NULL)printf("n不能打开该文件!");exit();while(!feof(fp)a=ftell(fp);fscanf(fp,"%s%s%s%s%s%s%s%s%sn",6程序设计课程设计报告(2011)osition,;if(strcmp(namekey,=0)k=1;break;if(k=1)printf("

14、;n已查到,记录为");printf("n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;printf("n确实要删除,按1;不删除,按0:");scanf("%d",&m);if(m=1)fseek(fp,a,0);fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn""","","","","",&qu

15、ot;","","","");elseprintf("n对不起,查无此人。");fclose(fp); (6)数据输出void output()if(fp=fopen("","r")=NULL)printf("n不能打开该文件!");exit();printf("nn%20sn","职工信息管理系统");while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn&q

16、uot;,;printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn",;fclose(fp); 4源程序清单#include <>7职工信息管理系统的设计#include <>#include <>#include <>#define N 100struct employeeint num;char name10;char sex;int age;char xueli30;int wage;char addr30;long int tel;em100; /*定义一个结构体*/ voi

17、d menu();void input();void save(int);void display();void del();void add();void search();void search_wage();void search_xueli();void modify(); /*定义各函数*/8程序设计课程设计报告(2011) void menu() /*菜单函数*/printf(" C语言程序设计n");printf("n");printf(" :1 刘欢欢n"); printf("n");printf(

18、" *职工信息管理*n");printf(" 1.录入职工信息");printf(" 2.浏览职工信息 n");printf(" n");printf(" 3.查询职工信息");printf(" 4.删除职工信息 n");printf(" n");printf(" 5.添加职工信息");printf(" 6.修改职工信息 n");printf(" n");printf(" 7.退出 n&

19、quot;);printf(" *谢谢使用*n");printf("n");printf("n"); void main()int n,flag;char a;9职工信息管理系统的设计menu(); /*调用菜单函数*/doprintf("请选择你需要操作的步骤(1-7):n");scanf("%d",&n);if(n>=1&&n<=7)flag=1;break;elseflag=0;printf("您输入有误,请重新选择!");while

20、(flag=0);while(flag=1)switch(n)case 1:printf(" 输入职工信息n");printf("n");input();break;case 2:printf(" 浏览职工信息n");printf("n");display();break;case 3:printf(" 按职工号查询职工信息n");printf("n");search();break;case 4:printf(" 删除职工信息n");printf(&qu

21、ot;n");del();break;case 5:printf(" 添加职工信息n");printf("n");add();break;10程序设计课程设计报告(2011)case 6:printf(" 修改职工信息n");printf("n");modify();break;case 7:exit(0);break;default :break;getchar();printf("n");printf("是否继续进行(y or n):n");scanf(&quo

22、t;%c",&a);if(a=y)flag=1;menu(); /*调用菜单函数*/printf("请再次选择你需要操作的步骤(1-6):n");scanf("%d",&n);printf("n"); elseexit(0); void input() /*录入函数*/int i,m;printf("请输入需要创建信息的职工人数(1-100):n"); 11职工信息管理系统的设计scanf("%d",&m);for (i=0;i<m;i+)printf(&

23、quot;职工号: ");scanf("%8d ",&emi.num);printf("n");printf("请输入姓名: ");scanf("%s",emi.name);getchar();printf("请输入性别(f-女 m-男): "); scanf("%c",&emi.sex);printf("请输入年龄: ");scanf("%d",&emi.age);printf("请输入学历

24、: ");scanf("%s",emi.xueli);printf("请输入工资: ");scanf("%d",&emi.wage);printf("请输入住址: ");scanf("%s",emi.addr);printf("请输入电话: "); scanf("%d",&emi.tel);printf("n"); printf("n创建完毕!n");save(m); 12程序设计课程设计报

25、告(2011) void save(int m) /*保存文件函数*/int i;FILE*fp;if (fp=fopen("employee_list","wb")=NULL) /*创建文件并判断是否能打开*/ printf ("cannot open filen");exit(0);for (i=0;i<m;i+) /*将/*导入函数*/FILE*fp;int i=0;if(fp=fopen("employee_list","rb")=NULL)printf ("cannot

26、 open filen");exit(0);elsedo13职工信息管理系统的设计fread(&emi,sizeof(struct employee),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1); void display() /*浏览函数*/int i;int m=load();printf("n 职工号t姓名t性别t年龄t学历t工资t住址t电话 n");for(i=0;i<m;i+) /*m为输入部分的职工人数*/ printf("n %dt%st%ct%dt%st%dt%st%l

27、dn",emi.num,emi.name,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); void del() /*删除函数*/ int m=load();int i,j,n,t,flag;14程序设计课程设计报告(2011)char name20;printf("n 原来的职工信息:n");display(); /* 调用浏览函数*/printf("n");printf("请输入要删除的职工的姓名:n");scanf("%s",name);fo

28、r(flag=1,i=0;flag&&i<m;i+)if(strcmp(emi.name,name)=0)printf("n已找到此人,原始记录为:n");printf("n职工号t姓名t性别t年龄t学历t工资t住址t电话 n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,emi.name,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);printf("n确实要删除此人信息请按1,不删除请按0n&qu

29、ot;);scanf("%d",&n);if(n=1) /*如果删除,则其他的信息都往上移一行*/for(j=i;j<m-1;j+)strcpy(emj.name,emj+1.name);emj.num=emj+1.num;emj.sex=emj+1.sex;emj.age=emj+1.age;strcpy(emj.xueli,emj+1.xueli);emj.wage=emj+1.wage;strcpy(emj.addr,emj+1.addr);emj.tel=emj+1.tel;15职工信息管理系统的设计flag=0;if(!flag)m=m-1;else

30、printf("n对不起,查无此人!n");printf("n 浏览删除后的所有职工信息:n"); save(m); /*调用保存函数*/display(); /*调用浏览函数*/printf("n继续删除请按1,不再删除请按0n"); scanf("%d",&t);switch(t)case 1:del();break;case 0:break;default :break; void add()/*添加函数*/FILE*fp;int n;int count=0;int i;16程序设计课程设计报告(20

31、11)int m=load();printf("n 原来的职工信息:n");display(); /* 调用浏览函数*/printf("n");fp=fopen("emploee_list","a");printf("请输入想增加的职工数:n"); scanf("%d",&n);for (i=m;i<(m+n);i+)printf("n 请输入新增加职工的信息:n"); printf("请输入职工号: ");scanf(&

32、quot;%8d ",&emi.num);printf("n");printf("请输入姓名: ");scanf("%s",emi.name);getchar();printf("请输入性别(f-女 m-男): "); scanf("%c",&emi.sex);printf("请输入年龄: ");scanf("%d",&emi.age);printf("请输入学历: ");scanf("%s&

33、quot;,emi.xueli);printf("请输入工资: ");scanf("%d",&emi.wage);printf("请输入住址: ");scanf("%s",emi.addr);printf("请输入电话: ");scanf("%d",&emi.tel);printf("n");17职工信息管理系统的设计count=count+1;printf("已增加的人数:n");printf("%dn&qu

34、ot;,count);printf("n添加完毕!n");m=m+count;printf("n浏览增加后的所有职工信息:n");printf("n");save(m);display();fclose(fp); void search()/*查询函数*/int t,flag;doprintf("n按职工工资查询请按1 ; 按学历查询请按2 ;进入主函数按3n"); scanf("%d",&t);if(t>=1&&t<=3)flag=1;break;elsef

35、lag=0;18程序设计课程设计报告(2011)printf("您输入有误,请重新选择!");while(flag=0);while(flag=1)switch(t)case 1:printf("按职工工资查询n");search_wage();break; case 2:printf("按学历查询n");search_xueli();break; case 3:main();break;default:break; void search_wage()int wage;int i,t;int m=load();printf(&quo

36、t;请输入要查找的职工工资:n");scanf("%d",&wage);for(i=0;i<m;i+)if(wage=emi.wage)printf("n已找到此人,其记录为:n");19职工信息管理系统的设计printf("n 职工号t姓名t性别t年龄t学历t工资t住址t电话 n");printf("n %dt%st%ct%dt%st%dt%st%ldn",emi.num,emi.name,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.te

37、l);break;if(i=m)printf("n对不起,查无此人n");printf("n");printf("返回查询函数请按1,继续查询职工工资请按2n");scanf("%d",&t);switch(t)case 1:search();break;case 2: break;default:break; void search_xueli()char xueli30;int i,t;int m=load();printf("请输入要查找的学历:n");scanf("%s

38、",xueli);20程序设计课程设计报告(2011)for(i=0;i<m;i+)if(strcmp(emi.xueli,xueli)=0)printf("n已找到,其记录为:n");printf("n 职工号t姓名t性别t年龄t学历t工资t住址t电话 n"); printf("n %dt%st%ct%dt%st%dt%st%ldn",emi.num,emi.name,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)printf("n对不起,查无此人n");printf("n");printf("返回查询函数请按1,继续查

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1