⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tax.cpp

📁 计算个人所得税的代码5522197 5522197 5522197 5522197
💻 CPP
字号:
//#include <afx.h>
//#include <iostream.h>
//#include <fstream.h>
#include "employeestruct.h"
#include "calcclass.h"
#include <fstream>
#include <iostream>
using namespace std;

void operate_debuger(int debug_number)
{
	switch (debug_number)
	{
	case 9:
		cout <<"打开文件失败!"<<endl;
	case 7:
		cout <<"Pay所得税计算错误!"<<endl;
	case 5:
		cout <<"Income所得税计算错误!"<<endl;
	}
}
void main()
{	
	int operate_debug=0,linenumber=0,linecounter=1;
	double alltax=0;
	char filename[256];
	cout <<"请输入数据文件名:";
	cin >>filename;
	char buffer[256] = {0};
	ifstream datafile("test.txt");
	if(!datafile)
	{
		cerr << "unable to open file"
			 <<filename<<'\n';
		operate_debug=9;
		exit(-1);
	}
	datafile.getline(buffer,256, '\n');
	sscanf(buffer,"%d",&linenumber);
	while(true)
	{	
		char buffer2[256]={0};
		datafile.getline(buffer2,256, '\n');
		if(linecounter>linenumber)
			break;
		else
		{
			employee * current_employee = new employee;
			calc tax;
			char sztemp[256]={0},sztemp1[256]={0};
			int item=0;
			sscanf(buffer2,"%s %d %s %d",sztemp,&(current_employee->number),
					sztemp1,&item);
			current_employee->mmdd = sztemp1;
			current_employee->money = static_cast<float>(item);
			switch (buffer2[0])
			{case 112:
				{	
					alltax+=tax.calctax(0,current_employee->money);
					current_employee->tax=tax.calctax(0,current_employee->money);
					if (current_employee->tax==-2)
					operate_debug=7;
				}
			case 80:
				{	
					alltax+=tax.calctax(0,current_employee->money);
					current_employee->tax=tax.calctax(0,current_employee->money);
					if (current_employee->tax==-2)
					operate_debug=7;
				}
			case 73:
				{
					alltax+=tax.calctax(1,current_employee->money);
					current_employee->tax=tax.calctax(0,current_employee->money);
					if (current_employee->tax==-2)
					operate_debug=5;
				}
			case 105:
				{				
					alltax+=tax.calctax(1,current_employee->money);
					current_employee->tax=tax.calctax(0,current_employee->money);
					if (current_employee->tax==-2)
					operate_debug=5;
				}
			}
			delete current_employee;
			linecounter++;
		}
	}
	operate_debuger(operate_debug);
	cout <<"所有职工应缴总个人所得税为:"<<alltax<<"元。"<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -