Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package bmc;
- import keyb.InOut;
- /**
- *
- * @author PC
- */
- public class NewClass
- {
- /** Creates a new instance of Main */
- public NewClass()
- {
- }
- static final int DeductionPercentage = 35, NumberOfEmployees = 6; // Global int Variables
- static final double StaffBasic = 600.00, HighComrate = 12.5, LowComrate = 7.5; // Global double Variables
- static void displayMenu()
- {
- System.out.println("1 - All Employee Details");
- System.out.println("2 - Employees whose monthly sales where above £10,000");
- System.out.println("3 - Employees whose monthly sales are below the average");
- System.out.println("4 - Employee with the highest monthly sales");
- System.out.println("5 - Exit");
- }// End of displayMenu module
- static double displayEmployees
- (int spRefNo[],String spName[],double spMonthlySales[], double spGrossPay[], double spDeductions[], double spNetPay[],int lowValue,int highValue,int message)
- {
- System.out.println(message);
- for (int empCount = 0;empCount < NumberOfEmployees; empCount++)
- {
- if ( (spMonthlySales[empCount] >= lowValue) && ( spMonthlySales[empCount] < highValue) )
- {
- System.out.println((spRefNo[empCount])+ (spName[empCount]) + (spMonthlySales[empCount]) + (spGrossPay[empCount]) + (spDeductions[empCount]) + (spNetPay[empCount]));
- }// end if
- }// end repeat
- }// end displayEmployees module
- static double averageResult(int MonthlySales[], int NumberOfEmployees)
- {
- int totalSales = 0;
- double averageTotalSales = 0;
- for (int empCount = 0; empCount < NumberOfEmployees; empCount = empCount++)
- {
- totalSales = totalSales + MonthlySales[empCount];
- }
- averageTotalSales = totalSales/NumberOfEmployees;
- return averageTotalSales;
- }
- public static void main(String[] args)
- {
- double highestSales = 0.0; // Local Variables
- int empCount = 0;
- double[] spCommission; // Commission Arrays
- spCommission = new double[NumberOfEmployees];
- double[] spGrossPay; // Gross Pay Arrays
- spGrossPay = new double[NumberOfEmployees];
- double[] spDeductions; // Deductions Arrays
- spDeductions = new double[NumberOfEmployees];
- double[] spNetPay; // Monthly sales Arrays
- spNetPay = new double[NumberOfEmployees];
- double[] spMonthlySales; // Monthly sales Arrays
- spMonthlySales = new double[NumberOfEmployees];
- int[] spRefNo; // Ref Number Arrays
- spRefNo = new int [NumberOfEmployees];
- spRefNo[0] = 1000;
- spRefNo[1] = 2571;
- spRefNo[2] = 4002;
- spRefNo[3] = 1303;
- spRefNo[4] = 1004;
- spRefNo[5] = 1005;
- String[] spName; // Name Arrays
- spName = new String[NumberOfEmployees];
- spName[0] = "Chris Barnes";
- spName[1] = "Daniel Pollock";
- spName[2] = "John McManus";
- spName[3] = "Jean Martin";
- spName[4] = "Rosemary Goody";
- spName[5] = "Liam Cage";
- empCount = 0;
- for (empCount = 0; empCount < NumberOfEmployees;)
- {
- System.out.println("Ref.No: " + spRefNo[empCount]);
- System.out.println("Name : " + spName[empCount]);
- System.out.println("Please enter monthly sales for employee");
- spMonthlySales[empCount] = InOut.readDouble();
- while(spMonthlySales[empCount] < 0 || spMonthlySales[empCount] >20000)
- {
- System.out.println("Invalid value. Should be in the range 0 - 20000!");
- System.out.println("Re-enter the salespersons monthly sales");
- System.out.println("Enter monthly sales");
- spMonthlySales[empCount]=InOut.readDouble();
- }
- if (spMonthlySales[empCount] >= 10000)
- {
- spCommission[empCount] = spMonthlySales[empCount] * (HighComrate/100.00) ; // working out Commisio
- spGrossPay[empCount] = StaffBasic + spCommission[empCount]; // working out Gross Pay
- spDeductions[empCount] = spGrossPay[empCount] * (DeductionPercentage/100.00); // working out Deductions
- spNetPay[empCount] = spGrossPay[empCount] - spDeductions[empCount]; // working out Net Pay
- }// end of Calculations
- else
- {
- spCommission[empCount] = spMonthlySales[empCount] * (LowComrate/100.00) ; // working out Commision
- spGrossPay[empCount] = StaffBasic + spCommission[empCount];// working out Gross Pay
- spDeductions[empCount] = spGrossPay[empCount] * (DeductionPercentage/100.00);// working out Deductions
- spNetPay[empCount] = spGrossPay[empCount] - spDeductions[empCount];// working out Net Pay
- }// end of Calculations
- if (spMonthlySales[empCount] > highestSales)
- {
- highestSales = spMonthlySales[empCount];
- }// end of if
- empCount = empCount + 1;
- }// end of details of employees
- int menuOption = 0;
- boolean validOption = true;
- while (validOption = true)
- {
- displayMenu();
- System.out.println("Please choose a menu option number");
- menuOption = InOut.readInt();
- while((menuOption < 1) || (menuOption > 5))
- {
- System.out.println("Invalid value. Should be in the range 1 - 5");
- System.out.println("Re-enter a menu option number");
- menuOption=InOut.readInt();
- } // end of faild menu number
- switch (menuOption)
- {
- case 1:
- displayEmployees(spRefNo[empCount],spName[empCount],spMonthlySales[empCount],spGrossPay[empCount],spDeductions[empCount],spNetPay[empCount],0,20000,"All Employees Details");
- break;
- case 2:
- displayEmployees(spRefNo,spName,spMonthlySales,spGrossPay,spDeductions,spNetPay, 10000,20000, "Employees whose monthly sales are £10,000 or above");
- break;
- case 3:
- double averageSales;
- averageSales = averageResult(spMonthlySales,NumberOfEmployees);
- displayEmployees(spRefNo,spName,spMonthlySales,spGrossPay,spDeductions,spNetPay,averageSales,
- "Employees whose monthly sales are below the average");
- break;
- case 4:
- for ( int index = 0; index < NumberOfEmployees; index = index++)
- {
- if (spMonthlySales[empCount] = highestSales)
- {
- spMonthlySales[index] = spNetPay[index] + 500;
- System.out.println((spRefNo[index]) + (spGrossPay[index]) + (spDeductions[index]) + (spNetPay[index]));
- }
- }
- }// switch statement
- }// end of while
- }// end of main module
- }// end of classS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement