Jump to content

gustavo.abarroso

Members
  • Content count

    4
  • Joined

  • Last visited

Community Reputation

0 Comum

About gustavo.abarroso

  1. Estou tentando criar uma lista genérica de clientes, onde posso adicionar pessoasFisicas e pessoasJuridicas. Dentro da classe clientes possuo os atributos nome, lista de endereços e limite de crédito. A classe pessoaFisica herda de cliente os atributos acima citados além de possuir o atributo cpf. A classe pessoaJuridica herda de cliente seus atributos e possui também, nomeFantasia e cnpj. O problema que está acontecendo é o seguinte: na hora que cadastro mais de uma pessoa física por exemplo e puxar o relatório, me vem a lista de endereços inteira (conforme foto em anexo) ao invés de vim a lista da pessoa de cada posição do ArrayList de clientes. Como resolvo isso? public void cadastrar() { int op, resp; System.out.println("\n==[Cadastro de clientes]=="); System.out.println("Digite 1 para cadastrar pessoa fisica."); System.out.println("Digite 2 para cadastrar pessoa juridica."); System.out.print("=> "); op = input.nextInt(); switch (op) { case 1: System.out.println("\n==[Pessoa fisica]=="); System.out.print("Informe o nome: "); nome = inputs.nextLine(); do { listaEndFisica.add(retornaUmEndereco()); System.out.println("Continuar cadastrando endereços? 1-Sim/0-Não"); resp = input.nextInt(); } while (resp != 0); System.out.print("Informe o limite de crédito: "); limiteCredito = input.nextDouble(); System.out.print("informe o cpf: "); cpf = inputs.nextLine(); PessoaFisica pessoaFisica = new PessoaFisica(nome, listaEndFisica, limiteCredito, cpf); listaCliente.add(pessoaFisica); System.out.println("\nPessoa fisica adicionado com sucesso! "); break; case 2: System.out.println("\n==[Pessoa Juridica]=="); System.out.print("Informe o nome: "); nome = inputs.nextLine(); do { listaEndJuridica.add(retornaUmEndereco()); System.out.println("Continuar cadastrando endereços? 1-Sim/0-Não"); resp = input.nextInt(); } while (resp != 0); System.out.print("Informe o limite de crédito: "); limiteCredito = input.nextDouble(); System.out.print("Informe o nome fantasia: "); nomeFantasia = inputs.nextLine(); System.out.print("Informe o cnpj: "); cnpj = inputs.nextLine(); PessoaJuridica pessoaJuridica = new PessoaJuridica(nome, listaEndJuridica, limiteCredito, nomeFantasia, cnpj); listaCliente.add(pessoaJuridica); System.out.println("\nPessoa juridica adicionado com sucesso! "); break; default: System.out.println("opção inválida! "); } } public void relatorio() { if (listaCliente.isEmpty()) { System.out.println("Não existem clientes cadastrados! "); } else { for (Cliente c : listaCliente) { if (c instanceof PessoaFisica) { System.out.println("\n-=[Pessoas Fisicas]=-"); System.out.println("Nome: " + c.getNome()); System.out.println("-=[Endereço(s) Associado(s)]<-"); for (Endereco end : listaEndFisica) { System.out.println("Logradouro: " + end.getLogradouro()); } System.out.println("Limite de crédito: " + c.getLimiteDeCredito()); System.out.println("Cpf: " + ((PessoaFisica) c).getCpf()); } else if (c instanceof PessoaJuridica) { System.out.println("\n-=[Pessoas Juridicas]=-"); System.out.println("Nome: " + c.getNome()); System.out.println("-=[Endereço(s) Associado(s)]<-"); for (Endereco end : listaEndJuridica) { end.getLogradouro(); System.out.println("Logradouro: " + end.getLogradouro()); } System.out.println("Limite de crédito: " + c.getLimiteDeCredito()); System.out.println("Nome fantasia: " + ((PessoaJuridica) c).getNomeFantasia()); System.out.println("Cnpj: " + ((PessoaJuridica) c).getCnpj()); } } } }
  2. gustavo.abarroso

    Sobre Getters e Setters

    Tenho minha classe principal: public class Main { public static void main(String[] args) { Cliente cliA, cliB; cliA = new Cliente(1, "luiza"); cliA.atualizaSituacao(true); cliB = new Cliente(2, "Wesley"); if (!cliA.atualizaLimite(500)) { System.out.println("Este não é um cliente especial"); } cliB = cliA; cliB.atualizaSituacao(false); if (!cliA.atualizaLimite(700)) { System.out.println("Este não é um cliente especial."); } } } e minha Classe Clientes: package exercicio01; public class Cliente { private int codigo; private String nome; private boolean eClienteEspecial; private double limiteCredito; public Cliente(int c, String n) { codigo = c; nome = n; limiteCredito = 0; eClienteEspecial = false; } public String getNome() { return nome; } public boolean atualizaLimite(double valor) { if (eClienteEspecial) { limiteCredito += valor; return true; } else return false; } public void atualizaSituacao(boolean eClienteEspecial) { this.eClienteEspecial = eClienteEspecial; if (!this.eClienteEspecial) { limiteCredito = 0; } } } É apontado pelo eclipse 2 warnings , um para o private int codigo e outro para o private double limiteCredito dizendo que os campos não estão sendo usados, preciso nesse exemplo de código usar get e set? Como o que preciso alterar para tornar o código funcional?
  3. Estou tentando criar uma playlist de audio e a unica coisa que está faltando é destacar a música que está sendo tocada no momento, alguém pode me ajudar? <!doctype html> <html> <meta lang="pt-br" /> <script type="text/javascript" src="https://gc.kis.v2.scr.kaspersky-labs.com/53BA83D0-410E-4F48-AE10-5961019FA9FF/main.js" charset="UTF-8"></script> <head> </head> <style type="text/css"> #playlist,audio { background:url("1.jpg"); width:400px; padding:20px; list-style: none; color:#ffffff; font-weight: bold; } li a{ color:#c7c7c7; background:#333; padding:5px; display:block; border-color: #fff; } .main{ background:url("2.jpg"); } </style> <body> <center> <audio controls id="player"> <source src="Black.mp3" type="audio/mp3" /> <source src="LastKiss.mp3" type="audio/mp3" /> <source src="SoldierofLove.mp3" type="audio/mp3" /> <source src="Alive.mp3" type="audio/mp3" /> <source src="EvenFlow.mp3" type="audio/mp3" /> </audio> <ul id="playlist"> <li data-arq="Black.mp3">Pearl Jam - Black</li> <li data-arq="LastKiss.mp3">Pearl Jam - Last Kiss</li> <li data-arq="SoldierofLove.mp3">Pearl Jam - Soldier of Love</li> <li data-arq="Alive.mp3">Pearl Jam - Alive</li> <li data-arq="EvenFlow.mp3">Pearl Jam - Even Flow</li> </ul> <script> var atual=0; function proximo(){ tocar(atual+1); } function anterior(){ tocar(atual-1); } function tocar(x){ console.log("tocar :" + x); var playlist = document.getElementById("playlist"); if(x<0) x=playlist.children.length-1; if(x>playlist.children.length-1) x=0; atual=x; var limusica = playlist.children[x]; var arquivo=limusica.getAttribute("data-arq"); var player=document.getElementById("player"); player.src=arquivo; player.play(); } </script> <button onclick="anterior()" >Anterior</button> <button onclick="proximo()" >Proximo</button> </center> </body> </html>
  4. #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> #include <stdbool.h> int TAM = 0; typedef struct { char nome[20]; char telefone[20]; char email[20]; } Agenda; void menu(Agenda *pAgenda); Agenda* AlocaAgenda(); void RealocaAgenda(Agenda *pAgenda); Agenda ColetaDados(); void ImprimeAgenda(Agenda *pAgenda,int num); int InsereAgenda(Agenda *pAgenda); int AlteraAgenda(Agenda *pAgenda); int PesquisaAgenda(Agenda *pAgenda); int RemoveAgenda(Agenda *pAgenda); void ListarAgenda(Agenda *pAgenda); void LiberaAgenda(Agenda *pAgenda); int main() { Agenda *listaAgenda = AlocaAgenda(); menu(listaAgenda); return 0; } void menu(Agenda *pAgenda) { bool resp = true; while(resp) { int cont; printf("\n--- MENU ---"); printf("\n1 - Cadastrar"); printf("\n2 - Alterar"); printf("\n3 - Remover"); printf("\n4 - Pesquisar"); printf("\n5 - Listar"); printf("\n0 - Sair"); printf("\nOpcao: "); fflush(stdin); scanf("%d",&cont); switch(cont) { case 0: LiberaAgenda(pAgenda); resp = false; break; case 1: InsereAgenda(pAgenda); break; case 2: fflush(stdin); AlteraAgenda(pAgenda); break; case 3: RemoveAgenda(pAgenda); break; case 4: fflush(stdin); PesquisaAgenda(pAgenda); break; case 5: ListarAgenda(pAgenda); fflush(stdin); break; default: printf("Opcao Invalida!"); getch(); system("cls"); break; } } } Agenda* AlocaAgenda() { Agenda *p = (Agenda*)malloc(sizeof(Agenda)); if(p!= NULL) { return p; } else { exit(0); } } void RealocaAgenda(Agenda *pAgenda) { pAgenda = (Agenda*)realloc(pAgenda,(TAM+1)*sizeof(Agenda)); if(pAgenda == NULL) { printf("ERRO!\n"); exit(0); } } Agenda ColetaDados() { Agenda dados; fflush(stdin); printf("Digite Nome: "); gets(dados.nome); printf("Digite Telefone: "); gets(dados.telefone); printf("Digite Email: "); gets(dados.email); return dados; } int InsereAgenda(Agenda *pAgenda) { int resp = 1,cont =0; while(resp != 0 ) { if(TAM == 0 ) { pAgenda[TAM] = ColetaDados(); TAM++; cont++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } else if(TAM > 0 && cont == 0 ) { RealocaAgenda(pAgenda); pAgenda[TAM] = ColetaDados(); TAM++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } else { pAgenda[TAM] = ColetaDados(); TAM++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } printf("\nCadastrar mais ? 1- Sim 2 - Nao"); printf("\nOpcao: "); scanf("%d",&resp); switch(resp) { case 1: RealocaAgenda(pAgenda); cont++; break; case 2: fflush(stdin); resp = 0; printf("Retornando menu anterior...\n\n"); getch(); system("cls"); break; default: printf("Opcao Invalida!"); getch(); system("cls"); break; } } } void ImprimeAgenda(Agenda *pAgenda,int num) { printf("\nNome: %s",pAgenda[num].nome); printf("\nTelefone: %s",pAgenda[num].telefone); printf("\nEmail: %s\n",pAgenda[num].email); } int AlteraAgenda(Agenda *pAgenda) { char nome[20]; printf("\nDigite nome a ser buscado: "); gets(nome); int i= 0 ; while(i < TAM && strcmp(nome,pAgenda[i].nome) != 0) { i++; } if(strcmp(nome,pAgenda[i].nome) != 0) { printf("Nao encontrado!\n\n"); getch(); system("cls"); return 0; } else { pAgenda[i] = ColetaDados(); printf("Alterado com sucesso!\n\n"); getch(); system("cls"); } return 1; } int PesquisaAgenda(Agenda *pAgenda) { char nome[20]; printf("\nDigite nome a ser buscado: "); gets(nome); int i= 0 ; while(i < TAM && strcmp(nome,pAgenda[i].nome) != 0) { i++; } if(strcmp(nome,pAgenda[i].nome) != 0) { printf("Nao encontrado!\n\n"); getch(); system("cls"); return 0; } else { ImprimeAgenda(pAgenda,i); getch(); system("cls"); } return 1; } int RemoveAgenda(Agenda *pAgenda) { char nome[20]; fflush(stdin); printf("Digite nome a ser removido: "); gets(nome); int i = 0; while(i < TAM && strcmp(nome,pAgenda[i].nome)!= 0) { i++; } if(strcmp(nome,pAgenda[i].nome)!= 0) { printf("Nome nao cadastrado!\n\n"); getch(); system("cls"); return 0; } else { int resp = 1; while(resp != 0) { ImprimeAgenda(pAgenda,i); printf("\nDeseja remover? 1 - Sim 2 - Nao"); printf("\nOpcao: "); scanf("%d",&resp); switch(resp) { case 1: { Agenda aux; int num; for(num = i; num<TAM; num++) { aux = pAgenda[i+1]; pAgenda[i] = aux; } TAM--; RealocaAgenda(pAgenda); resp = 0; printf("Removido com sucesso!\n\n"); getch(); system("cls"); break; } case 2: { resp = 0; break; } default: { printf("Opcao Invalida!\n"); system("cls"); break; } } } } } void ListarAgenda(Agenda *pAgenda) { int n; if(TAM == 0) { printf("Agenda Vazia!\n\n"); getch(); system("cls"); } else { while(n < TAM) { ImprimeAgenda(pAgenda,n); n++; printf("\n"); } } getch(); system("cls"); } void LiberaAgenda(Agenda *pAgenda) { free(pAgenda); } Boa noite sou novo no fórum, estou tentando criar uma agenda de cadastros, só que ela apresenta vários erros como por exemplo: na hora de cadastrar só cadastra 2 contatos, na hora de listar o compilador buga e fecha o programa .. alguem tem alguma ideia??
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.