Ir ao conteúdo
  • Cadastre-se

Jean Carlos_749052

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por Jean Carlos_749052

  1. Sou inciante e estou treinando alguns conceitos básicos na faculdade sobre listas encadeadas com ponteiros.

    Estou implementando uma lista onde quero fazer cadastro de moradores de um condomínio, onde serão cadastrados o nome e se possuem veículos dentro do apartamento. 

    Porém na hora que chamo a função imprimir(), simplesmente não acontece nada, embora eu ache que a lógica esteja certa.

    Alguém pode me ajudar ?

    Segue o código:

     

    #include <iostream>
    #include <stdlib.h>
    #include <string>
    using namespace std;
     
    struct Morador
    {
        string nome;
        string veiculo;
        string placa;
        string condominio;
        Morador *proximo;
    };
    struct ListaMoradres
    {
        Morador *primeiro;
    };
     
    ListaMoradres lista; // CRIEI UMA LISTA GLOBAL, POIS QUERO QUE A LISTA CONTINUE COM OS CADASTROS MESMO APÓS O FIM DA EXECUÇÃO                                    // DO MAIN (NAO SEI SE TA CERTO FAZER ISSO KKK)
    void inciar()
    {
        lista.primeiro = nullptr;
    }
    void inserir_Morador()
    {
        string nome = "";
        string veiculo = "";
        string placa = "";
        string condominio = "";
        int op;
     
        cout << "Digite o nome do morador\n";
        cin >> nome;
        cout << "\nPossui veiculo?\n1-SIM\t2-NAO\n";
        cin >> op;
        switch (op)
        {
          case 1:
            cout << "Carro ou Moto? 1- CARRO\t2- MOTO\n";
            cin >> op;
            if (op == 1)
            {
                cout << "Digite placa:\n";
                cin >> placa;
                veiculo = "(Carro)";
                break;
           }
           else
           {
                cout << "Digite placa\n";
                cin >> placa;
                veiculo = "Moto";
                break;
           }
        case 2:
            veiculo = "Nao possui";
            break;
        default:
            cout << "Opcao invalida\n";
            break;
        }
    }
    if (lista.primeiro == nullptr)
    {
        Morador *primeiro_Morador = new Morador();
        lista.primeiro = primeiro_Morador;
        primeiro_Morador->nome = nome;
        primeiro_Morador->veiculo = veiculo;
        primeiro_Morador->placa = placa;
        primeiro_Morador->condominio;
        primeiro_Morador->proximo = nullptr;
        cout << "Primeiro morador inserido com sucesso\n";
        return;
    }
    else
    {
        Morador *ultimo = lista.primeiro;
        while (ultimo->proximo != nullptr)
        ultimo = ultimo->proximo;
        Morador *novo = new Morador();
        ultimo->proximo = novo;
        novo->nome = nome;
        novo->veiculo = veiculo;
        novo->placa = placa;
        novo->condominio = condominio;
        novo->proximo = nullptr;
        cout << "Morador inserido com sucesso\n";
        return;
    }
    }
    void imprimir()
    {
        Morador *inicio = lista.primeiro;
        while (inicio->proximo != nullptr)
        {
            cout << "\nNome: "+inicio->nome << endl;
            cout << "Veiculo: " + inicio->veiculo << endl;
            cout << "Placa: " + inicio->placa << endl;
            cout << "Condominio: " + inicio->condominio << endl;
            inicio = inicio->proximo;
        }
    return;
    }
    int main()
    {
        int op;
        cout << "1 - inciazlizar\t2 - inserir\t3 - imprimir\n";
        cin >> op;
        switch (op)
        {
            case 1:
               inciar();
               break;
            case 2:
               inserir_Morador();
               break;
            case 3:
               imprimir();
               break;
            default:
               cout << "Opcao invalida\n";
               break;
    }
    main();
    }

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