Sofiarw4 Posted November 24, 2007 at 04:21 PM Report Share #149952 Posted November 24, 2007 at 04:21 PM A Câmara Municipal de Curral dos SeteSete pretende um programa que lhe permita fazer a gestão dos seus 77 funcionários. Apenas pretende saber o seu nome! Desenvolva um programa em Java, com: a) Um módulo para apresentar um menu com as várias funcionalidades do programa (indicadas nas alíneas seguintes). 😛 Um módulo para admitir funcionários; c) Um módulo para pesquisar funcionários; d) Um módulo para alterar funcionários; e) Um módulo para despedir funcionários; f) Um módulo para listar todos os funcionários; g) Um módulo para determinar e devolver o valor da despesa mensal com salários, sabendo que cada funcionário ganha 7€/hora e trabalha 7horas por semana; h) Um módulo para listar todos os funcionários com um dado apelido no nome; Alguem me ajude por favor... agradecia ajuda.. Obrigado Link to comment Share on other sites More sharing options...
Betovsky Posted November 24, 2007 at 04:25 PM Report Share #149953 Posted November 24, 2007 at 04:25 PM Para compilar tens de fazer javac TeuPrograma.java Era esta a tua dúvida? "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
magician Posted November 24, 2007 at 04:30 PM Report Share #149955 Posted November 24, 2007 at 04:30 PM Ajudamos com problemas que tenhas com o código ou dificuldades mas não fazemos trabalhos. I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
Sofiarw4 Posted November 25, 2007 at 11:35 AM Author Report Share #150175 Posted November 25, 2007 at 11:35 AM Isto é uma possivel resposta ao problema? a minha duvida é q o programa realiza mas depois nao volta a repetir... ou seja, n vai novamente ao menu.. ?... n sei como faxer... sera q alguem agr m pode ajudar? import java.util.Scanner; public class Main { public Main() { } public static void main(String[] args) { int op,nelem; String [] funcionários=new String [77]; String nome = null; Scanner ler=new Scanner(System.in); System.out.println("|----------------MENU---------------|"); System.out.println("|1-| Admitir funcionário(s)---------|"); System.out.println("|2-| Procurar funcionário(s)--------|"); System.out.println("|3-| Alterar funcionário(s)---------|"); System.out.println("|4-| Despedir funcionário(s)--------|"); System.out.println("|5-| Listar todos os funcionário(s)-|"); System.out.println("|6-| Salários-----------------------|"); System.out.println("|7-| Busca por apelido--------------|"); System.out.println("Escolha a sua opção"); op=ler.nextInt(); System.out.println("Qual o número de funcionários a inserir?"); nelem=ler.nextInt(); switch (op){ case 1:while(nelem>funcionários.length){ System.out.println("Erro! Digite um número de funcionários inferior ou igual a "+funcionários.length+"!!"); nelem=ler.nextInt();} admitir(funcionários,nome,nelem); break; case 2: procurar(funcionários,nome,nelem); break; case 3: alterar(funcionários,nome,nelem); break; case 4: despedir(funcionários,nome,nelem); break; case 5: listar(funcionários,nelem); break; case 6: salarios(nelem); break; } } public static void admitir(String [] funcionários,String nome,int nelem){ Scanner ler=new Scanner(System.in); for (int i=0;i<nelem;i++){ System.out.println("Qual o nome do funcionário?"); nome=ler.next(); funcionários[i]=nome; } } public static void procurar(String[]funcionários,String nome,int nelem){ boolean encontrou=false; int i=0; Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionário que deseja procurar?"); nome=ler.next(); while(i<nelem && encontrou==false){ if (nome==funcionários[i]) encontrou=true; else i++;} if (encontrou==true) System.out.println("O funcionário "+nome+" existe na posição "+i); } public static void alterar(String[]funcionários, String nome,int nelem){ int i; Scanner ler=new Scanner(System.in); System.out.println("Qual a posição em que se encontra o funcionário que pretende alterar?"); i=ler.nextInt(); System.out.println(funcionários[i]); System.out.println("Digite o novo nome:"); nome=ler.next(); funcionários[i]=nome; } public static void despedir(String[]funcionários, String nome,int nelem){ Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionário que pretende despedir?"); nome=ler.next(); procurar(funcionários,nome,nelem); int i=0; while(i<nelem){ funcionários[i-1]=funcionários[i]; i++;} System.out.println("O funcionário "+nome+" foi despedido."); } public static void listar(String[]funcionários,int nelem){ for(int i=0;i<nelem;i++) System.out.println(funcionários[i]); } public static int salarios(int nelem){ int dias,despesa,mes; Scanner ler=new Scanner(System.in); System.out.println("Qual o número do mês?"); mes=ler.nextInt(); while(mes<1 || mes>12){ System.out.println("Mês inválido!Digite um número válido!"); 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; } } Link to comment Share on other sites More sharing options...
Rui Carlos Posted November 25, 2007 at 12:03 PM Report Share #150179 Posted November 25, 2007 at 12:03 PM Coloca o código que te permite escolher novas opções dentro de um ciclo. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Sofiarw4 Posted November 25, 2007 at 12:23 PM Author Report Share #150181 Posted November 25, 2007 at 12:23 PM Coloca o código que te permite escolher novas opções dentro de um ciclo. Ta-m a dar erro... =/.. devo tar a por o ciclo mal... podes mostrar como tas a por o ciclo? Link to comment Share on other sites More sharing options...
Rui Carlos Posted November 25, 2007 at 12:36 PM Report Share #150184 Posted November 25, 2007 at 12:36 PM Eu não estou a pôr ciclo nenhum! Simplesmente isso é o truque básico para este tipo de questões. Mostra aqui como colocaste o ciclo e vê-se qual é o problema. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Hipnoted Posted November 25, 2007 at 12:36 PM Report Share #150185 Posted November 25, 2007 at 12:36 PM import java.util.Scanner; public class Main { public Main() { } public static void main(String[] args) { int op,nelem; String [] funcionários=new String [77]; String nome = null; Scanner ler=new Scanner(System.in); do{ System.out.println("|----------------MENU---------------|"); System.out.println("|1-| Admitir funcionário(s)---------|"); System.out.println("|2-| Procurar funcionário(s)--------|"); System.out.println("|3-| Alterar funcionário(s)---------|"); System.out.println("|4-| Despedir funcionário(s)--------|"); System.out.println("|5-| Listar todos os funcionário(s)-|"); System.out.println("|6-| Salários-----------------------|"); System.out.println("|7-| Busca por apelido--------------|"); System.out.println("Escolha a sua opção"); op=ler.nextInt(); System.out.println("Qual o número de funcionários a inserir?"); nelem=ler.nextInt(); switch (op){ case 1:while(nelem>funcionários.length){ System.out.println("Erro! Digite um número de funcionários inferior ou igual a "+funcionários.length+"!!"); nelem=ler.nextInt();} admitir(funcionários,nome,nelem); break; case 2: procurar(funcionários,nome,nelem); break; case 3: alterar(funcionários,nome,nelem); break; case 4: despedir(funcionários,nome,nelem); break; case 5: listar(funcionários,nelem); break; case 6: salarios(nelem); break; } }while(op!=0); } public static void admitir(String [] funcionários,String nome,int nelem){ Scanner ler=new Scanner(System.in); for (int i=0;i<nelem;i++){ System.out.println("Qual o nome do funcionário?"); nome=ler.next(); funcionários[i]=nome; } } public static void procurar(String[]funcionários,String nome,int nelem){ boolean encontrou=false; int i=0; Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionário que deseja procurar?"); nome=ler.next(); while(i<nelem && encontrou==false){ if (nome==funcionários[i]) encontrou=true; else i++;} if (encontrou==true) System.out.println("O funcionário "+nome+" existe na posição "+i); } public static void alterar(String[]funcionários, String nome,int nelem){ int i; Scanner ler=new Scanner(System.in); System.out.println("Qual a posição em que se encontra o funcionário que pretende alterar?"); i=ler.nextInt(); System.out.println(funcionários[i]); System.out.println("Digite o novo nome:"); nome=ler.next(); funcionários[i]=nome; } public static void despedir(String[]funcionários, String nome,int nelem){ Scanner ler=new Scanner(System.in); System.out.println("Qual o funcionário que pretende despedir?"); nome=ler.next(); procurar(funcionários,nome,nelem); int i=0; while(i<nelem){ funcionários[i-1]=funcionários[i]; i++;} System.out.println("O funcionário "+nome+" foi despedido."); } public static void listar(String[]funcionários,int nelem){ for(int i=0;i<nelem;i++) System.out.println(funcionários[i]); } public static int salarios(int nelem){ int dias,despesa,mes; Scanner ler=new Scanner(System.in); System.out.println("Qual o número do mês?"); mes=ler.nextInt(); while(mes<1 || mes>12){ System.out.println("Mês inválido!Digite um número válido!"); 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; } } Deve ser tipo isto, isto é adicionando um do{ ... while(op!=0); Toma em atenção que é necessário adicionares a opção 0 para quando a escolheres o programa sair fora. Não testei. "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência" Link to comment Share on other sites More sharing options...
Gurzi Posted November 27, 2007 at 10:19 PM Report Share #150806 Posted November 27, 2007 at 10:19 PM Desculpa a pergunta , mas porque não criar uma classe Funcionario ?? E criavas vários métodos consoante esses que precisas nos menus.. Pelo meu ponto de vista seria muito mais fácil e útil... Link to comment Share on other sites More sharing options...
Rui Carlos Posted November 27, 2007 at 11:03 PM Report Share #150817 Posted November 27, 2007 at 11:03 PM Desculpa a pergunta , mas porque não criar uma classe Funcionario ?? E criavas vários métodos consoante esses que precisas nos menus.. Pelo meu ponto de vista seria muito mais fácil e útil... Porque que há pessoal que apesar de estar numa linguagem OO, gosta de programar "à la C". Dependendo do contexto em que se está a fazer o programa pode-se justificar ou não esta alternativa (quanto mais não seja para se conhecer uma alternativa ao metodologia OO). Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now