C语言程序设计报告职工工资管理系统docx.docx

上传人:b****6 文档编号:16625654 上传时间:2023-07-15 格式:DOCX 页数:68 大小:66.98KB
下载 相关 举报
C语言程序设计报告职工工资管理系统docx.docx_第1页
第1页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第2页
第2页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第3页
第3页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第4页
第4页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第5页
第5页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第6页
第6页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第7页
第7页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第8页
第8页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第9页
第9页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第10页
第10页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第11页
第11页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第12页
第12页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第13页
第13页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第14页
第14页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第15页
第15页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第16页
第16页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第17页
第17页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第18页
第18页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第19页
第19页 / 共68页
C语言程序设计报告职工工资管理系统docx.docx_第20页
第20页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计报告职工工资管理系统docx.docx

《C语言程序设计报告职工工资管理系统docx.docx》由会员分享,可在线阅读,更多相关《C语言程序设计报告职工工资管理系统docx.docx(68页珍藏版)》请在冰点文库上搜索。

C语言程序设计报告职工工资管理系统docx.docx

C语言程序设计报告职工工资管理系统docx

.

 

C语言程序设计报告

 

课程名称:

C语言程序设计

 

院系:

管理与经济学院

专业班级:

工业工程2012142班

学号:

201214217

 

学生姓名:

海蛟

指导教师:

雪青

完成时间:

2013-06-20

 

报告成绩:

 

.

.

 

1

--------------------------------------------------------------------------

2

 

2、设计要求(包括设计容描述)--------------------------------------------2

 

3

-----------------------------------------------------------------

3

 

4

--------------------------------------------------------------------------

3

 

5

--------------------------------------------------------------------------

4

 

5.1

----------------------------------------------------------------------

4

 

word专业资料

.

 

5.2

-------------------------------------------------------------------

4

 

5.3

----------------------------------------------------------------------

6

 

6、实验调试结果(附运行效果图)--------------------------------------------36

 

7、设计中的问题及解决方法-----------------------------------------------------39

 

8

--------------------------------------------------------------------------

40

 

9

--------------------------------------------------------------------------

41

 

word专业资料

.

 

职工工资管理系统的设计与实现

 

1.设计题目

 

题目:

工资管理系统

工资管理系统是企业不可缺少的一部分,它利用计算机对员工工资进行统一管理,实现工资管理系统的

 

系统化、规化和自动化,为企业提高工作效率。

本程序旨在训练读者的基本编程能力,了解管理信息系统

的开发流程,熟悉C语言的文件和结构数组的各种基本操作。

本程序中涉及结构体、数组、文件等方面的

 

知识。

 

2.设计要求

 

1、启动软件时,进行密码校验。

若出错三次,则自动退出系统。

 

2、实现简易的提示菜单界面,刚运行时应显示版本信息。

用所学的知识尽量实现良好的、

 

美观的“人机界面”,便于软件的操作使用。

 

3、要求把所有录入的数据以文件的形式,保存在硬盘上。

 

4、系统包含以下基本功能:

登陆功能、显示主菜单功能、职工信息输入信息输出、职工信息查询、职

 

工信息修改、工资排序、工资统计、导出数据、导入数据、退出等。

5、职工信息输入信息输出要求一个职工的基本信息(编号、姓名、基本工资)的录入,以文件形式保存

 

——输入。

6、职工工资表浏览工资功能——输出。

7、计算职工的工资(输入基本工资、扣款、奖金后,马上算出应发工资、税金、实发工资、总工资)。

8、查询、排序功能——算法。

 

1)按编号查询、排序。

2)按姓名查询。

 

word专业资料

.

 

3)按工资排序。

4)基本信息的删除与修改(可选项)。

 

3.设计作用与目的

 

1、通次,巩固和加深所学相关知点的理解。

 

2、一步熟悉基本流程控制构——分支的if⋯else句、switch句和循

 

的for、while⋯、do⋯while句、break、continue等。

 

3、基本数据型、数、构体、自定、函数的用。

 

4、加模化程序和面向象程序的理解。

 

5、掌握C言程序的基本思想,了解的系分析和

 

6、了解数据系的理

 

7、掌握数据的基本方法,熟悉数据的步;

 

8、学基本数据程方法。

 

9、一步巩固、加深学生所学程《C言程序》的基本理知,理系

 

,一步培养学生合分析,解决的能力。

 

10全面考核学生所掌握的基本理知及其能力,从而达到提高学生素的最

 

目的。

 

11利用所学知,开小型用系,掌握运用C言写用系程序,独立

 

开用系,行数据理的合能力。

 

12于定的目,如何行分析,理清思路,并出相的数学模型。

 

13掌握面向象的程序方法。

 

