Advertisement
Guest User

post

a guest
Jan 1st, 2011
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.89 KB | None | 0 0
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5.  
  6. package bmc;
  7. import keyb.InOut;
  8. /**
  9. *
  10. * @author PC
  11. */
  12.  
  13. public class NewClass
  14. {
  15.  
  16. /** Creates a new instance of Main */
  17. public NewClass()
  18. {
  19. }
  20.  
  21. static final int DeductionPercentage = 35, NumberOfEmployees = 6; // Global int Variables
  22. static final double StaffBasic = 600.00, HighComrate = 12.5, LowComrate = 7.5; // Global double Variables
  23.  
  24.  
  25.  
  26. static void displayMenu()
  27. {
  28.  
  29. System.out.println("1 - All Employee Details");
  30. System.out.println("2 - Employees whose monthly sales where above £10,000");
  31. System.out.println("3 - Employees whose monthly sales are below the average");
  32. System.out.println("4 - Employee with the highest monthly sales");
  33. System.out.println("5 - Exit");
  34.  
  35. }// End of displayMenu module
  36.  
  37. static double displayEmployees
  38.  
  39. (int spRefNo[],String spName[],double spMonthlySales[], double spGrossPay[], double spDeductions[], double spNetPay[],int lowValue,int highValue,int message)
  40. {
  41.  
  42. System.out.println(message);
  43.  
  44. for (int empCount = 0;empCount < NumberOfEmployees; empCount++)
  45. {
  46.  
  47. if ( (spMonthlySales[empCount] >= lowValue) && ( spMonthlySales[empCount] < highValue) )
  48. {
  49.  
  50. System.out.println((spRefNo[empCount])+ (spName[empCount]) + (spMonthlySales[empCount]) + (spGrossPay[empCount]) + (spDeductions[empCount]) + (spNetPay[empCount]));
  51.  
  52. }// end if
  53.  
  54. }// end repeat
  55.  
  56. }// end displayEmployees module
  57.  
  58.  
  59. static double averageResult(int MonthlySales[], int NumberOfEmployees)
  60. {
  61.  
  62. int totalSales = 0;
  63. double averageTotalSales = 0;
  64.  
  65. for (int empCount = 0; empCount < NumberOfEmployees; empCount = empCount++)
  66. {
  67.  
  68. totalSales = totalSales + MonthlySales[empCount];
  69.  
  70. }
  71.  
  72. averageTotalSales = totalSales/NumberOfEmployees;
  73. return averageTotalSales;
  74.  
  75. }
  76.  
  77.  
  78.  
  79.  
  80.  
  81. public static void main(String[] args)
  82. {
  83.  
  84. double highestSales = 0.0; // Local Variables
  85. int empCount = 0;
  86.  
  87.  
  88. double[] spCommission; // Commission Arrays
  89. spCommission = new double[NumberOfEmployees];
  90.  
  91. double[] spGrossPay; // Gross Pay Arrays
  92. spGrossPay = new double[NumberOfEmployees];
  93.  
  94. double[] spDeductions; // Deductions Arrays
  95. spDeductions = new double[NumberOfEmployees];
  96.  
  97. double[] spNetPay; // Monthly sales Arrays
  98. spNetPay = new double[NumberOfEmployees];
  99.  
  100. double[] spMonthlySales; // Monthly sales Arrays
  101. spMonthlySales = new double[NumberOfEmployees];
  102.  
  103. int[] spRefNo; // Ref Number Arrays
  104. spRefNo = new int [NumberOfEmployees];
  105. spRefNo[0] = 1000;
  106. spRefNo[1] = 2571;
  107. spRefNo[2] = 4002;
  108. spRefNo[3] = 1303;
  109. spRefNo[4] = 1004;
  110. spRefNo[5] = 1005;
  111.  
  112. String[] spName; // Name Arrays
  113. spName = new String[NumberOfEmployees];
  114. spName[0] = "Chris Barnes";
  115. spName[1] = "Daniel Pollock";
  116. spName[2] = "John McManus";
  117. spName[3] = "Jean Martin";
  118. spName[4] = "Rosemary Goody";
  119. spName[5] = "Liam Cage";
  120.  
  121. empCount = 0;
  122.  
  123. for (empCount = 0; empCount < NumberOfEmployees;)
  124. {
  125.  
  126. System.out.println("Ref.No: " + spRefNo[empCount]);
  127.  
  128. System.out.println("Name : " + spName[empCount]);
  129.  
  130. System.out.println("Please enter monthly sales for employee");
  131.  
  132. spMonthlySales[empCount] = InOut.readDouble();
  133.  
  134.  
  135.  
  136.  
  137.  
  138. while(spMonthlySales[empCount] < 0 || spMonthlySales[empCount] >20000)
  139. {
  140.  
  141. System.out.println("Invalid value. Should be in the range 0 - 20000!");
  142. System.out.println("Re-enter the salespersons monthly sales");
  143. System.out.println("Enter monthly sales");
  144. spMonthlySales[empCount]=InOut.readDouble();
  145.  
  146. }
  147.  
  148. if (spMonthlySales[empCount] >= 10000)
  149. {
  150.  
  151. spCommission[empCount] = spMonthlySales[empCount] * (HighComrate/100.00) ; // working out Commisio
  152. spGrossPay[empCount] = StaffBasic + spCommission[empCount]; // working out Gross Pay
  153. spDeductions[empCount] = spGrossPay[empCount] * (DeductionPercentage/100.00); // working out Deductions
  154. spNetPay[empCount] = spGrossPay[empCount] - spDeductions[empCount]; // working out Net Pay
  155.  
  156. }// end of Calculations
  157. else
  158. {
  159.  
  160. spCommission[empCount] = spMonthlySales[empCount] * (LowComrate/100.00) ; // working out Commision
  161. spGrossPay[empCount] = StaffBasic + spCommission[empCount];// working out Gross Pay
  162. spDeductions[empCount] = spGrossPay[empCount] * (DeductionPercentage/100.00);// working out Deductions
  163. spNetPay[empCount] = spGrossPay[empCount] - spDeductions[empCount];// working out Net Pay
  164.  
  165. }// end of Calculations
  166.  
  167.  
  168. if (spMonthlySales[empCount] > highestSales)
  169. {
  170.  
  171. highestSales = spMonthlySales[empCount];
  172.  
  173. }// end of if
  174.  
  175. empCount = empCount + 1;
  176.  
  177. }// end of details of employees
  178.  
  179. int menuOption = 0;
  180. boolean validOption = true;
  181.  
  182.  
  183. while (validOption = true)
  184. {
  185.  
  186. displayMenu();
  187.  
  188. System.out.println("Please choose a menu option number");
  189. menuOption = InOut.readInt();
  190.  
  191. while((menuOption < 1) || (menuOption > 5))
  192. {
  193.  
  194. System.out.println("Invalid value. Should be in the range 1 - 5");
  195. System.out.println("Re-enter a menu option number");
  196. menuOption=InOut.readInt();
  197.  
  198. } // end of faild menu number
  199.  
  200.  
  201. switch (menuOption)
  202. {
  203.  
  204. case 1:
  205. displayEmployees(spRefNo[empCount],spName[empCount],spMonthlySales[empCount],spGrossPay[empCount],spDeductions[empCount],spNetPay[empCount],0,20000,"All Employees Details");
  206.  
  207. break;
  208. case 2:
  209. displayEmployees(spRefNo,spName,spMonthlySales,spGrossPay,spDeductions,spNetPay, 10000,20000, "Employees whose monthly sales are £10,000 or above");
  210.  
  211. break;
  212. case 3:
  213. double averageSales;
  214. averageSales = averageResult(spMonthlySales,NumberOfEmployees);
  215. displayEmployees(spRefNo,spName,spMonthlySales,spGrossPay,spDeductions,spNetPay,averageSales,
  216. "Employees whose monthly sales are below the average");
  217.  
  218. break;
  219.  
  220. case 4:
  221.  
  222. for ( int index = 0; index < NumberOfEmployees; index = index++)
  223. {
  224.  
  225. if (spMonthlySales[empCount] = highestSales)
  226. {
  227.  
  228. spMonthlySales[index] = spNetPay[index] + 500;
  229.  
  230. System.out.println((spRefNo[index]) + (spGrossPay[index]) + (spDeductions[index]) + (spNetPay[index]));
  231.  
  232.  
  233. }
  234.  
  235.  
  236.  
  237. }
  238.  
  239.  
  240. }// switch statement
  241.  
  242.  
  243. }// end of while
  244.  
  245. }// end of main module
  246.  
  247. }// end of classS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement