Вы находитесь на странице: 1из 9

1. A Cmara Municipal de Curral dos SeteSete pretende um programa que lhe permita fazer a gesto dos seus 77 funcionrios.

Apenas pretende saber o seu nome! Desenvolva um programa em Java, com: a) Um mdulo para apresentar um menu com as vrias funcionalidades do programa (indicadas nas alneas seguintes). b) Um mdulo para admitir funcionrios; c) Um mdulo para pesquisar funcionrios; d) Um mdulo para alterar funcionrios; e) Um mdulo para despedir funcionrios; f) Um mdulo para listar todos os funcionrios; g) Um mdulo para determinar e devolver o valor da despesa mensal com salrios, sabendo que cada funcionrio ganha 7/hora e trabalha 7horas por semana; h) Um mdulo para listar todos os funcionrios com um dado apelido no nome;

N consigo resolver... alguem sabe como se resolve?? Agradecia ajuda... Obrigado

1.

daltoncamargo
Posts:8899

Publicado em: 09/04/2009 23:18:44

Quando voc tiver algum problema em seu cdigo, voc posta a e ns lhe ajudaremos, caso contrrio, ficar bem difcil. Abrao, _________________ Sugesto de Livros

--

--

1.

Sofiarw4
Posts:7

Publicado em: 09/04/2009 23:18:44 daltoncamargo Quando voc tiver algum problema em seu cdigo, voc posta a e ns lhe ajudaremos, caso contrrio, ficar bem difcil. Abrao,

Isto esta correcto pa resoluao deste exercicio?


