c语言课程设计报告工资信息管理系统Word格式.docx
- 文档编号:4397119
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:17
- 大小:143.65KB
c语言课程设计报告工资信息管理系统Word格式.docx
《c语言课程设计报告工资信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告工资信息管理系统Word格式.docx(17页珍藏版)》请在冰点文库上搜索。
要求:
该系统能够实现工资信息管理。
系统包括录入,浏览,查询,统计等功能。
录入功能要求:
能够添加新的工资信息到文件;
浏览功能要求:
能够按照工资卡号,姓名分类浏览,提供分屏显示;
有排序功能,排序后按照工资卡号升序或实发工资降序输出;
查询功能要求:
能够按照工资卡号,姓名查询;
统计功能要求:
能够按照月份累计统计某职工在某时间段发工资总金额。
职工数据如下:
姓名银行卡号月份应发工资水费电费税金实发工资
wanglei0550710165000.0025.0035.00360.004580.00
wanglei0550710175100.0020.0040.00370.004670.00
2、分析:
根据题目要求,应当把职工工资信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;
在程序中需实现职工工资浏览,查询,统计等功能的操作,所以需要建立相应的模块来实现;
另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。
3、总体设计:
根据题目要求,可以将系统分为六个模块:
1)职工工资信息浏览模块;
2)添加工工资信息模块;
3)统计职工工资总合模块;
4)按名字查询职工工资信息模块;
5)按卡号查询职工工资信息模块;
6)功能选择
4、详细设计:
#include<
iostream.h>
stdio.h>
stdlib.h>
string.h>
//头函数名
/*********职员工资信息结构体*********/
/***包括职工的姓名、银行卡好、工作月份、应发工资、实发工资、水费、电费、税***/
structstaff//职员工资信息结构体
{
charName[10];
charCardNumber[10];
intMonth;
floatSPWages;
floatAPWages;
floatWater;
floatElectrical;
floatTax;
};
FILE*fp;
//定义文件指针===全局变量
structstafftemp;
voidprintf_face()//输出函数
{
printf("
\n姓名银行卡号月份应发工资水费电费税实发工资\n"
);
%s%s%d%.2f%.2f%.2f%.2f%.2f\n"
temp.Name,temp.CardNumber,temp.Month,
temp.SPWages,temp.Water,temp.Electrical,temp.Tax,temp.APWages);
}
一、
/**********浏览职工工资信息==模块*********/
voidPrintInformation()//浏览职工工资信息
if((fp=fopen("
wages"
"
rb"
))==NULL)
cannotopenthefile!
"
exit(0);
while(fread(&
temp,sizeof(structstaff),1,fp)==1)printf_face();
fclose(fp);
二、
/**********添加职工工资信息==模块*********/
voidIncrease()//添加职工工资信息
ab+"
printf("
\n请输入要==添加的工资信息:
\n"
\n姓名银行卡号月份应发工资水费电费\n"
scanf("
%s%s%d%f%f%f"
temp.Name,temp.CardNumber,
&
temp.Month,&
temp.SPWages,&
temp.Water,
temp.Electrical);
if(temp.SPWages<
=800)temp.Tax=0;
if((temp.SPWages>
800.0)&
&
(temp.SPWages<
1400.0))
temp.Tax=(temp.SPWages-800)*0.05;
if(temp.SPWages>
1400){temp.Tax=(temp.SPWages-1400)*0.1;
}
temp.APWages=temp.SPWages-temp.Water-temp.Electrical-temp.Tax;
fwrite(&
temp,sizeof(structstaff),1,fp);
}/***计算税金并添加到文件相应结构体中***/
三、
/*********统计某职工工资总合==模块*********/
voidStatistics()//统计某职工工资总合
{
chartempname[10];
floatsum=0;
intmonthstart=0,monthover=0;
\n输入姓名起始月份终止月份\n:
%s%d%d"
tempname,&
monthstart,&
monthover);
)
exit(0);
temp,sizeof(structstaff),1,fp)==1)
if(strcmp(temp.Name,tempname)==0)/******判断是否是该职工******/
{
if(temp.Month>
=monthstart&
temp.Month<
=monthover)
{
sum+=temp.APWages;
}
}
%d月到%d月的工资总和%f"
monthstart,monthover,sum);
四、
/*********按名字查询某职工工资信息==模块********/
voidNameSearch()//按名字查询某职工工资信息
\n输入姓名:
%s"
tempname);
temp,sizeof(structstaff),1,fp)==1)/***读文件中资料**/
{
if(strcmp(temp.Name,tempname)==0)/**判断是否是该姓名**/
{
printf_face();
}
}
五、
/********按卡号查询某职工工资信息==模块*******/
voidCardNumberSearch()//按卡号查询某职工工资信息
chartempCardNumber[10];
\n输入卡号:
tempCardNumber);
if(strcmp(temp.CardNumber,tempCardNumber)==0)/**判断是否是该卡号**/
printf_face();
六、
/**********职工工资信息查询==模块********/
intSearch()
intn;
while
(1)
\n1.按照卡号查询:
\n"
\n2.按照姓名查询:
\n0.返回上级目录:
%d"
&
n);
switch(n)
case1:
CardNumberSearch();
break;
case2:
NameSearch();
case0:
return0;
七、
/***************功能选择==模块***********/
voidShowMenu()
1.添加工资信息:
2.浏览工资信息:
);
3.统计工资信息:
4.查询工资信息:
0.退出系统:
"
Increase();
PrintInformation();
case3:
Statistics();
case4:
Search();
}
/***************主函数*************/
voidmain()
ShowMenu();
运行结果可以达到要求的目的。
运行结果:
1
请输入要==添加的工资信息:
姓名银行卡号月份应发工资水费电费
wanglei05507101650002535
wanglei05507101751002040
2
姓名银行卡号月份应发工资水费电费税实发工资
wanglei0550710165000.0025.0035.00360.004580.00
姓名银行卡号月份应发工资水费电费税实发工资
wanglei0550710175100.0020.0040.00370.004670.00
3
输入姓名起始月份终止月份
:
wanglei67
6月到7月的工资总和9250.0000001.添加工资信息:
4
1.按照卡号查询:
2.按照姓名查询:
0.返回上级目录:
1
输入卡号:
05507101
姓名银行卡号月份应发工资水费电费税实发工资
wanglei0550710175100.0020.0040.00370.004670.00
2
输入姓名:
wanglei
0
Pressanykeytocontinue
刚开始运行时出现的错误:
由于浏览和查询模块中多定义了局部变量,且与全局变量同名将全局变量屏蔽,以至于这些模块不能达到预期效果,总是只输出最近一次的数据,经过修改后将其删除,达到了所要的效果。
使程序得以执行。
到目前程序中还有一小毛病,就是计算税金是实数双精度与单精度转换存在不足。
做此C程序设计的体会:
通过学习和练习C程序的设计基础,了解了一些关于C的知识。
在设计过程中,好多处困惑、疑问,有是会很烦,甚至不想再做,但必须做好,所以耐着性子做好了。
此时感觉有一点点成就感,也学到了一些知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 工资 信息管理 系统