c语言课程设计Word格式文档下载.docx
《c语言课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
![c语言课程设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-11/20/72090318-1985-4397-a00e-078128b91a88/72090318-1985-4397-a00e-078128b91a881.gif)
任务:
主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:
工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计。
操作界面要符合用户的一般习惯,图形或文本界面都可以。
工作计划与进度安排:
第一天:
查阅相关资料;
第二、三天:
程序与实现设计;
第四天:
程序调试、论文写作‘
第五天:
答辩。
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
目录
1.摘要4
2.设计任务4
3.设计内容与步骤4
3.1该系统的功能简介4
3.2功能目录5
3.3流程图5
3.4运行程序测试结果6
3.5收获与体会9
4.参考文献9
5.源代码清单10
1.摘要
工资管理系统是针对企业的工资管理业务进行计算机处理而开发的应用软件。
该系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。
企业应用本系统后,可以有效的提高工资管理水平。
本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。
为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。
最后附有主要的源程序代码清单。
2.设计任务
3.设计内容与步骤
3.1该系统的功能简介
该系统的主要功能是实现职工工资的录入,包括(录入职工的基本工资、实发工资、津贴、岗贴、补贴、房帖、交通补贴、储蓄、汇费)。
对职工的工资信息进行删除、修改、个人所得税的计算。
并统计职工的所有信息。
3.2功能目录
该程序的功能主要是实现职工工资的录入,并对工资的相应信息进行个人所得税的计算。
各个模块之间的关系是相互联系的。
首先,主函数包含了所有的子函数。
主函数是整个程序的核心。
子函数之间也是有联系的,对个人所得税的计算、职工工资信息的修改、删除、查询、统计,必须是在职工工资录入的情况下进行的。
因此对职工工资信息的录入是非常重要的。
在职工工资的修改、删除、查询、统计与个人所得税所有的子函数之间是没有多大联系的。
3.3流程图
3.4运行程序测试结果
(1)主函数程序运行界面:
(2)录入职工的程序运行界面
(3)删除职工记录程序界面
(4)修改个人记录的运行界面
(5)查找职工记录的运行界面
(6)统计出所有的职工信息的运行界面
3.5收获与体会
随着我国成功加入WTO及信息化浪潮的日益临近,企业、单位等一些部门在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势。
因此,如何使企业、单位等部门及时掌握本企业、单位等人才的各种信息、第一时间处理好随时变化的工资管理问题,建立一套符合企业、单位实际的工资管理系统就显得尤为重要。
通过这次课程设计,我对很多的函数有新的认识,也学会运用多种函数,我也明白写软件的基本过程和基本方法。
写软件的过程中我又学到曾经自己不知道的函数或是自己不会的函数的用法。
特别是文件的开启和关闭,读与写。
这次课程设计课总的来说让我受益匪浅。
4.参考文献
[1]谭浩强著.C程序设计(第二版).北京:
清华大学出版社,1999
[2]谭浩强,张基温,唐永炎编著.C语言程序设计.北京:
高等教育出版社,1992
[3]谭浩强编著.QBASIC语言教程.北京:
电子工业出版社,1997
[4]谭浩强.C程序设计[M].3版.北京:
清华大学出版社,2005
[5]HerbertSchildt著.戴健鹏译.C语言大全(第二版).北京:
电子工业出版社,1994
[6][美]SCHILDTH.C语言大全[M].4版.王子恢等译.北京:
电子工业出版社,200
5.源代码清单
#include"
stdio.h"
conio.h"
#include"
stdlib.h"
dos.h"
/*为了调用atof()等函数*/
#defineTRUE1
addone();
delone();
modone();
idone();
listall();
wfile();
rfile();
/*结构体声明*/
structzhigong
{
intmonth;
doubleid;
doublejbgz;
doublejt;
doublegt;
doublebt;
doubleft;
doublejtbt;
doublesfgz;
doublefz;
doublecx;
doublehf;
doublegrsds;
doubleyks;
doublesfs;
};
/*建立50个元素的结构体数组*/
structzhigongzg[50];
/*建立结构体变量*/
structzhigongzgone;
/*职员列表中的数量*/
intn=0;
/*获得字符串*/
charnumstr[50];
main()
charch;
n=0;
/*rfile();
使用后启动程序时系统会自动加载纪录*/
system("
color4e"
);
while(TRUE)
{
printf("
\n"
================================================================================\n"
printf("
\t\t〓〖欢迎来到职工工资管理系统〗〓(请在<
1-8>
中选择)\n"
//printf("
______________________________________________________\n"
\t\t★1.增加职工的工资信息\n"
\t\t★2.删除某职工的工资信息\n"
\t\t★3.改变某职工的工资信息\n"
\t\t★4.输出某职工的所有工资信息\n"
\t\t★5.统计所有的职工工资信息\n"
\t\t★6.保存日期\n"
\t\t★7.下载日期\n"
\t\t★8.退出\n"
========================================================\n"
\t\t\t请选择(1-8)\n"
ch=getche();
switch(ch)
{
case'
1'
:
addone();
break;
2'
3'
4'
5'
6'
7'
8'
exit(0);
default:
printf("
对不起,请重新选择!
}
}
}
/*计算个人所得税*/
doubletgrsds(doublem)
doublesui1,sui2,sui3;
doubletmp;
sui1=0;
sui2=0;
sui3=0;
if(m>
=5000)
sui1=(m-5000)*0.2;
sui2=(5000-1000)*0.1;
sui3=(1000-800)*0.05;
elseif(m>
=1000&
&
m<
5000)
sui2=(m-1000)*0.1;
=800&
1000)
sui3=(m-800)*0.05;
tmp=sui1+sui2+sui3;
return(tmp);
/*添加职工的工资信息*/
addone(void)
__________________________________>
>
<
_____________________________________\n"
RecordNO.%d\n"
n+1);
请输入月份:
\n"
gets(numstr);
zg[n].month=atoi(numstr);
输入职工基本信息\n"
请输入职工的职工编号:
zg[n].id=atof(numstr);
请输入职工的基本工资:
zg[n].jbgz=atof(numstr);
//printf("
请输入职工的姓名:
\n);
//gets(numster);
请输入职工的津贴:
zg[n].jt=atof(numstr);
请输入职工的岗贴:
zg[n].gt=atof(numstr);
请输入职工的补贴:
zg[n].bt=atof(numstr);
请输入职工的房帖:
zg[n].ft=atof(numstr);
请输入职工的交通补贴:
zg[n].jtbt=atof(numstr);
zg[n].sfgz=(zg[n].jbgz)+(zg[n].jt)+(zg[n].gt)+(zg[n].bt)+(zg[n].ft)+(zg[n].jtbt);
请输入职工的房租:
zg[n].fz=atof(numstr);
prin