1、c语言程序设计职工管理系统C语言程序课程设计报告设计题目: 职工管理系统 专 业: 信息工程 班 级: 学生姓名: 学 号: 指导教师: 2012年6月信息工程学院 摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。对企业而言,人力资源是企业最宝贵的资源。随着当今企业人员数量的不断增加,对职工的管理要求也不断提高。实现职工管理现代化将带来高效的企业管理。这个职工管理系统就是用c语言写的一个程序,它实现了职工管理的功能
2、,包括数据录入,工资计算,查询统计修改数据的功能。该程序是用简单的,比较常见的函数组成的,通过for循环和goto函数调用来完成该程序。,本系统具有良好的用户界面,操作简单?使用方便,信息查询?统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来。这一切旨在学历并练习c语言的开发实践,对于以后的开发与编程提供一个良好的基础关键字: 职工管理 工资查询 应用程序 数据修改 程序设计和技巧 新型科学 第一章 绪论选题背景随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。在各企业公司职工工资管理中,运用C语言程序,避免了手工操作而带来的一些不必要的问题。设计
3、目的 通过本项课程设计,可以培养独立思考、 综合运用所学有关相应知识的能力,能更好的巩固C语言程序设计课程学习的内容,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性! 通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。第二章 系统分析 功能需求职工管理系统的功能:1、职工数据录入2、工资
4、计算3、查询统计4、查看所有记录5、修改数据此项目主要考察我们对for循环,以及函数调用等C语言算法的掌握。如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。菜单中的每一个选项都对应一个子程序。 模块的划分与定义系统各模块(函数)的组成。功能、参数说明、相互调用关系主函数 main()。利用goto实现各函数的调用,此程序主要应用的是for循环语句,及函数的调用。1) 输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisuan()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxu
5、n() 这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、工资等统计4)修改数据函数void xiugai() 这是一个不返回值的有参函数,有权限的修改职工数据第三章 总体设计与详细设计 总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。系统结构框图如下: 详细设计本职工管理系统由如下模块组成:1、主模块功能:显示系统菜单2、数据录入 功
6、能:记录职工姓名、性别、工号、奖金、扣款等。3、工资计算功能:工资=基本工资+奖金-扣款 。4、查询统计、功能:按性别、年龄、工资统计。5、查看所有记录功能:清晰的了解员工信息6、数据修改功能:有限制的修改员工信息,有效的保护了职工信息 。 7、退出 功能:退出该系统。第四章 编码实现1、系统各模块(函数)的组成。功能、参数说明、相互调用关系#include#include1)、main() 主函数利用for循环以及goto来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2) 输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisua
7、n()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxun() 这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、 工资等统计4)修改数据函数void xiugai()这是一个不返回值的有参函数,有权限的修改职工数据各功能模块的算法处理相关说明1、主函数 main()2、输入记录函数void shuju()3、计算工资函数void jisuan()4、查询统计函数void chaxun()5、修改数据函数void xiugai()1、 数据录入当执行此数据录入任务时,系统会提示用户,即按姓名、工号、性别、年龄、扣款数额、等录入数据
8、void shuju() /*数据录入*/ int i,j; char kk; for(i=0;i10;i+) printf(n%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); scanf(%i,&koukuani); printf(jiang jin); sc
9、anf(%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(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)
10、; goto ks; system(cls);2 、 工资计算在计算操作中,系统会按要求计算工资,工资=基本工资+奖金-扣款。void jisuan() /*工资计算*/system(cls);printf(ttt);for(i=1;i15;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;i15;i+)printf(*);printf(nntttnametttgong zi n);printf(ttt);for(i=1;
11、i15;i+)printf(*);printf(n);for(i=0;i10;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!= )y1=getchar();return;3、 查询统计在查询统计操作中,系统按性别、工资、年龄进行统计 void chaxun() /*查询统计*/char y,y2,y3,y4,yy5=0;tt:system(cls);printf( xing bie
12、 tong jin);printf( gong zi shu er tong jin);printf( nian ling tong jin);printf( the main cai dann);printf(qiang shu ru xuan ze1-4);y=getchar();if(y=1)oo1: system(cls); printf(n); printf(please select); y2=getchar(); if(y2=1) for(k=0,i=0;i10;i+) if(xingbiei0=m)|(xingbiei0=M) k+; printf(male worker%ir
13、enn,k); printf(an ren yi jian return/); y2=getch(); goto oo1; else if(y2=2) for(k=0,i=0;i10;i+) if(xingbie0i=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: s
14、ystem(cls); printf( zi zai 1400yuan yi shang zi zai 1400yuan ni xian); printf(please enter select1-3/); y3=getchar(); if(y3=1) for(k=0,i=0;i=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(
15、y3=2) for(k=0,i=0;i10;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); goto tt; else system(cls); goto oo2; else if(y=3)oo3: system(cls);
16、printf( zai 30yi shang zai 30 yi xia n); printf(please shu ru select); y3=getchar(); if(y3=1) for(k=0,i=0;i=30) k=k+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 )
17、; y4=getchar(); if(y4!= ) y4=getchar(); goto oo3; else if(y3=2) k=0;yy5=0; for(i=0;i10;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(yy510) printf(age zai 30yi xia de zhi gong%irenn,k); printf(an ren yi jia
18、n to continue); 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);for(i=0;i10;i+)printf( %i %s ,yghi,xingmingi);if(xingbie
19、i0=m)|(xingbiei0=M)printf(male);else if(xingbiei0=f)|(xingbiei0=f)printf(female);elseprintf(no);printf( %i %i %i n,nianlini,koukuani,jiangjini);printf(an ren yi jian fan hui zhu cai dan!);getch();system(cls);return;4、 修改数据在修改数据操作中,系统会提示3次修改,更好的保护了职工信息void xiugai() /*修改*/int xg;int xygh,xxingbie,xnia
20、nlin,xkoukuan,xjiangjin;char y5;int sss=0,css=0,uss=3;char xxx15=1,2,3,4,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=0)&(yyyy0sss=9)printf(*);elsegoto bb
21、b;kk=getch();bbb:for(sss=0;sss=3) printf(nnnttt Sorry! You cant modify the data!); getch(); system(cls); return; printf(nnnttt the password is wrong 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
22、 lu ru shun xu1-10/); scanf(%i,&xg); xg=xg-1; printf(name:%sn,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(%i,&xnianlin); nian
23、linxg=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); y5=getch(); if(y5=Y|y5=y) goto qq1; else if(y5=N|y5=n) system(cls); return; else system(cls);
24、 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所示 图5-67、修改数据页面如图5-7所示图5-7第六章 心得与体会通过本次论文设计,我初步学会了论文设计的基本方法,学会了如何去查找资料和处理这些资料的能力,由于所学的知识不多,自己的编程经验不足,仍存在一些错误,按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!本课题中的许多知识点都没有学过都要靠自己到课外
25、的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。回顾起此次课程设计,我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所
26、学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识熟悉了,本次课程设计结束了,我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我们知道自己哪些方面做得还不够。这不仅是程序设计,更是锻炼我们处理问题的能力,同时也使我们了解到团队合作的可贵.编写程序是件细心活,稍不留神就会出错,这就必须要求我们对待事情要认真!在编写程序的过程中,错误不断出现,不同的类型(如少写了一个符号,写错了字母,用错了函数等等)层出不穷,这考验我们待事细心,耐心,能不能坚持到底,不能半途而废。但我们总结出了一点点的经验如下: 1、要对系统的功能和要求做出详细的分析,并合理分解任务。2、把分解出来的子任务,做给一个相对独立的模块。3、在设计一个模块之前,要简单构想一下总界面的显视情况。4、针对构想出来的界面进行程序的编写。附录源代码#include#include
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1