C++编程的一个问题(紧急!!!)
该系统在磁盘上存储了某单位上月全体员工的工资信息,对于每一位职工存储以下信息:月份,职工编号,基本工资,津贴,岗贴,补贴,房贴,交通补贴,应发数,房租,储蓄,会费,个人所得税,应扣数,实发数。
个人所得税的计算方法设定为:工资少于800元为0,800-1000元为5%,1000-5000元为10%,5000元以上为20%。
该系统功能如下:1)创建存储职工工资信息的存储系统。2)添加职工的工资信息(增加新职工时使用)。3)删除某职工的工资信息(职工离职或者死亡时使用)。4)修改某职工的部分工资信息(当月开始增加或减少某些项工资或扣款数变化)。5)输出指定编号职工的工资信息(查询用)。6)输出当月全体职工的工资信息(发工资用)。
如果写得好,一定加分!
参考答案:好几月没来了。。
现在的人都不认识了呢。。
今天来查点东西
随便帮人答了几道题
时间很紧啊。。
给你实现两个接口功能
其它的自己多动动脑子吧
至少我上学的时候这种作业都是自己完成的
可以参考
但绝对不可以照抄
这是我的原则
当然,如果给我钱另说^O^
// zd_81.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <process.h>
#include <windows.h>
struct staff{
int mouth;
int index;
int basic_wage;
int jin_wage;
int gang_wage;
int bu_wage;
int fang_wage;
int jiao_wage;
int should_pay;
int rent;
int bank;
int tax;
int p_tax;
int deduct;
int fact_pay;
};
void Create()
{
HANDLE hFile;
hFile = CreateFile("staff.data",GENERIC_READ | GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile==INVALID_HANDLE_VALUE)
{
printf("建立新的数据库失败!\r\n");
return;
}
else
CloseHandle(hFile);
}
void add()
{
HANDLE hFile;
DWORD size;
struct staff man;
printf("请输入月份\r\n");
scanf("%d",&man.mouth);
printf("请输入职工编号\r\n");
scanf("%d",&man.index);
printf("请输入基本工资\r\n");
scanf("%d",&man.basic_wage);
printf("请输入津贴\r\n");
scanf("%d",&man.jin_wage);
printf("请输入岗贴\r\n");
scanf("%d",&man.gang_wage);
printf("请输入补贴\r\n");
scanf("%d",&man.bu_wage);
printf("请输入房贴\r\n");
scanf("%d",&man.fang_wage);
printf("请输入交通补贴\r\n");
scanf("%d",&man.jiao_wage);
man.should_pay=man.basic_wage+man.jin_wage+man.gang_wage+man.bu_wage+man.fact_pay+man.jiao_wage;
printf("请输入房租\r\n");
scanf("%d",&man.rent);
printf("请输入储蓄\r\n");
scanf("%d",&man.bank);
printf("请输入会费\r\n");
scanf("%d",&man.tax);
if(man.basic_wage<800)
man.p_tax=0;
else if(man.basic_wage>=800 && man.basic_wage<=1000)
man.p_tax=man.basic_wage/20;
else if(man.basic_wage>=1000 && man.basic_wage<=5000)
man.p_tax=man.basic_wage/10;
else if(man.basic_wage>5000)
man.p_tax=man.basic_wage/5;
man.deduct=man.rent+man.bank+man.tax+man.p_tax;
man.fact_pay=man.should_pay-man.deduct;
hFile = CreateFile("staff.data",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile==INVALID_HANDLE_VALUE)
{
printf("添加失败!\r\n");
return;
}
SetFilePointer(hFile,0,NULL,FILE_END);
WriteFile(hFile,&man,sizeof(staff),&size,NULL);
CloseHandle(hFile);
}
void del()
{
}
void motify()
{
}
void export()
{
}
void export_all()
{
}
int main(int argc, char* argv[])
{
int n;
while(1){
printf("请按相应数字进行相应操作\r\n");
printf("1 创建数据库\r\n");
printf("2 添加职工的工资信息\r\n");
printf("3 删除某职工的工资信息\r\n");
printf("4 修改某职工的部分工资信息\r\n");
printf("5 输出指定编号职工的工资信息\r\n");
printf("6 输出当月全体职工的工资信息\r\n");
printf("7 退出\r\n");
scanf("%d",&n);
switch(n)
{
case 1:
Create();
break;
case 2:
add();
break;
case 3:
del();
break;
case 4:
motify();
break;
case 5:
export();
break;
case 6:
export_all();
break;
case 7:
exit(0);
default:
printf("请输入正确的数字\r\n");
break;
}
}
return 0;
}