Ir para conteúdo
Fórum Script Brasil

Jeancarloss

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Jeancarloss

Jeancarloss's Achievements

0

Reputação

  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 (não 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-não\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 = "não 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(); }
×
×
  • Criar Novo...