C语言_职工信息管理系统实训报告_第1页
C语言_职工信息管理系统实训报告_第2页
C语言_职工信息管理系统实训报告_第3页
C语言_职工信息管理系统实训报告_第4页
C语言_职工信息管理系统实训报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、程序设计工程训练报告职工信息管系统课程名称C语言程序设计工程训练姓 名浣(系)专业班级学 号指导教师 TOC o 1-5 h z 目录 HYPERLINK l bookmark9 o Current Document 1需求分析1 HYPERLINK l bookmark17 o Current Document 2系统总框图和功能模块说明12.1系统总框图12.2功能模块说明2 HYPERLINK l bookmark30 o Current Document 系统设计23.1主要结构体23.2主要功能函数33.3关键函数的程图 4 HYPERLINK l bookmark36 o Curr

2、ent Document 系统调试4 HYPERLINK l bookmark83 o Current Document 5总结9 HYPERLINK l bookmark86 o Current Document 6源程序清单101需求分析职工信息包括职工号、姓名、性别、龄、 学历、工资、住址、电话(职工号重复) 律设计职工信息管系统,随之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)一一时入职工信息浏览功能输出职工信息查询功能一章法(其中查询方式可以按学历查询、按职工号查询等)职工信息删除、修改功能2系统总框图和功能苗块说明2.1系统总框囹囹1系统总框囹2.2功能

3、模块说明菜单模块:显示职工管系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的 void input()函数来实现。保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的 void save(int)函数来实现。浏览模块:浏览所有职工的相关信息,通过自己定义的void display ()函数来实现。删除模块:删除需要删除的职工的所有信息,通过自己定义的voiddel()函数来实现。添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。按职工的的

4、学历查询 模块:可以按职工的学历来查询职工的相关信息,通过自己定义 的void search_xuelil函数来实现。按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定 义的void search_tel函数来实现。修改模块:可以修改需要修改的职工的相关信息,通过自己定义的void modify ()函 数来实现。退出系统模块:退出职工信息管系统,通过头文件 windows.h中的exit (0)函数 来实现。3系统设计3.1主要结构体struct employee/定义一个职工信息的结构体int num;char name10;char sex;int age;cha

5、r xueli30;int wage;char addr30;char tel20;em100;3.2主要功能函数void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_xueli();void search_tel();void modify();3.3系统的总体程图4系统调试1.运程序,进入职工信息管系统的主菜单:C:UsersalvinDesktopJl.exe算机计算机123班敖立伟自.5自.5自.5

6、兰金一身血 T-T-T- 职职职职工信息管理2.4.6.自.5 自.5 自.I-L1 土一冬一冬一E 工工工 职职职 入询加出 H 13 5 7NKNKNKNKNKNKNKNKNKN对射i射1审用置拜置拜置拜置拜置拜置拜置拜置拜置拜请选择你需要操作的步骤 :2.输入数字“1进录入职工信息C:UsersalvinDesktopjlS.exe计算机科学与技术专业计算机123班敖立伟KXKXKXKXKXKXNXNXNX耳口工二 耳官吒里祭右弁 NXNXNXNXNXNXNXNX1逐入职工信息、2.am职工信息3 -杳询职工信息4.删俺职工信息5 3蚕加职工信息6-修敌职工信息?-携出 s+ s+ 出i

7、_r T-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r r n 一.,i I I I i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r i_r n-r请选择你需要操作的步骤 :1输入职工信息请输入需要创建信息的职工人数:3.录入职工信息请选择你需要操作的步骤1-7 :1输入职工信息请输入需要创建信息的职工入数1-100:青输入职工号:1mF目-m女姓摹学工住电 AAAAAA .一 一 一 一 一 一 一 4号4*4-

8、.*4-.*4-.*4-.*4-.*”建完毕,是否继续进行3 or n:输入“2浏览职工信息:计算机说3班敖立伟入职工信息 询职工临息 加职工杵息H 里 5 2 4 &请再次选择你需要操作的步骤1-6:2浏览职工信息职工号姓名性别年龄学历工资住址电话1 1111111是否继续进行3 or n:输入“y后继续,输入“ 3进查询职工信息:按职工号查询请按土 ;按学历查询请按2 ;按电话号码查询请按3,进入主函数按4据职工号查询请输入要查找的职工号20001111一-20009999:9999对不起,查无此入返回查询函数请按继续查询职工号请按299999999按职工号查询请输入要查找的职工号2000

