Está en la página 1de 7

#include"stdafx.

h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class employ
{
public:
double m_employ_number;
char m_employ_name[50];
char m_grade;
double m_basic_salary;
double m_hra;
double m_transportation;
double m_actual_rent;
double m_investment_under_80C;
double m_target_revenue;
double m_achived_revenue;
employ(double employ_number,char employ_name,char grade,double basic_sal
ary,double hra,double transportation,double actual_rent,double investment_under_
80C,double target_revenue,double achived_revenue)
{
m_employ_number=employ_number;
m_employ_name[50]=employ_name;
m_grade=grade;
m_basic_salary=basic_salary;
m_hra=hra;
m_transportation=transportation;
m_actual_rent=actual_rent;
m_investment_under_80C=investment_under_80C;
m_target_revenue=target_revenue;
m_achived_revenue=achived_revenue;
}
employ()
{
//Default Constructur
}
//-------------------------------------------------------------Employ Inf
ormation---------------------------------------------------------//
void employ_info()
{
cout<<"Enter Employ Number:";
cin>>m_employ_number;
cout<<"Enter Employ Name:";
cin.ignore();
gets(m_employ_name);
cout<<"Enter Employ Grade:";
cin>> m_grade;
cout<<"Enter Basic Salary:";
cin>>m_basic_salary;
cout<<"Enter HRA:";

cin>>m_hra;
cout<<"Enter Transportation Allowance:";
cin>>m_transportation;
cout<<"Enter Actual Rent:";
cin>>m_actual_rent;
cout<<"Enter investment_under_80C:";
cin>>m_investment_under_80C;
cout<<"Enter Target Revenue:";
cin>> m_target_revenue;
cout<<"Enter Achived Revenue:";
cin>>m_achived_revenue;
}
//---------------------------------------------------------------Employ
total salary count----------------------------------------------------------------------------//
int employ_total_salary()
{
int emp_total_salary;
emp_total_salary=m_basic_salary+m_hra+m_transportation;
return emp_total_salary;
}
};
//-------------------------------------------------------------------Variable Sa
lary Count--------------------------------------------------------------------------------//
class variable_salary: public employ
{ public:
double company_revenue()
{
double revenue=0;
revenue = employ::m_achived_revenue/employ::m_target_revenue;
return revenue;
}
//-------------------------------------------------------------------Grad Calcul
ation-------------------------------------------------------------------------------------//
int employ_grade()
{
double variable_salary_count;
if(employ::m_grade=='A'||employ::m_grade=='a')
{
variable_salary_count=employ::employ_total_salary()*comp
any_revenue()*0.10;

return variable_salary_count;
}
else if(employ::m_grade=='B'||employ::m_grade=='b')
{
variable_salary_count=employ::employ_total_salary()*comp
any_revenue()*0.10;
return variable_salary_count;
}
else if(employ::m_grade=='C'||employ::m_grade=='c')
{
variable_salary_count=employ::employ_total_salary()*comp
any_revenue()*0.15;
return variable_salary_count;
}
else if(employ::m_grade=='D'||employ::m_grade=='d')
{
variable_salary_count=employ::employ_total_salary()*comp
any_revenue()*0.20;
return variable_salary_count;
}
}
//-----------------------------------------------------------------Additional al
lowance count-------------------------------------------------------------------------//
int additional_allowance()
{
int additional;
if(employ::m_grade=='A'||employ::m_grade=='a')
{
additional=2500*12;
return additional;
}
else if(employ::m_grade=='B'||employ::m_grade=='b')
{
additional=2500*12;
return additional;
}
else if(employ::m_grade=='C'||employ::m_grade=='c')
{
additional=3500*12;
return additional;
}
else if(employ::m_grade=='D'||employ::m_grade=='d')
{
additional=5000*12;
return additional;
}
}
//---------------------------------------------------------------Gross S
alary Count---------------------------------------------------------------------------------------//
double gross_salary()
{
double gross_salary;
gross_salary=employ::employ_total_salary()+emplo
y_grade()+additional_allowance();

return gross_salary;
}
};
//--------------------------------------------------------------------Taxable Sa
lary Count------------------------------------------------------------------------------------//
class taxable_salary:public variable_salary
{
public:
//--------------------------------------------------------------------Exampted H
RA Count--------------------------------------------------------------------------------------//
double exempted_hra()
{
double m_hra=0;
double hra_1;
hra_1=employ::m_actual_rent - (employ::m_basic_salary*(0.10));
return hra_1;
return 0;
float hra_2;
hra_2=employ::m_hra;
float hra_3;
hra_3=employ::m_basic_salary*0.50;
if(hra_1<hra_2 && hra_1<hra_3)
{
return hra_1;
}
else if(hra_2<hra_1 && hra_2<hra_3)
{
return hra_2;
}
else if (hra_3<=hra_1 && hra_3<=hra_2)
{
return hra_3;
}
else
{
return hra_1;
}
}
//------------------------------------------------------------------Taxable Sala
ry Count---------------------------------------------------------------------------------------//
double employ_taxable_salary()
{
double emp_taxable_salary;
emp_taxable_salary=variable_salary::gross_salary()-employ::m_inv
estment_under_80C-taxable_salary::exempted_hra();

return emp_taxable_salary;
}
//-----------------------------------------------------------------Payable Tax C
ount-------------------------------------------------------------------------------------------//
double payable_tax()
{
if(employ_taxable_salary()<200000)
{
double i=0;
return i;
}
else if(employ_taxable_salary()>200000 && employ_taxable_salary(
)<500000)
{
double j,k;
j=employ_taxable_salary()-200000;
k=0.10*j;
return k;
}
else if (employ_taxable_salary()>500000 && employ_taxable_salary
()<1000000)
{
double l,m;
l=employ_taxable_salary()-500000;
m=.10*300000+0.20*l;
return m;
}
else
{
double n,p;
n=employ_taxable_salary()-1000000;
p=0.10*300000+0.20*500000+0.30*n;
return p;
}
}
//--------------------------------------------------------------Net Income Per M
onth-------------------------------------------------------------------------------------------//
double net_income()
{
int net,net_income;
net=gross_salary()-payable_tax();
net_income=net/12;
return net_income;
}
//-------------------------------------------------------------Heading in Excel
File-------------------------------------------------------------------------------------------//
void print_heading()
{
ofstream obj1;
obj1.open("employ.xls",ios::_Noreplace);
obj1<< "Employ Number"<<"\t"<<"Employ Name"<<"\t"<<"Basic Salary
"<<"\t"<<"HRA"<<"\t"<<"Transportation"<<"\t"<<"Variable Salary"<<"\t"<<"Addition
al Allowance"<<"\t"<<"Gross Salary"<<"\t"<<"payable Tax"<<"\t"<<"Net Income Per
Month"<<"\n";

obj1.close();
}
double print_info()
{
ofstream obj2;
obj2.open("employ.xls",std::ios_base::app);
obj2<<m_employ_number<<"\t"<<m_employ_name<<"\t"<<m_basic_salary
<<"\t"<<m_hra<<'\t'<<m_transportation<<"\t"<<variable_salary::employ_grade()<<"\
t"<<variable_salary::additional_allowance()<<"\t"<<variable_salary::gross_salary
()<<"\t"<<taxable_salary::payable_tax()<<"\t"<<net_income()<<"\t"<<"\n";
return 0;
}
string read()
{
string num,sel1,sel2,sel3,sel4,sel5,sel6,sel7,sel8,sel9,sel10;
string myfile;
cout<<" Enter ur Number : ";
cin>>num;
ifstream file_handler;
file_handler.open("employ.xls");
for(int i=0;!file_handler.eof();i=i+10)
{
file_handler>>sel1;
if(num==sel1)
{
file_handler>>sel2>>sel3>>sel4>>sel5>>sel6>>sel7
>>sel8>>sel9>>sel10;
cout<<"--------Salary Slip--------: "<<endl<<end
l;
cout<<"Employ Number:"<<sel1<<"\n"<<"Employ Name
:"<<sel2<<"\n"<<"Basic Salary:"<<sel3<<"\n"<<"HRA:"<<sel4<<"\n"<<"Transportation
:"<<sel5<<"\n"<<"Variable Salary:"<<sel6<<"\n"<<"Additional Allowance:"<<sel7<<"
\n"<<"Groass Salary :"<<sel8<<"\n"<<"Payable TAX"<<sel9<<"\n"<<" Net Income Per
Month:"<<sel10<<"\n";
break;
}
}
return sel10;
}
};
int main()
{
char s;
cout<<"-----------Welcome to Employ Salary Management System---------------"<<endl;
cout<<"
"<<endl;
do
{
int x;
int t,n=0;

cout<<"For Enter Data Press 1:"<<endl;


cout<<"For Salary Slip Press 2:";
cin>>x;
taxable_salary object2;
//Object Of Class Taxable Salary
object2.print_heading();
if(x==1)
{
cout<<"Enter The Number Of Employ:";
cin>>n;
for (t=0;t<n;t++)
{
object2.employ_info();
object2.company_revenue();
object2.employ_total_salary();
object2.employ_grade();
object2.gross_salary();
object2.additional_allowance();
object2.exempted_hra();
object2.employ_taxable_salary();
object2.payable_tax();
object2.net_income();
object2.print_info();
cout<<"Net Income Per Month:"<<object2.net_income();
cin.clear();
cin.ignore(500,'\n');
cin.get();
}
}
else if(x==2)
{
cout<<"-----------Employ Salary Slip------------"<<endl;
int m;
cout<<"-----------------How Many Salary Slip Do You Want-----------------";
cin>>m;
for(int j=0;j<m;j++)
{
object2.read();
}
}
else
{
cout<<"Invelid Entry, please Enter Proper Number";
}
cout<<"---------------Do you want to Contunue--------------- ?"<<"\n"<<"
-----------If yes Then Print Y otherwise N-----------:";
cin>>s;
}
while(s=='Y' || s=='y');
getchar();
getchar();
}

También podría gustarte