《职工工资管理系统设计》实验报告48页.docx

上传人:b****4 文档编号:871683 上传时间:2022-10-13 格式:DOCX 页数:43 大小:131.85KB
下载 相关 举报
《职工工资管理系统设计》实验报告48页.docx_第1页
第1页 / 共43页
《职工工资管理系统设计》实验报告48页.docx_第2页
第2页 / 共43页
《职工工资管理系统设计》实验报告48页.docx_第3页
第3页 / 共43页
《职工工资管理系统设计》实验报告48页.docx_第4页
第4页 / 共43页
《职工工资管理系统设计》实验报告48页.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

《职工工资管理系统设计》实验报告48页.docx

《《职工工资管理系统设计》实验报告48页.docx》由会员分享,可在线阅读,更多相关《《职工工资管理系统设计》实验报告48页.docx(43页珍藏版)》请在冰豆网上搜索。

《职工工资管理系统设计》实验报告48页.docx

《职工工资管理系统设计》实验报告48页

内蒙古工业大学信息工程学院

 

实验报告

 

课程名称:

c语言

实验名称:

实验类型:

验证性□综合性√设计性□

实验室名称:

电西8楼

班级:

计12-2学号:

201220201042

姓名:

孙亚赛组别:

同组人:

勾涛付启恒成绩:

实验日期:

2013-3-3

1题目与要求3

2功能设计5

2.1算法设计5

2.2模块流程图7

3程序代码设计8

4C程序设计总结22

5结束语23

6源程序23

1题目与要求

程序设计的目的和要求

1.目的:

1)复习、巩固程序设计的基础知识,进一步加深对程序设计语言的理解和掌握;熟练使用函数、结构体、文件、数组、循环与选择、链表和指针等知识点,熟练应用C语言综合知识。

2)为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;

3)培养学生在项目开发中团队合作精神、创新意识及能力。

2.要求:

1)对系统进行功能模块分析、控制模块分析正确,符合题目要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

2)系统设计要实用、编程简练、功能全面、界面美观、操作使用便捷、程序运行稳定;

3)说明书、流程图要清晰;

4)记录设计情况(备查,也为编写设计说明书作好准备);

5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过,能正确运行;

6)设计上交内容:

设计报告一份(按格式书写);源程序一份(电子版,能编译成可执行文件并能正常运行。

每个班由班长负责收集并上交)。

题目:

职工工资管理系统

1)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

2)、输入功能:

职工信息的录入(包括从文件中导入职工信息数据),可以一次完成若干条记录的输入。

3)、浏览功能:

完成对全部职工信息的显示。

4)、查找功能:

完成按姓名查询职工的相关信息,并显示。

完成按号查询职工的相关信息,并显示。

5)、删除功能:

通过输入号完成对职工的信息进行删除。

6)、添加功能:

完成添加新职工的信息。

7)、修改功能:

通过输入号完成对职工的信息进行修改。

8)、计算功能:

计算职工的各项工资,并得出实发工资。

[个人收入所得税按现行税率计算]

9)、统计功能:

统计并输出符合指定条件的职工人数及其占总人数和百分比。

[如实发工资在5000元以上。

10)、保存功能:

可以将职工信息数据保存至指定的文件中。

11)、退出职工工资管理系统。

职工信息应至少包括以下数据:

号、姓名、基础工资、职务工资、住房公积金、个人收入所得税,水电费、实发工资。

1.1:

我实现的题目中的问题:

主菜单页面制作;

职工数据输入;

职工全部数据浏览;

按姓名、学号查找职工数据;

通过号对职工数据进行删除;

通过号对职工数据修改;

职工数据统计(将自己题目做完后完成了其它功能)。

1.2本系统涉及的知识点:

结构体、数组、循环、选择、函数调用、分支、指针、全局变量、文件读取、保存

1.3我实现的题目功能:

主菜单页面制作;

职工数据输入;

职工全部数据浏览;

按姓名、学号查找职工数据;

通过号对职工数据进行删除;

通过号对职工数据修改;

职工数据统计;

2功能设计

2.1算法设计

2.1.1进入主函数后执行函数,利用语句设计如图1所示的主菜单

请输入要执行的功能对应选项(1-10)

1.录入职工信息

2.浏览职工信息

3.添加职工信息

4.查询职工信息

5.删除职工信息

6.修改职工信息

7.员工实发工资

8.职工工资排序

9.职工工资统计

10.返回菜单

2.1.2选择1后录入职工信息,执行函数利用循环录入职工各项信息,输入完毕后将所有数据存入文件。

2.1.3输入2后浏览职工信息,执行函数,读取文件,利用循环将职工各项信息显示

2.1.4输入3后添加职工信息,执行函数,读取文件,输入添加人数,然后调用1函数,利用全局变量D自动将新添加的职工信息补充到已存职工信息后面(利用循环),保存至文件

2.1.5输入4后查找职工信息(利用语句,通过号和姓名查找),利用函数,读取存入到文件中的职工信息,选取相应的使用通过号(1函数)和姓名查找

(2)的函数对职工信息查找

2.1.6输入5后通过号删除职工信息,调用函数,读取文件,利用循环将与输入号相同的文件中的职工信息删除。

2.1.7输入6后通过输入号修改员工信息,调用函数,读取文件通过循环将所需各项信息修改

