Ir ao conteúdo
  • Cadastre-se

Marcela Dutra

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por Marcela Dutra

  1. Pessoal não estou conseguindo validar esse campo, não quero deixar que o id se repita no cadastro o programa ate entra no laço para fazer a validação mais apos entrar no laco ele não sai. E ao tentar inserir um valor que não é repetido ele entra no laço para verficar e tambem nao sai

    struct Pessoa {    int id;   char nome[50];   struct Pessoa *proximo;};struct Controle {   struct Pessoa *pilha;};struct Pessoa *incluir (struct Pessoa *ultimoinserido){  struct Pessoa *auxiliar;  auxiliar = (struct Pessoa*) malloc(sizeof(struct Pessoa));  printf(" digite o nome:");  scanf("%s",&auxiliar->nome);  printf("digite o id:");  scanf("%d",&auxiliar->id);  while (ultimoinserido != NULL){     if(ultimoinserido->id==auxiliar->id){        printf("digite o id:");        scanf("%d",&auxiliar->id);     }  }  auxiliar->proximo = NULL;  if (ultimoinserido != NULL){    auxiliar->proximo = ultimoinserido;  }  return auxiliar;}int main(){    int opcao = 1;    struct Controle minhapilha;    minhapilha.pilha = NULL;    while (opcao != 4)    {       printf("2 incluir \n");       printf("4 sair \n");       printf("digite a opcao ");       scanf("%d",&opcao);      if (opcao == 2){          minhapilha.pilha = incluir(minhapilha.pilha);       }   }}
  2. Pessoal não estou conseguindo validar esse campo, não quero deixar que o id se repita no cadastro o programa ate entra no laço para fazer a validação mais apos entrar no laco ele não sai. E ao tentar inserir um valor que não é repetido ele entra no laço para verficar e tambem nao sai

    struct Pessoa {    int id;   char nome[50];   struct Pessoa *proximo;};struct Controle {   struct Pessoa *pilha;};struct Pessoa *incluir (struct Pessoa *ultimoinserido){  struct Pessoa *auxiliar;  auxiliar = (struct Pessoa*) malloc(sizeof(struct Pessoa));  printf(" digite o nome:");  scanf("%s",&auxiliar->nome);  printf("digite o id:");  scanf("%d",&auxiliar->id);  while (ultimoinserido != NULL){     if(ultimoinserido->id==auxiliar->id){        printf("digite o id:");        scanf("%d",&auxiliar->id);     }  }  auxiliar->proximo = NULL;  if (ultimoinserido != NULL){    auxiliar->proximo = ultimoinserido;  }  return auxiliar;}int main(){    int opcao = 1;    struct Controle minhapilha;    minhapilha.pilha = NULL;    while (opcao != 4)    {       printf("2 incluir \n");       printf("4 sair \n");       printf("digite a opcao ");       scanf("%d",&opcao);      if (opcao == 2){          minhapilha.pilha = incluir(minhapilha.pilha);       }   }}
  3. Galera estou precisando de uma força em um método de busca em uma pilha dinâmica

    codigo:

    typedef struct{    char cidade[20];    char uf[2];    char nome[20];    char sigla[2];    struct AEROPORTO *proximo;} AEROPORTO;typedef struct{    AEROPORTO *pilha;} CONTROLE;AEROPORTO *incluir (AEROPORTO *ultimoinserido){    AEROPORTO *auxiliar;    auxiliar = (AEROPORTO *) malloc(sizeof(AEROPORTO));    printf ("digite a cidade: ");    scanf("%s",&auxiliar->cidade);    printf ("digite o uf: ");    scanf("%s",&auxiliar->uf);    printf ("digite o nome do aeroporto: ");    scanf("%s",&auxiliar->nome);    printf ("digite a sigla do aeroporto: ");    scanf("%s",&auxiliar->sigla);    auxiliar->proximo = NULL;    if (ultimoinserido != NULL)    {        auxiliar->proximo = ultimoinserido;    }    return auxiliar;}void buscar (AEROPORTO *busca,char nome){    AEROPORTO *auxiliar;    auxiliar = busca;    while (auxiliar != NULL)    {   //Alguma dica por aqui    }    return;}int main(){    char opcao;    char nome[20];    CONTROLE minhapilha;    minhapilha.pilha = NULL;    while (opcao != '6')    {        printf("1 incluir\n");        printf("2 buscar\n");        printf("6 sair\n");        printf("opcao: ");        scanf("%c",&opcao);        switch (opcao)        {        case '1':            minhapilha.pilha = incluir(minhapilha.pilha);            break;        case '2':        //Duvida aqui em como fazer uma busca ao tentar passar os valores da erro        printf ("informe o nome: ");        scanf ("%s", nome);        buscar(minhapilha.pilha, nome);            break;        }    }    return 0;}
  4. Bom dia, sou nova no fórum


     


    Estou com um problema em uma validação obrigada pela ajuda


    O problema é o seguinte:


    Estou tentando fazer que o programa não deixe gravar id repetido, só que o programa esta verificando somente o primeiro id cadastrado e pulando os outros. 



    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>

    #define MAX 5

    typedef struct
    {
    int id;
    char modelo[8];
    char fabricante[30];
    int passageiros;
    float comprimento;
    float altura;
    float velocidade;
    float altitude;
    char motor [10];
    } AVIAO;

    typedef struct
    {
    AVIAO vetor[MAX];
    int nElementos;
    } LISTA;

    void criarLista(LISTA *lista)
    {
    lista->nElementos = 0;
    }

    bool IdRepitido(int id, LISTA *lista)
    {
    int i;
    for(i=0; i < lista->nElementos; i++)
    {
    if(id == lista->vetor[i].id)
    {
    return true;
    }else{

    return false;
    }

    }
    }

    int main()
    {
    char op=0;
    LISTA lista;
    AVIAO av;

    criarLista(&lista);

    do
    {
    printf ("1 - Inserir\n");
    printf ("2 - Sair\n");
    printf ("opcao: ");
    scanf ("%c", &op);

    switch(op)
    {
    case '1':
    printf ("ID: ");
    scanf("%d", &av.id);

    while(IdRepitido(av.id,&lista)){
    printf ("ID: ");
    scanf("%d", &av.id);

    }

    printf ("passageiros: ");
    scanf("%d", &av.passageiros);
    printf ("comprimento: ");
    scanf("%f", &av.comprimento);
    printf ("altura: ");
    scanf("%f", &av.altura);
    printf ("velocidade: ");
    scanf("%f", &av.velocidade);
    printf ("altitude: ");
    scanf("%f", &av.altitude);

    printf ("modelo: ");
    scanf("%s", av.modelo);

    printf ("fabricante: ");
    scanf("%s", av.fabricante);

    printf ("motor: ");
    scanf("%s", av.motor);

    inserir(&lista, av);

    }

    break;
    }
    }
    while(op!='2');

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!