当前位置:文档之家› c语言程序设计职工管理系统

c语言程序设计职工管理系统

c语言程序设计职工管理系统
c语言程序设计职工管理系统

《C语言程序》课程设计报告

设计题目:职工管理系统

专业:信息工程

班级:

学生姓名:

学号:

指导教师:

2012年6月

信息工程学院

摘要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

对企业而言,人力资源是企业最宝贵的资源。随着当今企业人员数量的不断增加,对职工的管理要求也不断提高。实现职工管理现代化将带来高效的企业管理。

这个职工管理系统就是用c语言写的一个程序,它实现了职工管理的功能,包括数据录入,工资计算,查询统计修改数据的功能。该程序是用简单的,比较常见的函数组成的,通过for循环和goto函数调用来完成该程序。,本系统具有良好的用户界面,操作简单?使用方便,信息查询?统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来。这一切旨在学历并练习c语言的开发实践,对于以后的开发与编程提供一个良好的基础

关键字:职工管理工资查询应用程序

数据修改程序设计和技巧新型科学

目录

摘要................................ 错误!未定义书签。第一章绪论 .......................... 错误!未定义书签。

选题背景 ............................. 错误!未定义书签。

设计目的 ............................. 错误!未定义书签。第二章系统分析 ...................... 错误!未定义书签。

功能需求 ............................ 错误!未定义书签。

模块的划分与定义.................... 错误!未定义书签。第三章总体设计与详细设计 ............ 错误!未定义书签。

总体设计 ............................ 错误!未定义书签。

详细设计 ............................ 错误!未定义书签。第四章编码实现 ...................... 错误!未定义书签。第五章测试与调试 ................... 错误!未定义书签。第六章心得与体会 ................... 错误!未定义书签。附录.................................. 错误!未定义书签。

源代码 ............................... 错误!未定义书签。

参考文献: ........................... 错误!未定义书签。

第一章绪论

选题背景

随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。在各企业公司职工工资管理中,运用C语言程序,避免了手工操作而带来的一些不必要的问题。

设计目的

通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!

通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。

第二章系统分析

功能需求

职工管理系统的功能:

1、职工数据录入

2、工资计算

3、查询统计

4、查看所有记录

5、修改数据

此项目主要考察我们对for循环,以及函数调用等C语言算法的掌握。如何调试程序也非常重要,通过这个程序可学到以前调试程序

没有的经验。菜单中的每一个选项都对应一个子程序。

模块的划分与定义

系统各模块(函数)的组成。功能、参数说明、相互调用关系主函数 main()。

利用goto实现各函数的调用,此程序主要应用的是for循环语句,及函数的调用。

1)输入记录函数void shuju()

这是一个无参函数,用来职工数据录入

2)计算工资函数void jisuan()

这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款

3)查询统计函数void chaxun()

这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、工资等统计

4)修改数据函数void xiugai()

这是一个不返回值的有参函数,有权限的修改职工数据

第三章总体设计与详细设计

总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

系统结构框图如下:

详细设计

本职工管理系统由如下模块组成:

1、主模块

功能:显示系统菜单

2、数据录入

功能:记录职工姓名、性别、工号、奖金、扣款等。

3、工资计算

功能:工资=基本工资+奖金-扣款。

4、查询统计、

功能:按性别、年龄、工资统计。

5、查看所有记录

功能:清晰的了解员工信息

6、数据修改

功能:有限制的修改员工信息,有效的保护了职工信息。

7、退出

功能:退出该系统。

第四章编码实现

1、系统各模块(函数)的组成。功能、参数说明、相互调用关系

#include""

#include""

1)、main()

主函数利用for循环以及goto来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

2)输入记录函数void shuju()

这是一个无参函数,用来职工数据录入

2)计算工资函数void jisuan()

这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款

3)查询统计函数void chaxun()

这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、

工资等统计

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%s record:",xingming[i]); printf("\n\n");

printf("the number of worker");

scanf("%i",&ygh[i]);

printf("sex (male(M)/female(F))"); scanf("%s",&xingbie[i][0]);

printf("age");

scanf("%i",&nianlin[i]);

printf("kou kuan shu er");

scanf("%i",&koukuan[i]);

printf("jiang jin");

scanf("%i",&jiangjin[i]);

printf("\n\n");

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("n\n\n\n\n\n\n\n\n\n\t\t\t\tenter 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() /*工资计算*/

{

system("cls");

printf("\t\t\t");

for(i=1;i<15;i++)

printf("**");

printf("\n");

printf("\t\t\t*\t\t\t *\n");

printf("\t\t\t*\t gong zi biao\t *\n");

printf("\t\t\t*\t \t *\n");

printf("\t\t\t");

for(i=1;i<15;i++)

printf("**");

printf("\n\n\t\t\tname\t\t\tgong zi \n");

printf("\t\t\t");

for(i=1;i<15;i++)

printf("**");

printf("\n");

for(i=0;i<10;i++)

{

sum[i]=jb+jiangjin[i]-koukuan[i];

printf("\t\t\t%s\t\t\t%i\n",*(xingming+i),sum[i]); }

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 tong ji\n");

printf(" gong zi shu er tong ji\n");

printf(" nian ling tong ji\n");

printf(" the main cai dan\n");

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;i<10;i++)

{

if((xingbie[i][0]=='m')||(xingbie[i][0]=='M')) k++;

}

printf("male worker%iren\n",k);

printf("an ren yi jian return/");

y2=getch();

goto oo1;

}

else if(y2=='2')

{

for(k=0,i=0;i<10;i++)

{

if(xingbie[0][i]=='f'||xingbie[i][0]=='F') k=k+1;

}

printf("female worker%iren\n",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");

printf(" zi zai 1400yuan yi shang\ zi zai 1400yuan ni xia\\n"); printf("please enter select1--3/");

y3=getchar();

if(y3=='1')

{

for(k=0,i=0;i<10;i++)

{

if((jb+jiangjin[i]-koukuan[i])>=1400)

k=k+1;

}

printf("gong zi zai 1400yuan yi shang de you %i ren\n",k); printf("an ren yi jian continue/");

y3=getchar();

if(y3!=' ')

{

y3=getchar();

goto oo2;

}

}

else if(y3=='2')

相关主题
文本预览
相关文档 最新文档