1. import java.util.Scanner; 2. 3. public class Main { 4. public Main() { 5. } 6. public static void main(String[] args) { 7. int op,nelem; 8. String [] funcionrios=new String [77]; 9. String nome = null; 10. Scanner ler=new Scanner(System.in); 11. System.out.println("|----------------MENU---------------|");

12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.

System.out.println("|1-| Admitir funcionrio(s)---------|"); System.out.println("|2-| Procurar funcionrio(s)--------|"); System.out.println("|3-| Alterar funcionrio(s)---------|"); System.out.println("|4-| Despedir funcionrio(s)--------|"); System.out.println("|5-| Listar todos os funcionrio(s)-|"); System.out.println("|6-| Salrios-----------------------|"); System.out.println("|7-| Busca por apelido--------------|"); System.out.println("Escolha a sua opo"); op=ler.nextInt(); System.out.println("Qual o nmero de funcionrios a inserir?"); nelem=ler.nextInt(); switch (op){ case 1:while(nelem>funcionrios.length){ System.out.println("Erro! Digite um nmero de funcionrios inferior ou i gual a "+funcionrios.length+"!!"); nelem=ler.nextInt();} admitir(funcionrios,nome,nelem); break; case 2: procurar(funcionrios,nome,nelem); break; case 3: alterar(funcionrios,nome,nelem); break; case 4: despedir(funcionrios,nome,nelem); break; case 5: listar(funcionrios,nelem); break; case 6: salarios(nelem); break; } } public static void admitir(String [] funcionrios,String nome,int nelem){ Scanner ler=new Scanner(System.in); for (int i=0;i<nelem;i++){ System.out.println("Qual o nome do funcionrio?"); nome=ler.next(); funcionrios<i>=nome; } } public static void procurar(String[]funcionrios,String nome,int nelem){ boolean encontrou=false; int i=0; Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionrio que deseja procurar?"); nome=ler.next(); while(i<nelem && encontrou==false){ if (nome==funcionrios<i>) encontrou=true; else i++;} if (encontrou==true) System.out.println("O funcionrio "+nome+" existe na posio "+i); } public static void alterar(String[]funcionrios, String nome,int nelem){ int i; Scanner ler=new Scanner(System.in); System.out.println("Qual a posio em que se encontra o funcionrio que pretende al terar?"); i=ler.nextInt(); System.out.println(funcionrios<i>); System.out.println("Digite o novo nome:"); nome=ler.next(); funcionrios<i>=nome;

71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111.

} public static void despedir(String[]funcionrios, String nome,int nelem){ Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionrio que pretende despedir?"); nome=ler.next(); procurar(funcionrios,nome,nelem); int i=0; while(i<nelem){ funcionrios[i-1]=funcionrios<i>; i++;} System.out.println("O funcionrio "+nome+" foi despedido."); } public static void listar(String[]funcionrios,int nelem){ for(int i=0;i<nelem;i++) System.out.println(funcionrios<i>); } public static int salarios(int nelem){ int dias,despesa,mes; Scanner ler=new Scanner(System.in); System.out.println("Qual o nmero do ms?"); mes=ler.nextInt(); while(mes<1 || mes>12){ System.out.println("Ms invlido!Digite um nmero vlido!"); mes=ler.nextInt(); } switch(mes){ case 2: dias=28;break; case 1: dias=31;break; case 3: dias=31;break; case 5: dias=31;break; case 7: dias=31;break; case 8: dias=31;break; case 10: dias=31;break; case 12: dias=31;break; default: dias=30;break; } despesa=(7*nelem)*dias; return despesa; } }

1.

batman
Posts:288

Publicado em: 09/04/2009 23:18:44

Ol Sofiarw4 Dei uma olhadinha no seu cdigo no tinha nada de errado, somente a lgica.. heheheh... brincadeirinha. Ele apenas estava lendo uma vez e acabava o programa, ou seja, no tinha o por que de guardar o nome em uma varivel do tipo array. Pensando nisso dei uma melhoradinha no seu cdigo. Veja como ficou.
1. import java.util.Scanner; 2. 3. public class Main { 4. private String[] funcionrios = null; 5. private Scanner ler = null; 6. private int mes = -1; 7. 8. public Main() { 9. funcionrios = new String[77]; 10. ler = new Scanner(System.in); 11. 12. int op; 13. 14. do { 15. op = menu(); 16. inteligencia(op); 17. } while (op != <img src="http://javafree.uol.com.br/forum/images/smiles/icon_cool.g if">; 18. } 19. 20. private int menu() { 21. int op; 22. do { 23. System.out.println("\n|----------------MENU---------------|"); 24. System.out.println("|1-| Admitir funcionrio(s)---------|"); 25. System.out.println("|2-| Procurar funcionrio(s)--------|"); 26. System.out.println("|3-| Alterar funcionrio(s)---------|"); 27. System.out.println("|4-| Despedir funcionrio(s)--------|"); 28. System.out.println("|5-| Listar todos os funcionrio(s)-|"); 29. System.out.println("|6-| Salrios-----------------------|"); 30. System.out.println("|7-| Busca por Apelido--------------|"); 31. System.out.println("|8-| Sair do sistema----------------|"); 32. System.out.print("Escolha a sua opo: "); 33. op = ler.nextInt(); 34. System.out.println(); 35. } while (op < 1 || op > <img src="http://javafree.uol.com.br/forum/images/smiles/ic on_cool.gif">; 36. 37. return op; 38. } 39. 40. private void inteligencia(int op) { 41. switch (op) { 42. 43. case 1: 44. admitir(); 45. 46. break; 47.

48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. Julho", 69. 70. 71. 72. f\n\n", 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106.

case 2: procurar(); break; case 3: alterar(); break; case 4: despedir(); break; case 5: listar(); break; case 6: String[] meses = { "Janeiro", "Fevereiro", "Maro", "Abril", "Maio", "Junho", " "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" }; float salario = salarios(); System.out.println(String.format("Total de salrio para o ms de %s de: R$%.2 meses[mes - 1], salario)); break; case 7: buscaPorApelido(); break; } } private void admitir() { int nelem = 0; int qtdeFuncionario = 0; do { System.out.print("Qual o nmero de funcionrios a inserir? "); nelem = ler.nextInt(); if (nelem > funcionrios.length) { System.out.println("Nmero de funcionrios maior que o permitido.\n"); } else { for (int i = 0; i < funcionrios.length; i++) { if (funcionrios<i> == null) { break; } qtdeFuncionario = i + 1; } nelem += qtdeFuncionario; } } while (nelem > funcionrios.length);

107. 108. ler = new Scanner(System.in); 109. 110. for (int i = qtdeFuncionario; i < nelem; i++) { 111. System.out.print("Qual o nome do funcionrio? "); 112. funcionrios<i> = ler.nextLine(); 113. } 114. } 115. 116. private int procurar() { 117. ler = new Scanner(System.in); 118. System.out.print("Informe o nome desejado: "); 119. String nome = ler.nextLine(); 120. 121. for (int i = 0; i < funcionrios.length; i++) { 122. if (funcionrios<i> != null) { 123. if (funcionrios<i>.equals(nome)) { 124. System.out.println(String.format("O sistema encontrou o func ionrio %s na posio %02d", nome, i+1)); 125. return i; 126. } 127. } 128. } 129. 130. System.out.println("\n\nO funcionrio no existe!"); 131. 132. return -1; 133. } 134. 135. private void alterar() { 136. ler = new Scanner(System.in); 137. int i = 0; 138. System.out.print("Voc conhece a posio que se encontra o funcionrio ( S/N)? "); 139. String resp = ler.nextLine(); 140. 141. if (resp.contains("s") || resp.contains("S")) { 142. System.out.print("Qual a posio em que se encontra o funcionrio qu e pretende alterar? "); 143. i = ler.nextInt(); 144. i--; 145. } else { 146. i = procurar(); 147. } 148. 149. if (i != -1) { 150. ler = new Scanner(System.in); 151. System.out.println("O sistema encontrou o funcionrio " + funcionri os<i>); 152. System.out.print("Deseja alterar o nome deste funcionrio (S/N)? "); 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. resp = ler.nextLine(); if (resp.contains("s") || resp.contains("S")) { System.out.print("Digite o novo nome: "); funcionrios<i> = ler.nextLine(); } else { System.out.println("\nOperao cancelada pelo usurio!"); } } else { System.out.println("\nFuncionrio no encontrado."); }

163. 164. 165. 166. 167. 168. 169. 170. (S/N)? ");

} private void despedir() { ler = new Scanner(System.in); int i = 0; String nome = null; System.out.println("Voc conhece a posio que se encontra o funcionrio

171. String resp = ler.nextLine(); 172. 173. if (resp.contains("s") || resp.contains("S")) { 174. System.out.println("Qual a posio do funcionrio que pretende despe dir? "); 175. i = ler.nextInt(); 176. i--; 177. } else { 178. i = procurar(); 179. } 180. 181. if (i != -1) { 182. nome = funcionrios<i>; 183. 184. for (int j = i; j < funcionrios.length - 1; j++) { 185. funcionrios[j] = funcionrios[j + 1]; 186. } 187. 188. System.out.println("\n" + nome + " no se encontra mais no quadro de funcionrios."); 189. } 190. } 191. 192. private void listar() { 193. for (int i = 0; i < funcionrios.length; i++) { 194. if (funcionrios<i> != null) { 195. System.out.println(String.format("%02d%s", i+1, funcionrios<i>)); 196. } else { 197. break; 198. } 199. } 200. } 201. 202. private float salarios() { 203. int dias, nelem = 0; 204. float despesa = 0; 205. ler = new Scanner(System.in); 206. 207. boolean erro = false; 208. do { 209. if (erro) { 210. System.out.println("\n\nMs invlido! Escolha um nmero entre 1 e 12."); 211. } 212. erro = true; 213. 214. System.out.print("Qual o nmero do ms?"); 215. mes = ler.nextInt(); 216. } while (mes < 1 || mes > 12); 217. 218. if (mes == 2) {

219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246.

dias = 28; } else if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) { dias = 31; } else { dias = 30; } for (int i = 0; i < funcionrios.length; i++) { if (funcionrios<i> == null) { break; } nelem = i + 1; } despesa = dias * 7 * nelem; return despesa; } private void buscaPorApelido() { System.err.println("Este mtodo voc dever implementar!!! Boa Sorte"); } public static void main(String[] args) { new Main(); } }

At +. _________________ Voc no precisa ser inteligente, basta ter motivao. "Tudo tem o seu tempo determinado, e h tempo para todo o propsito debaixo do cu", Ec 3,1