Ir ao conteúdo
  • Cadastre-se

Igor Vargas

Membros Plenos
  • Total de itens

    143
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Olá. Estou com um problema na minha função connect(). Preciso ligar uma cidade a outra. Mas a minha função de ligação não esta funcionando. Quando eu adiciono uma nova ligação o programa buga. #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX 100 typedef struct lista{ char origem[MAX]; struct lista * cabeca; struct lista * prox; }Lista; typedef struct conexao{ char destino[MAX]; int km; struct conexao *prox; }Conexao; Lista *insert(Lista *cidade, char nome[MAX]){ Lista *Nova_Cidade =(Lista*)malloc(sizeof(Lista)); strcpy(Nova_Cidade->origem,nome); Nova_Cidade->prox = cidade; Nova_Cidade->cabeca = NULL; return Nova_Cidade; } Conexao *connect(Lista *co,char origem[MAX],char destino[MAX], int km, Conexao *cd){ if(cd==NULL){ Conexao *cidade_Destino =(Conexao*)malloc(sizeof(Conexao)); strcpy(cidade_Destino->destino,destino); cidade_Destino->km = km; cidade_Destino->prox = NULL; cd = cidade_Destino; }else{ Lista *p=co,*ant; while(p!=NULL){ ant = p; if(strcpy(p->origem,origem)){ ant->prox = cd; cd->prox = NULL; } } } return cd; } void imprime(Lista *l, Conexao *c) { if(c == NULL){ puts("Lista Vazia !!!"); return; } else while(l!=NULL){ printf("\nOrigem: %s ", l->origem); l = l->prox; } while(c!= NULL){ printf("Destino: %s, ", c->destino); c= c->prox; } return; } main(){ Lista * l = NULL; Conexao * c = NULL; l =insert(l,"Passo Fundo"); l =insert(l,"POA"); l =insert(l,"Pelotas"); c =connect(l,"Passo Fundo","POA",289,c); c =connect(l,"POA","Pelotas",261,c); imprime(l,c); }
  2. @DiF A solução foi pegar o código do usuário pela sessão. Eu consegui resolver sozinho depois. Meu problema era que eu não estava passando como variável global, então ele não funcionava fora do escopo. start_session(); $codigo=$_SESSION["codigo"];
  3. @João Miguel Freitas Mausa você pode fazer algo assim. int escolha; scanf("%d",&escolha); if(escolha==1){ }else if(escolha==2){ } Precisa de um laço pra ficar rodando o programa e uma condição de saida
  4. @Felipe Paz valeu pela ajuda. tinha conseguido resolver e esqueci de voltar aqui.
  5. @Matheus V.M.C só podemos te ajudar se você colocar o que você já fez do código
  6. @artsandrade Recomendo dar uma olhada nesse site, tem varios tipos de pdfs sobre estrutura de dados. Um jeito de aprender melhor é desenhar o que esta acontecendo, assim fica mais visivel. link:https://www.pdfdrive.com/search?q=estrutura+de+dados&amp;pagecount=&amp;pubyear=&amp;searchin=
  7. Olá. Estou com uma dúvida onde aparecerá uma tabela de itens disponiveis a escolha. Ao selecionar um item ele sumira da pagina atual e aparecera na pagina de selecionados do usuario. Meu problema é que não sei como pega o codigo do usuario e o codigo do produto. Pois eu tenho uma tabela venda no banco onde eu guardo esse usuario e esse produto . Aqui é onde eu pego as informações </div> <br><br> <table class="table"> <thead class="thead-dark"> <tr> <th scope="col">Nome</th> <th scope="col">Valor</th> <th scope="col">Opcao</th> </tr> </thead> <tbody> <?php include 'crudVenda.php'; $resultado = mostrarProdutos(); if($resultado){ while($linha = mysqli_fetch_assoc($resultado)){ $codigo=$linha['codigo']; $nome=$linha['nome']; $valor=$linha['valor']; echo " <tr> <td>$nome</td> <td>$valor</td> <td><a class='btn btn-primary' href='controleVenda.php?opcao=selecionar&codigoProduto=codigo'>Selecionar</a></td> </tr> "; } } ?> </tbody> </table> </div> </div> </div> </div> </div> o meu crudVenda <? include 'conexaoBD.php'; function mostrarProdutos(){ conectar(); $resultado = query("SELECT codigoProduto,nome,valor FROM produto,venda WHERE codigoProduto NOT IN(SELECT codigoProduto FROM produto,venda,usuario WHERE venda.codigoUsuario =usuario.codigo AND venda.codigoProduto = produto.codigo)"); fechar(); return $resultado; } function inserirVenda($codigoCliente,$codigoProduto){ conectar(); query("INSERT INTO venda(codigoUsuario,codigoProduto) VALUES ($codigoCliente,$codigoProduto)"); fechar(); } ?> o meu controleVenda <?php include 'crudVenda.php'; if($opcao=="selecionar"){ $codigoProduto=$_GET['codigoProduto']; // $codigoUsuario=$_GET['codigoUsu']; inserirVenda($codigoUsuario,$codigoProduto); header("Location: produtos.php"); } ?>
  8. Consegui resolver o problema. Eu não tinha criado uma variavel do tipo Paciente dentro da classe Doenca. Obrigado pela ajuda
  9. Eai pessoal. Sou novo em java e esta acontecendo um erro onde eu quero passar um objeto de uma classe para outro objeto de outra classe e fica dando o seguinte erro. incompatible types : Paciente cannot be converted to String. Eu sei o que significa mas não sei como arrumar o erro. A minha classe teste é a seguinte. package visao; import java.util.ArrayList; import model.Hospital; import model.Medico; import model.Paciente; import model.Visitante; import model.Doenca; public class Teste { public static void main(String[] args){ Paciente novoP = new Paciente("Joao da Silva", "174526", "Jardin das flores", "1745181"); novoP.setAlergia("Alergia a agulha"); Visitante novoV = new Visitante("Maria do Rosario", "14751", "Jardin das Flores", "1475145"); novoV.setEntrada("12:30"); novoV.setSaida("2:00"); Visitante novoV2 = new Visitante("Marta do Rosario", "14758", "Jardin das Flores", "1475125"); novoV2.setEntrada("12:30"); novoV2.setSaida("2:00"); ArrayList<Visitante>visitantes = new ArrayList<>(); visitantes.add(novoV); visitantes.add(novoV2); novoP.setVisitas(visitantes); Doenca novaD = new Doenca(); novaD.setNome("Tubercolose"); novaD.setInternado(novoP); //aqui é onde ocorre o erro, "internado" é o atributo que eu passo o objeto "novoP". hospital(novo); hospital(mNovo); } public static void hospital(Hospital hos){ System.out.println(hos); } }
  10. Estou com uma duvida onde preciso relacionar a classe Medico com a classe Hospital. O problema é que esta ocorrendo um erro onde diz que eu não posso converter strings. Sou novo em orientação ao objeto e recentemente comecei a ver herança e polimorfismo. package model; public class Pessoa { private String nome; private String cpf; private String endereco; public Pessoa(String nome, String cpf, String endereco) { this.nome = nome; this.cpf = cpf; this.endereco = endereco; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } @Override public String toString() { return "Nome: "+getNome()+"\n"+"Endereço: "+getEndereco()+"\n"+"Cpf: "+getCpf(); //To change body of generated methods, choose Tools | Templates. } } Classe Medico herda da classe Pessoa. package model; public class Medico extends Pessoa { private String horario; public Medico(String nome, String cpf, String endereco) { super(nome, cpf, endereco); } public String getHorario() { return horario; } public void setHorario(String horario) { this.horario = horario; } @Override public String toString() { return super.toString()+"\n"+"Horario de Chegada:"+getHorario(); } } Classe Paciente também herda da Classe Pessoa. package model; public class Paciente extends Pessoa { private int idade; private String telefone; public Paciente(String nome, String cpf, String endereco) { super(nome, cpf, endereco); } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public String getTelefone() { return telefone; } public void setTelefone(String telefone) { this.telefone = telefone; } @Override public String toString() { return "\n"+super.toString()+"\n"+"Idade: "+getIdade()+"\n"+"Telefone: "+getTelefone(); } } A minha classe Hospital tem um ArrayList da classe Paciente . Mas minha classe Hospital não herda de ninguem. package model; import java.util.ArrayList; public class Hospital{ private ArrayList<Paciente>pacientes; private String nome; private String endereco; private String medicoo; public String getMedicoo() { return medicoo; } public void setMedicoo(String medicoo) { this.medicoo = medicoo; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public ArrayList<Paciente> getPacientes() { return pacientes; } public void setPacientes(ArrayList<Paciente> pacientes) { this.pacientes = pacientes; } @Override public String toString() { return "Hospital: "+getNome()+"\n"+"Endereco: "+getEndereco()+"\n"+"Médico "+getMedicoo()+"\n"+"Pacientes:\n"+getPacientes()+"\n"; } } Meu Teste package visao; import java.util.ArrayList; import model.Hospital; import model.Medico; import model.Paciente; public class Teste { public static void main(String[] args){ Medico mNovo = new Medico("José Silveira","1471147-12", "Manoel da silva"); mNovo.setHorario("12:00"); Paciente pNovo = new Paciente("Ines Maria", "141751-10", "Sabao Grande"); Paciente pNovo2 = new Paciente("Marica da Silva", "141751-20", "Riacho Grande"); Paciente pNovo3 = new Paciente("Carla Maria", "141751-30", "Marta Roseria"); ArrayList<Paciente> pacientes = new ArrayList<>(); pacientes.add(pNovo); pacientes.add(pNovo2); pacientes.add(pNovo3); Hospital hNovo = new Hospital(); hNovo.setNome("Hospital de Caridade"); hNovo.setEndereco("Rua Doutor Bozano"); hNovo.setPacientes(pacientes); hNovo.setMedicoo(mNovo); hospital(hNovo); } public static void hospital(Hospital hos){ System.out.println(hos); } }
  11. @Josesousa isso é mais questão de se você escolhe ou não usar o typedef. Porque se não usar tem que escrever struct lista e o nome da variável.
  12. @AnsiC Verdade. Tinha me esquecido disso
  13. int maior=0,menor=0; for (m=1;m<=10;m++){ printf("informe o peso da %dº ovelha:",m); scanf("%d",& peso); printf ("informe a identificação da %dº ovelha:",m); scanf("%d",& ident); if(peso > maior){ maior = peso id_maior = ident; } if(peso < menor){ menor = peso; id_menor; } }
  14. @Josesousa "novo" = novo nó "prox" = ponteiro que guarda a memória do prox valor inserido. "l" =cabeça da lista. "l" é a lista, mas como ela vai estar vazia ele vai receber NULL ou seja o ponteiro novo->prox= l vai apontar pro vazio que no momento é "l" pois não tem nada dentro ainda . No próximo valor inserido que vai ser o seu novo "NOVO" teu "NOVO->prox = l" recebe o resto da lista ou seja "l" vai ter o nó anterior e o teu "NOVO->prox" vai apontar pra ele. EX: 1->2->NULL quero adicionar o numero 3. passo o valor "novo->dado = 3", "l =1->2->NULL", "novo->prox=l" quando for adicionado meu novo "novo->prox " vai apontar pro numero "1" então 3->1->2->NULL. A a inserção de valores é sempre no inicio então se já tiver um nó na lista o próximo valor vai ser inserido atrás dele. Espero ter ajudado de alguma forma se ficou muito confuso desenhar é a melhor forma e praticar bastante.
  15. Cara o que me ajudou a entender listas encadeadas foi desenhar ela . E entender do zero o que cada função/estrutura esta fazendo. Se tiver dúvidas eu tenho uma lista com algumas funções. https://github.com/igorvargasp/C--codes Sua função inserir pode ser algo mais simples. Pequena sugestão. Lista* inserir(Lista *l, int valor){ Lista* novo= (Lista*)malloc(sizeof(Lista)); if(!novo){ printf("SEM MEMORIA!\n"); exit(1); } novo->dado = valor; novo->prox = l; return novo; } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×