C语言课程设计报告职工信息管理系统.doc_第1页
C语言课程设计报告职工信息管理系统.doc_第2页
C语言课程设计报告职工信息管理系统.doc_第3页
C语言课程设计报告职工信息管理系统.doc_第4页
C语言课程设计报告职工信息管理系统.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告一 C语言课程设计的目的设计一职工信息管理系统,使之能提供以下功能:(1) 系统以菜单方式工作(2) 职工信息录入功能(职工信息用文件保存)(3) 职工信息浏览功能(4) 职工信息查询功能,查询方式可按学历查询或按职工号查询(5) 职工信息删除修改功能(可选项)二 课程设计报告正文1题目要求设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能:(6) 系统以菜单方式工作(7) 职工信息录入功能(职工信息用文件保存)(8) 职工信息浏览功能(9) 职工信息查询功能,查询方式可按学历查询或按职工号查询(10) 职工信息删除修改功能(可选项)2需求分析根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。3总体设计根据上面的需求分析,可以将这个系统设计分为以下模块:数据添加、数据查找、数据修改、数据删除、数据输出。系统功能模块如下:职工信息管理系统数据添加数据查找数据修改数据删除数据输出4详细设计1 主函数 主函数设计要简洁,只提供部分函数的调用。其中各功能模块用菜单方式选择。【程序】void main() int m;while(1) printf(nnntt _n);printf(tt 欢迎进入内蒙古科技大学员工信息系统n); printf(tt 设计者:计算机-3班 学号1076807334n);printf(tt n); printf(ntttt添加,请按1); printf(ntttt查找,请按2); printf(ntttt修改,请按3); printf(ntttt删除,请按4); printf(ntttt输出,请按5);printf(ntttt退出,请按0n); scanf(%d,&m);if(m=0&m0&l4)switch(l)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(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(nam,)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);k=1;if(k=0)printf(nn对不起,查无此人!。);fclose(fp);void xueliway()int j=0;char xueli10;printf(tttt输入你要查询的学历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%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(xueli,one.record)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);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(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(numb,one.num)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,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,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%sn,,one.num,one.sex,one.age,one.record,one.position,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%-15sn,,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.position,one.wanges,one.tel,one.addr);fseek(fp,a,0);fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);elseprintf(n对不起,查无此人,无法进行修改。);fclose(fp); 5 数据删除【程序】void delete() int m,k=0;long a,b;char namekey8, valid4;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%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(namekey,)=0)k=1;break;if(k=1)printf(n已查到,记录为);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,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%-15sn ,);elseprintf(n对不起,查无此人。);fclose(fp); 6 数据输出【程序】void output() if(fp=fopen(worker.xls,r)=NULL) printf(n不能打开该文件!);exit();printf(nn%20sn,职工信息管理系统);while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,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%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fclose(fp);5运行与测试报告:三 后记/课程设计过程中遇到的问题以及解决方法,课程设计的体会。这次课程设计让我掌握了许多的有用知识。首先我能够熟练的应用软件Microsoft Visual C+ 6.0 了。再就是我能够根据自己的需要设计程序,这将对我以后的生活有非常重要的影响。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。 在设计中,我遇到了不少的困难,比如不能清晰的建立设计模块,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。还有就是起初我设计的程序总是有错误,我细心的修改,不断的改进,最终我做出了自己非常理想的程序!附录:源程序清单#includestruct char name8;char num10;char sex10;char age10;char record10;char position15;char wanges10;char tel15;char addr50;one; FILE *fp; void output(); void search(); void append(); void modify(); void delete(); void nameway();void xueliway();void numway();void main() int m;while(1) printf(nnntt _n);printf(tt 欢迎进入中国地质大学(武汉)员工信息系统n); printf(tt 设计者:055071-12苏龙 学号20071001569n);printf(tt n); printf(ntttt添加,请按1); printf(ntttt查找,请按2); printf(ntttt修改,请按3); printf(ntttt删除,请按4); printf(ntttt输出,请按5);printf(ntttt退出,请按0n); scanf(%d,&m);if(m=0&m0&l4)switch(l)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(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(nam,)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);k=1;if(k=0)printf(nn对不起,查无此人!。);fclose(fp);void xueliway()int j=0;char xueli10;printf(tttt输入你要查询的学历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%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(strcmp(xueli,one.record)=0)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);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(worker.xls,rb)=NULL) printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);if(!strcmp(numb,one.num)printf(nn已查到,记录为:);printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);i=1;if(!i)printf(nn对不起,查无此人!。);fclose(fp);void modify() int m,k=0;long a;char namekey8;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%sn,,one.num,one.sex,one.age,one.record,one.position,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%-15sn,,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.position,one.wanges,one.tel,one.addr);fseek(fp,a,0);fprintf(fp,%-10s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论