2.1.8输入7后统计员工工资,调取函数,将员工实发工资输出,其中实发工资在输入函数函数中利用选择和循环计算得出

2.1.9输入8后进行职工工资函数,调取函数,读取文件,利用循环将职工工资比较,进行排序

2.1.10输入9后进行职工工资统计,调取函数,将职工工资分为5000以上、3000-4000、2000-3000、2000以下四个档次,其中对数据的统计在输入函数函数中实现。

2.1.11输入10为返回函数,即调用函数返回主菜单

2.1.12输入11为写入对使用此系统的意见:

2.2模块流程图

3程序代码设计

{

;号码

[20];姓名

1;基础工资

2;职务工资

3;住房公积金

4;社保金

5;

}[10000];定义一个足够大的结构体数组

函数功能说明:

结构体数组,用来存放题目所需信息,定义10000个结构体是为了构建足够大的结构体使所有数据正常存取。

(n)输入函数

{

(n);声明一个保存函数

();声明一个菜单函数

0;

(0<)

{

("\n请输入职工号:

");

(""[i]);

("\n请输入姓名:

");

(""[i]);

("\n请输入基础工资:

");

(""[i]1);

("\n请输入职务工资:

");

(""[i]2);

("\n请输入住房公积金:

");

(""[i]3);

("\n请输入社保金额:

");

(""[i]4);

([i]1+[i]2-[i]3-[i]4>3500)

{

a;

b;

a=[i]1+[i]2-[i]3-[i]4-3500;

(a>1500<4500)

{

b=()(a*0.1-105);

[i]5=[i]1+[i]2-b;

}

(a>9000(a<45004500))

{

b=()(a*0.1-555);

[i]5=[i]1+[i]2-b;

}

}

[i]5=[i]1+[i]2;

}

(n);对结构体数据进行储存

();返回菜单

}

函数功能说明:

将职工信息存入文件,函数是保存函数,将录入的信息(职工的姓名、编号、基础工资、职务工资、住房公积金、社保金额)存入指定文件中,函数是主菜单函数,执行完输入函数后转入主菜单进行其他功能的进行。

此函数中通过循环将多个职工信息录入。

下面的语句是用来统计职工工资的,在此函数录入职工信息的同时将其信息统计。

()添加函数

{

1(n);

i;

("←请输入添加的人数→;");

("");

1(i);

}

函数功能说明:

此函数为添加函数,通过此函数输入要添加的人数,再转入1函数,添加职工信息。

1(n)添加函数

{

(n);

();

0;

(<)

{

("\n请输入职工号:

");

(""[i]);

("\n请输入姓名:

");

(""[i]);

("\n请输入基础工资:

");

(""[i]1);

("\n请输入职务工资:

");

(""[i]2);

("\n请输入住房公积金:

");

(""[i]3);

("\n请输入员工社保金额:

");

(""[i]4);

([i]1+[i]2-[i]3-[i]4>3500)

{

a;

b;

a=[i]1+[i]2-[i]3-[i]4-3500;

(a>1500<4500)

{

b=()(a*0.1-105);

[i]5=[i]1+[i]2-b;

}

(a>9000(a<45004500))

{

b=()(a*0.1-555);

[i]5=[i]1+[i]2-b;

}

}

[i]5=[i]1+[i]2;

}

(n);

();

}

函数功能说明:

此函数为添加函数,在原有职工信息的基础上再添加新的职工信息,定义一个全局变量D是原先输入的职工个数,此添加函数直接从D项开始录入新的职工信息,下面的语句是实发工资的计算,在录入职工信息的过程中将实发工资计算出来,实发工资的函数见下面的函数。

(n)保存函数(将结构体的数据储存到文件中)

{

*,*1;

i;

((("","")))

{

("\n");

;

}

(0<)

(([i](),1)1)

("\n");

D=i;

((1("","")))

{

("\n");

;

}

(,2,11)记录结构体数组的个数并经其储存到文件中

();

(1);

}

函数功能说明:

此函数为保存函数,将输入或修改后的职工信息存入文件,在其中定义两个指针,各指向一个文件,一个文件存各职工信息,一个文件存职工个数,函数内容为文件读取的固定格式。

(n)浏览函数

{

i;

*,*1;定义两个指针文件

((("","")))以读的方式打开文件

{

("\n");

(0);

}

((1("","")))以读的方式打开文件

{

("\n");

(0);

}

(,2,11);读出文件中的D的值

("\号码姓名基础工作职务工资住房公积金社保金实发工资\n");

(0<)

{

([i](),1);

("%5d%6s%5d%4d%6d%5d%5.2f\n"[i][i][i]1[i]2[i]3[i]4[i]5);

}

();

(1);

();

}

函数功能说明:

此函数为浏览函数,先打开文件读取数据,再通过循环将文件中结构体中的数据依次输出。

()菜单函数(界面函数)

{

();函数声明

();函数声明

();函数声明

();函数声明

();函数声明

();函数声明

();函数声明

;菜单(界面)

("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆欢迎登入职工管理系统☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");

("<1>录入职工信息<2>浏览职工信息\n");

("<3>添加员工信息<4>查询员工信息\n");

("<5>删除员工信息<6>员工信息修改\n");

("<7>员工实发工资<8>员工工资排序\n");

("<9>员工工资统计<10>返回菜单\n");

("<9>意见反馈\n");

("\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");

("★请您在(1-7)中选择一个数字进行相应的操作★:

")

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1