版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序课程设计报告设计题目: 职工管理系统 专 业: 信息工程 班 级: 学生姓名: 学 号: 指导教师: 2012年6月信息工程学院 摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。对企业而言,人力资源是企业最宝贵的资源。随着当今企业人员数量的不断增加,对职工的管理要求也不断提高。实现职工管理现代化将带来高效的企业管理。这个职工管理系统就是用c语言写的一个程序,它实现了职工管理的功能,包括数据录入,工资计算,
2、查询统计修改数据的功能。该程序是用简单的,比较常见的函数组成的,通过for循环和goto函数调用来完成该程序。,本系统具有良好的用户界面,操作简单使用方便,信息查询统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来。这一切旨在学历并练习c语言的开发实践,对于以后的开发与编程提供一个良好的基础关键字: 职工管理 工资查询 应用程序 数据修改 程序设计和技巧 新型科学 目录摘 要1第一章 绪论11.1选题背景11.2设计目的1第二章 系统分析22.1 功能需求22.2 模块的划分与定义2第三章 总体设计与详细设计33.1 总体设计33.2 详细设计4第四章 编码实现5第五章 测试与调试
3、18第六章 心得与体会22附录23源代码23参考文献:35第一章 绪论1.1选题背景随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。在各企业公司职工工资管理中,运用C语言程序,避免了手工操作而带来的一些不必要的问题。1.2设计目的 通过本项课程设计,可以培养独立思考、 综合运用所学有关相应知识的能力,能更好的巩固C语言程序设计课程学习的内容,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性! 通过C语言课程设计,使
4、学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。第二章 系统分析2.1 功能需求职工管理系统的功能:1、职工数据录入2、工资计算3、查询统计4、查看所有记录5、修改数据此项目主要考察我们对for循环,以及函数调用等C语言算法的掌握。如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。菜单中的每一个选项都对应一个子程序。2.2 模块的划分与定义系统各模块(函数)的组成。功能、参数说明、相互调用关系主函数 main()。利用goto实现各函数的
5、调用,此程序主要应用的是for循环语句,及函数的调用。1) 输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisuan()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxun() 这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、工资等统计4)修改数据函数void xiugai() 这是一个不返回值的有参函数,有权限的修改职工数据第三章 总体设计与详细设计3.1 总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划
6、分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。系统结构框图如下: 7退出系统6修改数据,需要权限5查看所有记录3查询统计2工资计算1数据录入工资管理系统 3.2 详细设计本职工管理系统由如下模块组成:1、主模块功能:显示系统菜单2、数据录入 功能:记录职工姓名、性别、工号、奖金、扣款等。3、工资计算功能:工资=基本工资+奖金-扣款 。4、查询统计、功能:按性别、年龄、工资统计。5、查看所有记录功能:清晰的了解员工信息6、数据修改功能:有限制的修改员工信息,有效的保护
7、了职工信息 。 7、退出 功能:退出该系统。第四章 编码实现1、系统各模块(函数)的组成。功能、参数说明、相互调用关系#include"stdio.h"#include"string.h"1)、main() 主函数利用for循环以及goto来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2) 输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisuan()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxun() 这是一个不返回值的有参函数,用来职
8、工的查询统计如按性别、年龄、 工资等统计4)修改数据函数void xiugai()这是一个不返回值的有参函数,有权限的修改职工数据各功能模块的算法处理相关说明1、主函数 main()2、输入记录函数void shuju()3、计算工资函数void jisuan()4、查询统计函数void chaxun()5、修改数据函数void xiugai()1、 数据录入当执行此数据录入任务时,系统会提示用户,即按姓名、工号、性别、年龄、扣款数额、等录入数据 void shuju() /*数据录入*/ int i,j; char kk; for(i=0;i<10;i+) printf("n
9、%s record:",xingmingi); printf("nn"); printf("the number of worker"); scanf("%i",&yghi); printf("sex (male(M)/female(F)"); scanf("%s",&xingbiei0); printf("age"); scanf("%i",&nianlini); printf("kou kuan shu er
10、"); scanf("%i",&koukuani); printf("jiang jin"); scanf("%i",&jiangjini); printf("nn");ks:printf("shi fou ji xu shu ru(Y/N)?"); kk=getch(); if(kk='Y')|(kk='y') continue; else if(kk='N')|(kk='n') printf("
11、;nnnnnnnnnnttttenter finish!n"); printf("an ren yi jian return the main cai dan !"); getch(); break; else printf(" enter wrong , please enter again!"); getch(); system("cls"); goto ks; system("cls");2 、 工资计算在计算操作中,系统会按要求计算工资,工资=基本工资+奖金-扣款。void jisuan() /*
12、工资计算*/system("cls");printf("ttt");for(i=1;i<15;i+)printf("*");printf("n");printf("ttt*ttt *n");printf("ttt*t gong zi biaot *n");printf("ttt*t t *n");printf("ttt");for(i=1;i<15;i+)printf("*");printf("
13、nntttnametttgong zi n");printf("ttt");for(i=1;i<15;i+)printf("*");printf("n");for(i=0;i<10;i+)sumi=jb+jiangjini-koukuani;printf("ttt%sttt%in",*(xingming+i),sumi);printf("an ren yi jian fan hui zhu cai dan");y1=getchar();if(y1!=' ')
14、y1=getchar();return;3、 查询统计在查询统计操作中,系统按性别、工资、年龄进行统计 void chaxun() /*查询统计*/char y,y2,y3,y4,yy5=0;tt:system("cls");printf("1.an xing bie tong jin");printf("2.an gong zi shu er tong jin");printf("3.an nian ling tong jin");printf("4.return the main cai dann&q
15、uot;);printf("qiang shu ru xuan ze1-4?");y=getchar();if(y='1')oo1: system("cls"); printf("1.malen2.femalen3.returnn"); printf("please select?"); y2=getchar(); if(y2='1') for(k=0,i=0;i<10;i+) if(xingbiei0='m')|(xingbiei0='M')
16、k+; printf("male worker%irenn",k); printf("an ren yi jian return/?"); y2=getch(); goto oo1; else if(y2='2') for(k=0,i=0;i<10;i+) if(xingbie0i='f'|xingbiei0='F') k=k+1; printf("female worker%irenn",k); printf("an ren yi jian to return"
17、;); y2=getch(); goto oo1; else if(y2='3') system("cls"); goto tt; else system("cls"); goto oo1; else if(y='2')oo2: system("cls"); printf("1.gong zi zai 1400yuan yi shangn2.gong zi zai 1400yuan ni xian3.returnn"); printf("please enter selec
18、t1-3/?"); y3=getchar(); if(y3='1') for(k=0,i=0;i<10;i+) if(jb+jiangjini-koukuani)>=1400) k=k+1; printf("gong zi zai 1400yuan yi shang de you %i renn",k); printf("an ren yi jian continue/?"); y3=getchar(); if(y3!=' ') y3=getchar(); goto oo2; else if(y3=&
19、#39;2') for(k=0,i=0;i<10;i+) if(jb+jiangjini-koukuani)<=1400) k+; printf("gong zi zai 1400yuan yi xie de zhi gong you %irenn",k); printf("an ren yi jian to return"); y3=getchar(); if(y3!=' ') y3=getchar(); goto oo2; else if(y3='3') system("cls"
20、); goto tt; else system("cls"); goto oo2; else if(y='3')oo3: system("cls"); printf("1.age zai 30yi shangn2.age zai 30 yi xia n3.returnn"); printf("please shu ru select?"); y3=getchar(); if(y3='1') for(k=0,i=0;i<10;i+) if(nianlini>=30) k=k
21、+1; if(nianlini=0) yy5=yy5+1; if(yy5=10) printf("shu ju shang wei lu ru ,qing lu ru shu ju!n"); else printf("age zai 30 yi shang de yuan gong %irenn",k); printf("an ren yi jian to continue "); y4=getchar(); if(y4!=' ') y4=getchar(); goto oo3; else if(y3='2
22、39;) k=0;yy5=0; for(i=0;i<10;i+) if(nianlini<=30&&nianlini!=0) k=k+1; if(nianlini=0) yy5=yy5+1; if(yy5=10) printf("shu ju shang wei shu ru,please shu ru shu ju!n"); else if(yy5<10) printf("age zai 30yi xia de zhi gong%irenn",k); printf("an ren yi jian to con
23、tinue"); y4=getchar(); if(y4!=' ') y4=getchar(); goto oo3; else if(y3='3') system("cls"); goto tt; else goto oo3; else if(y='4')return;elsegoto tt;void shuchu()int i;system("cls");printf("yuan gong hao name sex age zhe cou shu er jiang ji shu ern
24、");for(i=0;i<10;i+)printf(" %i %s ",yghi,xingmingi);if(xingbiei0='m')|(xingbiei0='M')printf("male");else if(xingbiei0='f')|(xingbiei0='f')printf("female");elseprintf("no");printf(" %i %i %i n",nianlini,koukuani
25、,jiangjini);printf("an ren yi jian fan hui zhu cai dan!");getch();system("cls");return;4、 修改数据在修改数据操作中,系统会提示3次修改,更好的保护了职工信息void xiugai() /*修改*/int xg;int xygh,xxingbie,xnianlin,xkoukuan,xjiangjin;char y5;int sss=0,css=0,uss=3;char xxx15='1','2','3','4&
26、#39;,'5'char yyyy15,kkk;aaa:system("cls");printf("nnnnnnnnnnnnttt shu ru ci shu wei three times!");printf("nttt shu ru wan an ren yi jian jie su!");printf("ntttt please enter the password:");for(sss=0;sss<5;sss+)yyyy0sss=getch();if(yyyy0sss>='
27、;0')&&(yyyy0sss<='9')printf("*");elsegoto bbb;kk=getch();bbb:for(sss=0;sss<5;sss+)if(xxx0sss!=yyyy0sss)css+; if(css>=3) printf("nnnttt Sorry! You cant modify the data!"); getch(); system("cls"); return; printf("nnnttt the password is wr
28、ong please try again!"); printf("nttt you have%ici chance!",-uss); getch();system("cls"); goto aaa;qq1:system("cls"); printf("shu ru yao xiu gai de ji lu haoshu ju lu ru shun xu1-10/?"); scanf("%i",&xg); xg=xg-1; printf("name:%sn",
29、xingmingxg); printf("t yuan ji luttxin ji lun"); printf("yuang gong haot %ittt",yghxg); scanf("%i",&xygh); yghxg=xygh;printf("sext %sttt",xingbiexg); scanf("%s",&xxingbie); xingbiexg0=xxingbie;printf("aget %ittt",nianlinxg); scanf(&
30、quot;%i",&xnianlin); nianlinxg=xnianlin; printf("discountt %ittt",koukuanxg); scanf("%i",&xkoukuan); koukuanxg=xkoukuan; printf("jiang jint %ittt",jiangjinxg); scanf("%i",&xjiangjin); jiangjinxg=xjiangjin;qq2:printf("continue to modifyY/N
31、?"); y5=getch(); if(y5='Y'|y5='y') goto qq1; else if(y5='N'|y5='n') system("cls"); return; else system("cls"); goto qq2; 第五章 测试与调试1、开始页面如图5-1所示 图5-12、主模版页面如图5-2所示图5-23、数据录入页面如图5-3所示图5-34、工资计算页面如图5-4所示 图5-45、查询统计页面如图5-5所示图5-56、查看所有记录页面如图5-6所示 图
32、5-67、修改数据页面如图5-7所示图5-7第六章 心得与体会通过本次论文设计,我初步学会了论文设计的基本方法,学会了如何去查找资料和处理这些资料的能力,由于所学的知识不多,自己的编程经验不足,仍存在一些错误,按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有
33、了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。回顾起此次课程设计,我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得
34、不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识熟悉了,本次课程设计结束了,我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我们知道自己哪些方面做得还不够。这不仅是程序设计,更是锻炼我们处理问题的能力,同时也使我们了解到团队合作的可贵.编写程序是件细心活,稍不留神就会出错,这就必须要求我们对待事情要认真!在编写程序的过程中,错误不断出现,不同的类型(如少写了一个符号,写错了字母,用错了函数等等)层出不穷,这考验我们待事细心,耐心,能不能坚持到底,不能半途而废。但我们总结出了一点点的经验如下:1、要对系统的功能和要求做出详细的分析,
35、并合理分解任务。2、把分解出来的子任务,做给一个相对独立的模块。3、在设计一个模块之前,要简单构想一下总界面的显视情况。4、针对构想出来的界面进行程序的编写。附录源代码#include"stdio.h"#include"string.h"void shuchu(void);void shuju(void),jisuan(void),chaxun(void);void tuichu(void),xiugai(void);int s=0,cs=0,us=3;char x16='1','2','3','4
36、','5','6'char yyy16,kk;char y1,y; /*选择*/char n;int i,j,k=0,l,jb=1000; /*变量定义:n选择 i,j 循环变量 l 选项*/int sum10,koukuan10,jiangjin10,nianlin10,ygh10; /* 数据录入*/char *xingming10="wang kai","bai yong","xiao you","sun ling","yuan wei","
37、;guo yang","zhou xin","lin xian","ma liang","zhan xue"char xingbie101;main()aa:system("cls");printf("nnnnnnnnnnnntt huan ying jin ru");printf("nttt zhi gong cha xun xi tong!");for(s=0;s<6;s+)yyy0s=getch();if(yyy0s>='
38、;0')&&(yyy0s<='9')|(yyy0s>='a')&&(yyy0s<='z')|(yyy0s>='A')&&(yyy0s<='Z')printf("*");elsegoto jm;jm:printf(" nt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf(" t*t
39、* * *n");printf(" t*t * the system of gong zi management * *n");printf(" t*t * * *n");printf(" t*t * * * * * * * * * * * * * * * * * * * * * *n");printf(" t*t * * * * * * * * * * * * * * * *n");printf(" t*t * * *n");printf(" t*t * 1.shu ju
40、lu ru * *n");printf(" t*t * * *n");printf(" t*t * 2.gong zi ji suan * *n");printf(" t*t * * *n");printf(" t*t * 3.cha xun xi tong * *n");printf(" t*t * * *n");printf(" t*t * * *n");printf(" t*t * * *n");printf(" t*t * 4.
41、cha kan suo you ji lu * *n");printf(" t*t * * *n");printf(" t*t * 5.xiu gai shu ju * *n");printf(" t*t * * *n");printf(" t*t * 6.leave the system * *n");printf(" t*t * * *n");printf(" t*t * * * * * * * * * * * * * * * *n");printf("
42、; t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * n");printf(" t maker:que pann");printf("ttttpleae enter1-6/?");scanf("%c",&n);if (n='1')/*录入*/ system("cls"); shuju(); goto jm; else if(n='2')/*计算*/ system("cls&
43、quot;); jisuan(); goto jm; else if(n='3')/*查询统计*/system("cls");chaxun();goto jm;else if(n='4')/*输出所有记录*/system("cls");shuchu();goto jm;else if(n='5')/*修改*/system("cls");xiugai();goto jm;else if(n='6')/*退出*/oo: system("cls"); for
44、(i=1;i<13;i+) printf("n"); for(i=1;i<14;i+) printf("t"); printf(" are you sure to quizY/N?"); y1=getchar(); if(y1='y'|y1='Y') system("cls"); printf("nnnnnnnnnnnnnttttthank you for use it !"); getch(); system("cls"); ex
45、it(0); else if(y1='n'|y1='N') system("cls"); goto jm; else goto oo; elsesystem("cls");goto jm;void shuju() /*数据录入*/ int i,j; char kk; for(i=0;i<10;i+) printf("n%s record:",xingmingi); printf("nn"); printf("the number of worker"); s
46、canf("%i",&yghi); printf("sex (male(M)/female(F)"); scanf("%s",&xingbiei0); printf("age"); scanf("%i",&nianlini); printf("kou kuan shu er"); scanf("%i",&koukuani); printf("jiang jin"); scanf("%i"
47、;,&jiangjini); printf("nn");ks:printf("shi fou ji xu shu ru(Y/N)?"); kk=getch(); if(kk='Y')|(kk='y') continue; else if(kk='N')|(kk='n') printf("nnnnnnnnnnttttenter finish!n"); printf("an ren yi jian return the main cai dan !"
48、;); getch(); break; else printf(" enter wrong , please enter again!"); getch(); system("cls"); goto ks; system("cls");void jisuan() /*工资计算*/system("cls");printf("ttt");for(i=1;i<15;i+)printf("*");printf("n");printf("ttt*tt
49、t *n");printf("ttt*t gong zi biaot *n");printf("ttt*t t *n");printf("ttt");for(i=1;i<15;i+)printf("*");printf("nntttnametttgong zi n");printf("ttt");for(i=1;i<15;i+)printf("*");printf("n");for(i=0;i<10;i+)s
50、umi=jb+jiangjini-koukuani;printf("ttt%sttt%in",*(xingming+i),sumi);printf("an ren yi jian fan hui zhu cai dan");y1=getchar();if(y1!=' ')y1=getchar();return;void chaxun() /*查询统计*/char y,y2,y3,y4,yy5=0;tt:system("cls");printf("1.an xing bie tong jin");pr
51、intf("2.an gong zi shu er tong jin");printf("3.an nian ling tong jin");printf("4.return the main cai dann");printf("qiang shu ru xuan ze1-4?");y=getchar();if(y='1')oo1: system("cls"); printf("1.malen2.femalen3.returnn"); printf(&quo
52、t;please select?"); y2=getchar(); if(y2='1') for(k=0,i=0;i<10;i+) if(xingbiei0='m')|(xingbiei0='M') k+; printf("male worker%irenn",k); printf("an ren yi jian return/?"); y2=getch(); goto oo1; else if(y2='2') for(k=0,i=0;i<10;i+) if(xingb
53、ie0i='f'|xingbiei0='F') k=k+1; printf("female worker%irenn",k); printf("an ren yi jian to return"); y2=getch(); goto oo1; else if(y2='3') system("cls"); goto tt; else system("cls"); goto oo1; else if(y='2')oo2: system("cls"); p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 原料收购等级划分与定价标准
- 职业健康监护监督管理实施细则
- 高尿酸血症饮食管理实施方案
- 茄果类蔬菜集约化育苗方案
- 蔬菜采后冷链物流配送管理制度
- 中医脉象诊断服务评估规范
- 生产装置重大危险源管控细则
- 涉氨制冷系统泄漏应急预案
- 肉鸭生态养殖技术操作规范
- 排污许可自行监测实施管理办法
- 高考考务人员培训系统考试试题答案
- 2026上海市大数据中心招聘10名笔试参考题库及答案解析
- 四川省达州市(2026年)辅警招聘公安基础知识考试题库及答案
- (二模)青岛市2026年高三年级第二次适应性检测语文试题(含答案)
- 15 青春之光 课件(共23张)
- 国药集团2026届春季校园招聘笔试历年备考题库附带答案详解
- 产科孕产期管理诊疗常规
- 2026年北京市丰台区初三下学期一模道德与法治试卷和答案
- 《AQ3067-2026化工和危险化学品重大生产安全事故隐患判定准则》解读
- 2026湖北三支一扶试卷真题
- 安全度汛参建单位责任书(水库工程)
评论
0/150
提交评论