14一步掌握在集成境下如何程序(步,置断点、察表达式,分)、

 

word专业资料

.

 

修改程序和程序的测试。

 

4.运行环境及工具软件

 

WindowsXP;

 

VisualC++6.0(完整绿色版);

 

5.系统设计

 

5.1程序逻辑图

 

职工工资管理系统

 

职询职

退

 

图1:

系统结构框图

 

word专业资料

.

 

5.2程序流程图

 

开始

 

系统登录

 

主页面

 

初始化双链表

选择操作

 

选择1

 

选择2

 

选择3

 

录入职工工资

 

修改职工工资

 

查询职工工资

 

word专业资料

 

选择4

.

 

浏览职工工资

 

选择5

删除职工工资

 

选择6

删插入职工工资

按编号删除

 

选择7职工工资排序

 

选择8

 

保存职工工资

 

安全退出系统

选择9

 

结束

 

6.源程序代码

#include//

标准输入输出

#include//

处理杂乱

#include//Sleep()

#include//

字符串操作

#include//

系统输入输出

#include//

时间相关

/**********************

下面是对用到的全局常量声明*************************/

#defineNAME10//

职工职工姓名长度

 

word专业资料

.

 

#definePASSWORD"123"//系统登陆密码

intshuru=0;//全局变量标记当前录入职工个数

FILE*fp;//声明一个文件指针

/**************************

结构体定义************************************/

structperson{//

职工工资的结构体

charname[NAME];//

职工职工姓名

intnum;//

职工编号

floatpaid;//

职工基本工资

floatdiscount;//

扣款

floatextra;//

奖金

floatfare;//

税金

floatgotpaid;//

应发工资

floatrealpaid;//

实发工资

floatsum;//

总工资

}*pp;//

声明一个结构指针

/**********************

下面是对用到的函数声明*****************************/

voidPassword();//

密码验证函数

voidSave(structpersonper[]);//

保存信息函数

voidInputper(structpersonper[]);//

录入信息函数

voidDelper(structpersonper[]);//

删除信息函数

voidModifyper(structpersonper[]);//

修改信息函数

voidFindper(structpersonper[]);//

查找信息函数

voidInsertper(structpersonper[]);//

插入信息函数

voidSortper(structpersonper[]);//

排序函数

voidListper(structpersonper[]);//

显示职工信息

voidfare(structpersonper[],intn);//

计算税金函数

voidMenu();

voidHelp();

//**************************

程序主体**************************************

voidmain()//

程序入口

{

system("color027");//设置当前窗口的背景色和前景色

Password();//调用密码验函数

Help();//调用系统信息函数

Menu();//调用菜单函数

}

voidInputper(structpersonper[])//录入职工工资函数原形