9、1111一-20009999:1已找到此入,其记录为:职工号姓名 性别 年龄 学历 工资 住址 电话11111111返回查询函数请按继续查询职工号请按2进入主菜单,输入“4进删除职工信息:计算机123班敖立伟二 二 二 二 二 二 二 二 二 二 二 二 二 二 二自.自.自.5土一立一更一工T-一 职职职职工信息管理4.6.二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二IJIIJIIJ 丁一 职职职 A询加出 录iNNNNNNNNNNNNNNNNNNN 对射 i 射 1吏用 NNNNNNNNNNNNNNNNNN请选择你需要操作的步骤:删除职工信息原来的职工信息,职工号 姓

10、名 性别 年龄 学历 工资 住址 电话进入主菜单输入“5进添加职工信息职工信息管理4.6.工工工 职职职自.5自.5自.5士一s-s-s.-畀机队3班i-tA职工信息 3 查询职工信息 S 唾如职工桔息 7愤出XNXNXNXNXNXNXNXNXNX置1射i射,使用*置*置*置*置*置*置*置*置*置睛再次选择你需要操作的步骤 =添加职工信息原来的职工信息二职工号 姓名 性别 年龄 学历 工资 住址 电话11111111请输入想增加的职工数:进入主菜单输入“6进修改职工信息:9.进入主菜单输入7退出职工信息管系统。5总结通过这次课程设计,增加我们对软件技术的解, 虽然还明确软件技术包含的具 体内

11、容,但从学习C语言这门课程开始,已发现程序设计的好处,它对我们数学的学习 也有很大的帮助。在学习C语言的过程中也学到和巩固许多计算机应用基础知识,X对 计算机的机体也有一个较为详细的解。在具体操作中对这学期所学的 C语言的论 知识得到巩固加强,达到实训的目的,也发现自己的足之处,为我们以后的 c语言学 习奠定基础,同时体会到 C语言具有的语简洁,使用灵活,执效高等特点。发 现上机操作的重要作用,特别是对数组和循环有深刻的解。通过实际操作,学会 C 语言程序编程的基本步骤、基本方法,开发自己的逻辑思维能,培养分析问题、 解决问题的能。由于大课题中的许多知识点没有学过要靠自己到课外的资中去查找。在

12、用的 时候难免出现这样那样的错误。如开始设计出来的菜单是预想的那样,而是总个窗中 出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果 没有这些用户根本知道怎么用你设计的这个系统。在设计的调试过程中也无法顺的 完成调试工作。有一个清晰简单的菜单和一些提示信息这后调试过程完成的比较顺。回顾起此次课程设计,至今我们仍感慨颇多,的确,从拿到题目到完成整个编程, 从论到实践,在这些日子,可以学到很多很多的东西,同时仅可以巩固以前所 学过的知识,而且学到很多在书本上 所没有学到过的知识。通过这次课程设计使我们 懂得论与实际相结合是很重要的,只有论知识是远远够的,只有把所学的论 知

13、识与实践相结合起来,从论中得出结论,才能真正为社会服务,从而提高自己的实 阮动手能和独思考的能。在设计的过程中遇到问题,可以说得是困难重重,这毕 竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现自己的足 之处,对以前所学过的知识解得够深刻,掌握得够目,比如说结构体通过 这次课程设计之后,一定把以前所学过的知识本次课程设计结束,对于我们的影响很 大。我们通过这次实践学到许多知识。学到设计-个简单的系统。要注意哪些方面。 也使我们知道自己哪些方面做得还够。6源程序清单#include #include #include #include #define N 100struct em

14、ployeeint num;char name10;char sex;int age;char xueli30;int wage;char addr30;double tel;em100;/*定义一个结构体*/ void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_xueli();void search_tel();void modify();/*定义各函数*/void menu()/*菜单函数*/print

15、f(计算机科学与技术专业n);printf(n);printf (计算机123班 敖伟n);printf(n);printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(n);*职工信息管系统 *n);录入职工信息);浏览职工信息侦);查询职工信息);删除职工信息3);添加职工信息”);修改职工信息侦);退出 n);*谢谢使用 *n);printf(n);void main()int n,flag;char a; menu(); do/*调用菜单函数*/printf(请选择你需要操作的步骤(1-7):n);sca

