Ir ao conteúdo
  • Cadastre-se

Elyton Moreira

Membro Pleno
  • Posts

    45
  • Cadastrado em

  • Última visita

Tudo que Elyton Moreira postou

  1. O ruim que nao sei usar arraylist porque ainda nao vi esse assunto ainda na facul :/ menu deixa pra la depois eu faço kkkkk como eu faria estrutura de repetição para remover novamente eu tentei fazer um while ( true) mais n deu certo como falei no post logo acima, você tem ae algum exemplo que possa fazer junto com aquela função de deseja remover sim ou nao e retornar pedir pro usuario informar o nome a ser removido e depois mostrar a lista atualizada dos funcionario após remover um dos funcionarios ?
  2. @TwistedSoul No netebeans deu um erro no } while (!resposta.equals("0")); adicionado 5 minutos depois desculpa minha nubisse em java mais eu chamei todos os metodos mais o menu continua nao sendo executado primeiro String resposta = ""; do { resposta = JOptionPane.showInputDialog(null, "1. Cadastrar\n2. Excluir\n3. Mostrar funcionarios cadastrados\n4. Mostrar folha de pagamento\n0. Fim\n\nDigite uma Opcao"); switch (resposta) { case "1": asus.todosFuncionarios(quant); break; case "2": asus.removerRegistro(resposta, quant); break; case "3": asus.todosFuncionarios(quant); break; case "4": asus.folhaDePagamento(quant); break; } } while(!resposta.equals("0"));
  3. @TwistedSoul o ruim que tentei fazer isso mais ele aparece um erro quando tento remover novamente, e sobre menu nao conseguir cria lo chamando cada função
  4. você tem o codigo ai ? Para retornar adicionado 1 minuto depois @Catí Kurumim 7 Aqui o codigo pra você ver import javax.swing.JOptionPane; public class Empresa { String codigo,nome,cnpj; Funcionario user[]; public Empresa(int quant){ user=new Funcionario[quant]; for(int i=0;i<quant;i++){ this.user[i]=new Funcionario(); } } public void todosFuncionarios(int quant){ for(int i=0,j=1;i<quant;i++,j++){ this.user[i].nome= JOptionPane.showInputDialog("informe o nome do funcionario"+j); this.user[i].codigo= JOptionPane.showInputDialog("informe o codigo do funcionario"+j); this.user[i].matricula= Integer.parseInt(JOptionPane.showInputDialog("informe a matricula do funcionario "+j)); this.user[i].salario= Float.parseFloat(JOptionPane.showInputDialog("informe o salario do funcionario"+j)); this.user[i].setor.codigo=JOptionPane.showInputDialog("informe o codigo do setor do funcionario"+j); this.user[i].setor.descricao=JOptionPane.showInputDialog("informe a descrição do setor do funcionario"+j); } } public float folhaDePagamento(int quant){ float total=0; for(int i=0;i<quant;i++){ total+=this.user[i].salario; } return(total); } public boolean removerRegistro(String nome,int quant){ int cont =0; for(int i=0;i<quant;i++){ if(this.user[i].nome.equals(nome)){ this.user[i]=null; cont++; } } if(cont>0){ return(true); } return(false); } } -------------------------------------------------------------------------------------------------- import javax.swing.JOptionPane; public class Funcionario { String codigo,nome; int matricula; float salario; Setor setor; public Funcionario(){ this.setor=new Setor(); } public void Mostra() { JOptionPane.showMessageDialog(null, "\nNome do funcionario: "+this.nome+"" +"\nCodigo do funcionario: "+this.codigo+"" +"\nSalario do funcionario: "+this.salario+"" +"\nMatricula do funcionario: "+this.matricula+"" +"\nCodigo do setor do funcionario: "+this.setor.codigo+"" +"\nDescrição do funcionario: "+this.setor.descricao); } } ------------------------------------------------------------------------------------------------------------------ import java.util.Scanner; import javax.swing.JOptionPane; public class Principal { public static void main (String [] args){ int quant=Integer.parseInt(JOptionPane.showInputDialog("quantidade de funcionarios")); Empresa asus = new Empresa(quant); asus.codigo=JOptionPane.showInputDialog("Informe o codigo da empresa: "); asus.nome=JOptionPane.showInputDialog("Informe o nome da empresa: "); asus.cnpj=JOptionPane.showInputDialog("Informe o cnpj da empresa: "); asus.todosFuncionarios(quant); for(int i=0;i<quant;i++){ if(asus.user[i]!=null){ asus.user[i].Mostra(); } } JOptionPane.showMessageDialog(null,"Total da folha de pagamento da empresa R$: "+asus.folhaDePagamento(quant)); if(asus.removerRegistro(JOptionPane.showInputDialog("informe nome a ser removido: "), quant)){ JOptionPane.showMessageDialog(null,"registro removido com sucesso!!!"); }else{ JOptionPane.showMessageDialog(null,"registro não encontrado."); } for(int i=0;i<quant;i++){ if(asus.user[i]!=null){ asus.user[i].Mostra(); } } } //MEnu tentei fazer mais nao deu certo /* public static void menu(){ JOptionPane.showMessageDialog(null,"\tCadastro da Empresa"); JOptionPane.showMessageDialog(null,"1. Cadastrar"); JOptionPane.showMessageDialog(null,"2. Excluir"); JOptionPane.showMessageDialog(null,"3. Mostrar funcionarios cadastrados"); JOptionPane.showMessageDialog(null,"4. Mostrar folha de pagamento"); JOptionPane.showMessageDialog(null,"0. Fim"); JOptionPane.showInputDialog("Digite uma Opcao:"); } public static void todosFuncionarios(){ JOptionPane.showMessageDialog(null,"Você entrou no método cadastrar."); } public static void removerRegistro(){ JOptionPane.showMessageDialog(null,"Você entrou no método Exclir registro."); } public static void Mostra(){ JOptionPane.showMessageDialog(null,"Você entrou no método Mostrar Funcionario cadastrado."); } public static void folhaDePagamento(){ JOptionPane.showMessageDialog(null,"Você entrou no método Mostrar folha de pagamento."); } public static void main() { int opcao; Scanner entrada = new Scanner(System.in); do{ menu(); opcao = entrada.nextInt(); switch(opcao){ case 1: todosFuncionarios(); break; case 2: removerRegistro(); break; case 3: Mostra(); break; case 4: folhaDePagamento(); break; default: JOptionPane.showMessageDialog(null,"Opção inválida."); } } while(opcao != 0); } */ }
  5. Boa noite, to em duvida como fazer um loop que apareça mensagem se deseja apagar novamente o funcionario cadastrado digitando o nome do mesmo para ser apagado, alguém ajuda ai com o meu codigo ? eu ja tentei while(true){ mais da erro na hora de excluir pela segunda vez if(asus.removerRegistro(JOptionPane.showInputDialog("informe nome a ser removido: "), quant)){ JOptionPane.showMessageDialog(null,"registro removido com sucesso!!!"); }else{ JOptionPane.showMessageDialog(null,"registro não encontrado."); } for(int i=0;i<quant;i++){ // Essas linha mostra a lista de funcionario apos eu ter excluido um dos funcionario que cadastrei MOSTRANDO NA TELA if(asus.user[i]!=null){// asus.user[i].Mostra();// } } }
  6. @Jones Damas como implemento menu nesse codigo nao manjo muito fazer menu em java usando netbeans
  7. @Jones Damas Deu certo nao pow coloquei while entre a função informe qual deletar mais nao retornou Faça o teste ai ele também nao vai retornar a função para voltar a deletar
  8. @Jones Damas É tipo assim eu cadastro 3 usuario e quero excluir 2 só que meu codigo quando eu excluo ele nao volta mostrando mensagem se desejo remover mais outro, esse algoritmo eu fiz sem menu vou postar codigo completo só um momento adicionado 4 minutos depois import javax.swing.JOptionPane; public class Empresa { String codigo,nome,cnpj; Funcionario user[]; public Empresa(int quant){ user=new Funcionario[quant]; for(int i=0;i<quant;i++){ this.user[i]=new Funcionario(); } } public void todosFuncionarios(int quant){ for(int i=0,j=1;i<quant;i++,j++){ this.user[i].nome= JOptionPane.showInputDialog("informe o nome do funcionario"+j); this.user[i].codigo= JOptionPane.showInputDialog("informe o codigo do funcionario"+j); this.user[i].matricula= Integer.parseInt(JOptionPane.showInputDialog("informe a matricula do funcionario "+j)); this.user[i].salario= Float.parseFloat(JOptionPane.showInputDialog("informe o salario do funcionario"+j)); this.user[i].setor.codigo=JOptionPane.showInputDialog("informe o codigo do setor do funcionario"+j); this.user[i].setor.descricao=JOptionPane.showInputDialog("informe a descrição do setor do funcionario"+j); } } public float folhaDePagamento(int quant){ float total=0; for(int i=0;i<quant;i++){ total+=this.user[i].salario; } return(total); } public boolean removerRegistro(String nome,int quant){ int cont =0; for(int i=0;i<quant;i++){ if(this.user[i].nome.equals(nome)){ this.user[i]=null; cont++; } } if(cont>0){ return(true); } return(false); } } -------------------------------------------------------------------------------------------------- import javax.swing.JOptionPane; public class Funcionario { String codigo,nome; int matricula; float salario; Setor setor; public Funcionario(){ this.setor=new Setor(); } public void Mostra() { JOptionPane.showMessageDialog(null, "\nNome do funcionario: "+this.nome+"" +"\nCodigo do funcionario: "+this.codigo+"" +"\nSalario do funcionario: "+this.salario+"" +"\nMatricula do funcionario: "+this.matricula+"" +"\nCodigo do setor do funcionario: "+this.setor.codigo+"" +"\nDescrição do funcionario: "+this.setor.descricao); } } ------------------------------------------------------------------------------------------------------------------ import java.util.Scanner; import javax.swing.JOptionPane; public class Principal { public static void main (String [] args){ int quant=Integer.parseInt(JOptionPane.showInputDialog("quantidade de funcionarios")); Empresa asus = new Empresa(quant); asus.codigo=JOptionPane.showInputDialog("Informe o codigo da empresa: "); asus.nome=JOptionPane.showInputDialog("Informe o nome da empresa: "); asus.cnpj=JOptionPane.showInputDialog("Informe o cnpj da empresa: "); asus.todosFuncionarios(quant); for(int i=0;i<quant;i++){ if(asus.user[i]!=null){ asus.user[i].Mostra(); } } JOptionPane.showMessageDialog(null,"Total da folha de pagamento da empresa R$: "+asus.folhaDePagamento(quant)); if(asus.removerRegistro(JOptionPane.showInputDialog("informe nome a ser removido: "), quant)){ JOptionPane.showMessageDialog(null,"registro removido com sucesso!!!"); }else{ JOptionPane.showMessageDialog(null,"registro não encontrado."); } for(int i=0;i<quant;i++){ if(asus.user[i]!=null){ asus.user[i].Mostra(); } } } //MEnu tentei fazer mais se alguém me ajudar como fazer ele funcionar corretamente :) /* public static void menu(){ JOptionPane.showMessageDialog(null,"\tCadastro da Empresa"); JOptionPane.showMessageDialog(null,"1. Cadastrar"); JOptionPane.showMessageDialog(null,"2. Excluir"); JOptionPane.showMessageDialog(null,"3. Mostrar funcionarios cadastrados"); JOptionPane.showMessageDialog(null,"4. Mostrar folha de pagamento"); JOptionPane.showMessageDialog(null,"0. Fim"); JOptionPane.showInputDialog("Digite uma Opcao:"); } public static void todosFuncionarios(){ JOptionPane.showMessageDialog(null,"Você entrou no método cadastrar."); } public static void removerRegistro(){ JOptionPane.showMessageDialog(null,"Você entrou no método Exclir registro."); } public static void Mostra(){ JOptionPane.showMessageDialog(null,"Você entrou no método Mostrar Funcionario cadastrado."); } public static void folhaDePagamento(){ JOptionPane.showMessageDialog(null,"Você entrou no método Mostrar folha de pagamento."); } public static void main() { int opcao; Scanner entrada = new Scanner(System.in); do{ menu(); opcao = entrada.nextInt(); switch(opcao){ case 1: todosFuncionarios(); break; case 2: removerRegistro(); break; case 3: Mostra(); break; case 4: folhaDePagamento(); break; default: JOptionPane.showMessageDialog(null,"Opção inválida."); } } while(opcao != 0); } */ }
  9. Boa tarde, estou começando a mexer em java IDE Netbeans a poucos meses queria sabe como eu faço para deletar novamente um ou mais registro. ex cadastrei 3 funcionario queria deletar 2 mais só consigo deletar 1 e depois mostra a lista de funcionario atualizado após a exclusão. mais nao sei como voltar o loop e o usuario digitar novamente qual funcionario deletar novamente, me ajudem ae please //METODO REMOVER QUE USEI NA CLASS EMPRESA public boolean removerRegistro(String nome,int quant){ int cont =0; for(int i=0;i<quant;i++){ if(this.user[i].nome.equals(nome)){ this.user[i]=null; cont++; } } if(cont>0){ return(true); } return(false); } } // AQUI O USUARIO VAI INFORMAR QUAL FUNCIONARIO REMOVER INFORMANDO O NOME !!! if(asus.removerRegistro(JOptionPane.showInputDialog("informe nome a ser removido: "), quant)){ JOptionPane.showMessageDialog(null,"registro removido com sucesso!!!"); }else{ JOptionPane.showMessageDialog(null,"registro não encontrado."); } for(int i=0;i<quant;i++){ if(asus.user[i]!=null){ asus.user[i].Mostra(); } } }
  10. Estou tendo um problema eu informo a quantidade, quando vou digitar os numero eu digito primeiro numero ele fecha, como faço pra consertar isso pra ele digitar todos os numeros que eu informei em quantidade ? package maiormenor; import java.util.Scanner; import javax.swing.JOptionPane; public class MaiorMenor { public static void main(String[] args) { int maior=0,menor=0,soma = 0,media = 0,cont=Integer.parseInt(JOptionPane.showInputDialog("digite a quantidade: ")); Scanner entrada=new Scanner(System.in); for(int i=1,j=0;i<=cont;i++){ JOptionPane.showInputDialog("digite um numero: "); j=entrada.nextInt(); if(i==1||maior<j){ maior=j; } if(i==1||menor>j){ menor=j; } soma = j+soma; } media = soma/cont; JOptionPane.showMessageDialog(null,"o maior numero é = "+ maior); JOptionPane.showMessageDialog(null,"o menor numero é = " +menor); JOptionPane.showMessageDialog(null," media é igual = " +media); } }
  11. Galera como eu resolve esse erro eu informe a quantidade pra saber o numero maior menor e a media, eu informo a quantidade 3 e quando vou digitar os 3 numero só consigo digitar o primeiro porque quando termino de digitar ele fecha a janela como resolvo isso ? Me ajuda ae pessoal package teste; import javax.swing.JOptionPane; import java.util.Scanner; public class Teste { public static void main(String[] args) { int maior=0,menor=0,cont=Integer.parseInt(JOptionPane.showInputDialog("digite a quantidade: ")); Scanner entrada=new Scanner(System.in); for(int i=1,j=0;i<=cont;i++){ j=JOptionPane.showInputDialog("digite um numero: "); j=entrada.nextInt(); if(i==1||maior<j){ maior=j; } if(i==0||menor>j){ menor=j; } } System.out.format("\nmaior: %d menor: %d\n", maior,menor); //JOptionPane.showMessageDialog(null,"maior é :"+maior)); // JOptionPane.showMessageDialog(null,"maior é :"+menor)); } }
  12. adicionado 20 minutos depois Problema resolvido valeu galera @bngomes @Math.Pi
  13. A fábrica da Vôlquis produz uma determinada quantidade de automóveis por dia. Faça um programa para ler a quantidade produzida diariamente ao longo de um ano, e depois informe: a. A quantidade produzida no ano todo; b. A média produzida no ano; c. A menor produção diária do ano; d. A maior produção diária do ano. Considere que o valor -1 indica fim da digitação, e que podem haver dias sem produção. package fabrica; import javax.swing.JOptionPane; public class Fabrica { public static void main(String[] args) { int dias, prod, soma = 0, menorp = 0, maiorp = 0; dias=0; prod = Integer.parseInt(JOptionPane.showInputDialog("Digite o produto")); while(prod <> 1)&&(dias < 365){ dias = dias+1; soma = soma+prod; if(dias=1){ maiorp = prod; menorp = prod; }else{ if (prod > maiorp){ maiorp = prod; }else if (prod<menorp){ menorp = prod; } } } JOptionPane.showMessageDialog(null,"a quantidade produzida no ano todo é: "+soma); JOptionPane.showMessageDialog(null,"a média produzida no ano é: "+prod); JOptionPane.showMessageDialog(null,"a menor produção diária do ano é: "+menorp); JOptionPane.showMessageDialog(null,"a maior produção diária do ano é: "+maiorp); } }
  14. Alguém tem algum exemplo de excluir registro em arquivo texto, que nao seja binario ?
  15. função "pesquisar" fiz assim int pesquisar(){ char leitor [50],str1[20],str2[20],cod[30]; int i=0,j=0; FILE*arquivo=fopen("dados.txt","r"); if(arquivo==NULL)exit(1); setbuf(stdin,NULL); printf("pesquisar codigo:"); scanf("%s",cod); while(fgets(leitor,50,arquivo)){ sscanf(leitor,"%s %s",str1,str2); // 'sscanf' string que divide em outras string if(strcasecmp(str2,cod)==0)i+=1; if(i>=1){ if(i>=1&&j<=4)printf("%s \n",leitor); j++; } } if(i>=1){ printf("registro encontrado \n"); }else if(i==0){ printf("registro nao encontrado \n"); } fclose(arquivo); } E funcionou tranquilo alguém ajuda na função deletar registro :/
  16. @vangodp seu codigo nao funcionou aqui porque o professor queria no anunciado do trabalho informar o codigo do registro para ser apagado adicionado 2 minutos depois Eu cadastrei 3 usuario, mas na hora de abrir menu excluir nao apareceu a opção "informe o codigo a ser excluido "
  17. @vangodp Eu consegui fazer a função "Pesquisar" com colegas na faculdade, só ficou faltando essa função "excluir" nao consigo fazer de jeito nenhum :/
  18. eu fiz o codigo só que falta 2 funçoes para acabar o trabalho os 2 requisitos faltando sao 1)Deletar um registro do arquivo. O usuário deverá escolher o valor do código do registro a ser excluído. 2)Pesquisar um registro que esteja armazenado no arquivo. O usuário deverá escolher o valor do código do registro a ser pesquisado. Caso o registro seja encontrado no arquivo, deverá ser mostrada uma mensagem com os dados do registro, caso contrário, deverá ser mostrada a mensagem “registro não encontrado no arquivo”. codigo abaixo por favor ajudem please #include <stdio.h> #include <stdlib.h> int menu; typedef struct midia{ char nome[30],genero[30],tipo[30],codigo[30],anolancamento[30]; }dados; int cadastrar(){ struct midia; dados locadora; setbuf(stdin,NULL); printf("digite seu nome: "); gets(locadora.nome); setbuf(stdin,NULL); printf("digite o genero: "); scanf("%s",&locadora.genero); setbuf(stdin,NULL); printf("digite o tipo DVD OU BLURAY: "); scanf("%s",&locadora.tipo); setbuf(stdin,NULL); printf("digite o ano de lancamento: "); scanf("%s",&locadora.anolancamento); setbuf(stdin,NULL); printf("digite o codigo: "); scanf("%s",&locadora.codigo); FILE *arquivo=fopen("dados.txt","a"); if(!arquivo) exit(1); fprintf(arquivo,"nome: %s\n",locadora.nome); fprintf(arquivo,"genero: %s\n",locadora.genero); fprintf(arquivo,"tipo: %s\n",locadora.tipo); fprintf(arquivo,"ano do lancamento: %s\n",locadora.anolancamento); fprintf(arquivo,"codigo: %s\n \n",locadora.codigo); fclose(arquivo); printf("cadastro realizado com sucesso \n"); } int pesquisar(){ printf("Nome nao encontrado\n"); printf("\n----------------------------------------------------------\n\n"); } int deletar(){ } int excluirtodos(){ int op; printf("Deseja Realmente excluir todos? \n [1-Sim ou 2-nao]: "); scanf("%d",&op); if (op == 1){ struct midia; FILE * arquivo; arquivo = fopen("dados.txt","w"); printf("Todos excluidos com Exito!"); fclose(arquivo); } getch(); } main(){ do{ printf("\n================ MENU ====================\n"); printf("1 - Cadastrar\n"); printf("2 - Pesquisar\n"); printf("3 - Deletar registro --- falhando ---------- \n"); printf("4 - limpar arquivo\n"); printf("0 - Sair\n"); printf("===================================="); printf("\nDigite a alternativa desejada: "); scanf("%d",&menu); if(menu==1){ // LISTA PARA CADASTRAR cadastrar(); } if(menu==2){ // LISTA PARA PESQUISAR OS REGISTROS pesquisar(); } if(menu==3){ deletar(); //FUNÇÃO EXCLUIR REGISTRO } if(menu==4){ excluirtodos(); // FUNÇÃO limpar REGISTRO } } while(menu!=0); getch(); system("pause"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!