{

pp=per;//指针指向结构

system("cls");//清屏

inti;

printf("请问你要输入几个职工的信息:

");

scanf("%d",&shuru);

if((fp=fopen("inputdata","wb+"))==NULL)//当前目录下是否存在INPUTDATA文件

 

word专业资料

.

 

{//"wb+":

读写打开或建立一个二进制文件,允许读和写

printf("Cannotopenfilestrikeanykeyexit!

");

getch();

exit

(1);

}

fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工作总工资\n");

for(i=0;i

{

printf("输入职工编号:

");//输入职工编号

fflush(stdin);

scanf("%d",&per[i].num);

printf("输入职工姓名:

");//输入职工姓名

fflush(stdin);

gets(per[i].name);

printf("输入职工的工资信息\n");

printf("------------------------------\n");

printf("\n基本工资:

");//基本工资

fflush(stdin);

scanf("%f",&per[i].paid);

 

printf("\n扣款:

");//扣款

fflush(stdin);

 

scanf("%f",&per[i].discount);

printf("\n奖金:

");//奖金

fflush(stdin);

scanf("%f",&per[i].extra);

printf("\n税金:

");//税金

printf("------------------------------\n");

per[i].sum=per[i].paid-per[i].discount+per[i].extra;

per[i].realpaid=per[i].paid-per[i].discount;

fprintf(fp,"%6d%8s%5.1f\t%5.1f\t%3.1f\t%5.1f\t%4.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);}

}

voidModifyper(structpersonper[])

{

pp=per;

intid,i=0;//id为接收用户输入的职工编号

if((fp=fopen("modifydata.sys","wb+"))==NULL)

{

printf("Cannotopenfilestrikeanykeyexit!

");

getch();

exit

(1);

 

word专业资料

.

 

}

fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");

printf("\n请输入你要修改的职工的编号:

");

scanf("%d",&id);

Sleep(500);

printf("\n\t查找相关数据.");

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

{

Sleep(250);

printf(".");

}

for(i=0;i

{

if(per[i].num==id)//如果找到了就执行下面语句,找不到直接回主界面

{

printf("\n输入新职工编号:

");//输入职工编号

fflush(stdin);

scanf("%d",&per[i].num);

printf("\n输入新职工姓名:

");//输入职工姓名

fflush(stdin);

gets(per[i].name);

printf("输入职工的工资信息\n");

printf("------------------------------\n");

printf("\n基本工资:

");

scanf("%f",&per[i].paid);

fflush(stdin);

printf("\n扣款:

");

scanf("%f",&per[i].discount);

fflush(stdin);

printf("\n奖金:

");

scanf("%f",&per[i].extra);

printf("------------------------------\n");

per[i].sum=per[i].paid-per[i].discount+per[i].extra;

per[i].realpaid=per[i].paid-per[i].discount;

fprintf(fp,"%6d%8s%5.1f\t%5.1f\t%3.1f\t%5.1f\t%4.1f\t\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].realpaid,per[i].sum);

}

}

}

 

voidFindper(structpersonper[])//查询职工工资信息

{

inti=0,j=0,id;//循环变量和用于接收职工编号

 

word专业资料

.

 

printf("请输入你要查询的职工编号:

");

scanf("%d",&id);

for(i=0;i

{

if(per[i].num==id)//如果找到你查询的数据就执行下面语句

{//如果找不到。

直接回程序主界%per[i].sum=per[i].paid-per[i].discount+per[i].extra;

per[i].realpaid=per[i].paid-per[i].discount;

printf("\n职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");

printf("\n%6d%8s%5.1f\t%5.1f\t%3.1f\t%5.1f\t%5.1f\t%5.1f\t%4.1f\t

\n\n",per[i].num,per[i].name,per[i].paid,per[i].discount,per[i].extra,per[i].gotpaid,per[i].

fare,per[i].realpaid,per[i].sum);

system("pause");

}

}

}

 

voidInsertper(structpersonper[])//插入职工工资信息

{

intflag=1;

pp=per;

inti,id;

if((fp=fopen("insertdata.sys","wb+"))==NULL)

{

printf("Cannotopenfilestrikeanykeyexit!

");

getch();

exit

(1);

}

fprintf(fp,"职工编号职工姓名基本工资扣款奖金应发工资税金实发工资总工资\n");

printf("输入你插入的职工编号:

");

scanf("%d",&id);

for(i=0;i

{

if(per[i].num==id)//判断职工编号信息否存在?

{

printf("职工编号信息已经存在!

\n");

flag=0;

getch();

break;

}

}

if(flag!

=0)

{

shuru++;//插入一个,原来的总数增加1

 

word专业资料

.

 

printf("请确认输入要插入职工编号:

");

scanf("%d",&per[shuru-1].num);//如果不存在..那么就把插入的信息放到结构数组最后

printf("输入职工姓名:

");

fflush(stdin);

gets(per[shuru-1].name);

printf("输入职工的工资信息\n");

printf("------------------------------\n");

printf("\n基本工资:

");

fflush(stdin);

scanf("%f",&per[shuru-1].paid);

printf("\n扣款:

");

fflush(stdin);

scanf("%f",&per[shuru-1].discount);

printf("\n奖金:

");//奖金

fflush(stdin);

printf("\n税金:

");//税金

fflush(stdin);

printf("------------------------------\n");

per[i].sum=per[i].paid-per[i].discount+per[i].extra;

per[i].realpaid=per[i].paid-per[i].discount;

fprintf(fp,"%6d%8s%5.1f\t%5.1f\t%3.1f\t%5.1f\t%4.1f\t\n",per[shuru-1].num,per[shuru-1].name,per[shuru-1].paid,per[shuru-1].discount,per[shuru-1].extra,per[i].realpaid,per[shuru-1].sum);

Sleep(500);

printf("插入数据成功!

\n");

getch();

}

}

 

voidListper(structpersonper[])//浏览所有职工工

{

inti=0;

for(i=0;i

{per[i].gotpaid=per[i].paid-per[i].discount;

if(per[i].gotpaid<2000)

per[i].fare=0;

elseif(per[i].gotpaid>=2000&&per[i].gotpaid<4999)

per[i].fare=per[i].gotpaid*0.05;

elseif(per[i].gotpaid>=5000&&per[i].gotpaid<10000)

per[i].fare=per[i].gotpaid*0.1;

elseif(per[i].gotpaid>=10000&&per[i].gotpaid<99999)

per[i].fare=per[i].gotpaid*0.25;

elseif(per[i].gotpaid>=100000)

per[i].fare=per[i].gotpaid*0.3;

 

word专业资料

.

 

per[i].sum=per[i].paid-per[

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2