16、nf(%d”,&n);if(n=1&n=7)flag=1;break;elseflag=0;printf(您输入有误,请重新选择!);while(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(n);del();bre

17、ak;case 5:printf( 添加职工信息 n);printf(n);add();break;case 6:printf( 修改职工信息 n);printf(n);modify();break;case 7:exit(0);break;default :break;getchar();printf(n);printf(是否继续进 (y or n):n);scanf(%c”,&a);if(a=y)flag=1;system(cls);/* 清屏*/menu();/*调用菜单函数*/printf(请再次选择你需要操作的步骤(1-6):n);scanf(%d”,&n);printf(n);el

18、se exit(0);void input()/*录入函数*/int i,m;printf(请输入需要创建信息的职工人数(1-100):n);scanf(%d”,&m);for (i=0;im;i+)printf(请输入职工号:);scanf(%d”,&emi.num);printf(n);printf(请输入姓名:);scanf(%s”,);getchar();printf(请输入性别(f-m-男):);scanf(%c”,&emi.sex);printf(请输入龄:);scanf(%d”,&emi.age);printf(请输入学历:);scanf(%s”,emi.xuel

19、i);printf(请输入工资:);scanf(%d”,&emi.wage);printf(请输入住址:);scanf(%s”,emi.addr);printf(请输入电话:);scanf(%lf”,&emi.tel);printf(n);printf(n 创建完毕!n);save(m);void save(int m) /*保存文件函数*/int i;FILE*fp;if (fp=fopen(employee_list”,wb)=NULL) /* 创建文件并判断是否能打开*/ printf (cannot open filen);exit(0);for (i=0;im;i+) /*将内存中职

20、工的信息输出到磁盘文件中去*/if (fwrite(&emi,sizeof(struct employee),1,fp)!=1)printf(file write errorn);fclose(fp);int load() /*导入函数*/FILE*fp;int i=0;if(fp=fopen(employee_list”,rb)=NULL)printf (cannot open filen);exit(0);elsedofread(&emi,sizeof(struct employee),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);vo

21、id display() /* 浏览函数*/int i;int m=load();printf(n 职工号t姓名t性别t龄 t学历t工资t住址t电话 n);for(i=0;im;i+) /*m为输入部分的职工人数*/printf(n %dt%st%ct%dt%st%dt%st%.0lfn,emi.num,,emi.sex,emi.a ge,emi.xueli,emi.wage,emi.addr,emi.tel);void del()/* 删除函数*/int m=load();int i,j,n,t,flag;char name20;printf(n原来的职工信息:廿);disp

22、lay(); /*调用浏览函数*/printf(n);printf(请输入要删除的职工的姓名:n);scanf(%s”,name);for(flag=1,i=0;flag&im;i+)if(strcmp(,name)=0)printf(n已找到此人,原始记录为:n);printf(n职工号t姓名t性别t龄 t学历t工资t住址t电话 n);printf(n%dt%st%ct%dt%st%dt%st%.0lfn”,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);printf(n确实要删除此人

23、信息请按,删除请按 0n);scanf(%d”,&n);if(n=1)/*如果删除,则其他的信息往上彩一*/for(j=i;jm-1;j+)strcpy(,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;flag=0;if(!flag)m=m-1;elseprintf(n对起,直无此人!n);printf(

24、n浏览删除后的所有职工信息:3);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;int m=load();printf(n原来的职工信息:廿);display(); /*调用浏览函数*/ printf(n);fp=fopen(emploee_list”,a”);print

25、f(请输入想增加的职工数:n);scanf(%d”,&n);for (i=m;i=1&t=4)flag=1;break;elseflag=0;printf(您输入有误,请重新选择!);while(flag=0);while(flag=1)switch(t)case 1:printf(按职工号查询n);search_num();break;case 2:printf(按学历 查询n);search_xueli();break;case 3:printf (按电话号码查询 n);search_tel();break;case 4:main();break;default:break;void se

26、arch_num()int num;int i,t;int m=load();printf(请输入要查找的职工号(0-1000000000):n);scanf(%d”,&num);for(i=0;im;i+)if(num=emi.num)printf(n已找到此人,其记录为:n);printf(n职工号t姓名t性别t龄 t学历t工资t住址t电话 n);printf(n%dt%st%ct%dt%st%dt%st%.0lfn”,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)pri

27、ntf(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”,xueli);for(i=0;im;i+)if(strcmp(emi.xueli,xueli)=0)printf(n已找到,其记录为:n);printf(n职工号t姓名t性别t龄

28、 t学历t工资t住址t电话 n);printf(n%dt%st%ct%dt%st%dt%st%.0lfn”,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);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_tel()long int tel;int i, t;

29、int m=load();printf(请输入要查找的电话号码:n);scanf(%lf”,&tel);for(i=0;im;i+)if(tel=emi.tel)printf(n已找到此人,其记录为:n);printf(n职工号t姓名t性别t龄 t学历t工资t住址t电话 n);printf(n%dt%st%ct%dt%st%dt%st%.0lfn”,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);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 modify() /* 修改函数*/int num;char name10;char sex;int age;char xueli30;int wage;char addr30;long int tel;int b,c,i,n,t,

温馨提示

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

评论

0/150

提交评论