Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //NickG
- //Payroll Calculator
- #include <iostream>
- #include <iomanip>
- #include "valid.hpp" //Input validation functions
- #include "clear.hpp" //Cross-Platform screen clear function
- #include "taxes.hpp" //Taxes function
- using namespace std;
- int main() {
- int hours, piece1, piece2;
- float wage;
- char response;
- cout << fixed << setprecision (2); //Set output format and precision
- do {
- clear();
- do {
- cout << "Employee position?" <<endl;
- cout << "m - Manager\n" << "h - Hourly Worker\n" << "c - Commission Worker\n" << "p - Pieceworker" <<endl;
- cout << "Input:";
- cin >> response;
- cin.ignore(255,'\n'); //This clears the cin buffer, just keeps things sane
- clear();
- } while ((response!='m')&&(response!='M')&&(response!='h')&&(response!='H')&&(response!='c')&&(response!='C')&&(response!='p')&&(response!='P')); //Wait for valid input
- switch (response) { //Employee Switch
- case 'M':
- case 'm':
- cout << "Hours worked:";
- cin >> hours;
- intvalid (&hours);
- cin.ignore(255,'\n');
- cout << "Weekly Wage:$";
- cin >> wage;
- flvalid (&wage);
- clear();
- if (hours<35)
- {wage*=(float(hours)/35);}
- taxes(wage);
- break;
- case 'H':
- case 'h':
- cout << "Hours worked:";
- cin >> hours;
- intvalid (&hours);
- cin.ignore(255,'\n');
- cout << "Hourly Wage:$";
- cin >> wage;
- flvalid (&wage);
- clear();
- if (hours>40)
- {wage=(40*wage)+((hours-40)*wage*1.5);}
- else
- {wage*=hours;}
- taxes(wage);
- break;
- case 'C':
- case 'c':
- cout << "Sales:$";
- cin >> wage;
- flvalid (&wage);
- clear();
- wage=250+(wage*=.057);
- taxes(wage);
- break;
- case 'P':
- case 'p':
- cout << "Widgets Assembled:";
- cin >> hours; //Saves an int
- intvalid (&hours);
- cin.ignore(255,'\n');
- cout << "Ball Bearings Assembled:";
- cin >> piece1;
- intvalid (&piece1);
- cin.ignore(255,'\n');
- cout << "Transfer Racks Assembled:";
- cin >> piece2;
- intvalid (&piece2);
- cin.ignore(255,'\n');
- clear();
- wage=float(hours)*1.5+(piece1*2)+float(piece2)*2.5;
- taxes(wage);
- break;
- }
- do {
- cout << "Run again?(y/n)";
- cin >> response;
- cin.ignore(255,'\n');
- } while ((response!='y')&&(response!='Y')&&(response!='n')&&(response!='N')); //Wait for valid input
- clear();
- } while ((response=='y')||(response=='Y'));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement