Ir para conteúdo

Lista encadeada C++

Comunidade iMasters
jk01
   (0 análises)

Detalhes do Evento

Como que eu faço pra imprimir todos os elmentos da lista abaixo

 

#include <iostream>
#include<locale.h>
#include<stdlib.h>
#include<stdio.h>
#include <ctype.h>
#include<string>
#include<limits>
#include <string>
using namespace std;
template <class tipo>
class No {
    public:
        tipo info;
        No <tipo> *prox;
        No(tipo elem, tipo nome, tipo descricao, No <tipo> *p);
};

template <class tipo>
class Lista{
    private:
        No <tipo> *inicio;
    public:
        Lista();
        ~Lista();
        void insert(tipo elem,tipo nome, tipo descricao);
        int remove(tipo elem,tipo nome, tipo descricao);
        int empty();
};
template <class tipo>
No <tipo> :: No(tipo elem,tipo nome, tipo descricao, No <tipo> *p){
    info=elem;
    info= nome;
    info=descricao;
    prox=p;
}
template <class tipo>
Lista <tipo> :: Lista() {inicio=NULL;}

template <class tipo>
int Lista <tipo> :: empty(){
    if(!inicio)
        return 1;
    else
        return 0;
};
template <class tipo>
void Lista <tipo> :: insert(tipo elem,tipo nome, tipo descricao){
    No <tipo> *ant=NULL, *atual,*novo;
    novo = new No <tipo>(elem,nome,descricao, NULL);

    if(empty())
        inicio=novo;
    else{
        atual=inicio;
        while(atual!=NULL && atual->info <= elem){
            ant=atual;
            atual=atual->prox;
        }
        if(ant==NULL){//inicio
            novo->prox=inicio;
            inicio=novo;
        }
        else{//meio ou fim
            ant->prox=novo;
            novo->prox=atual;
        }
    }
}


template <class tipo>
Lista <tipo> :: ~Lista(){
    No <tipo> *p;

    while(inicio!=NULL){
        p=inicio;
        inicio=inicio->prox;
        delete p;
    }
}


int Menu()
{
    int opcao,idEspecialidade;
    char op='2';
    int retorno;
    string nomeEspecialidade, descricaoEspecialidade;

    setlocale(LC_ALL, "Portuguese");
    cout<<"-----------------------------"<<endl;
    cout<<"-    CLÍNICA MOREHEALTH     -"<<endl;
    cout<<"-----------------------------"<<endl;
    cout<<"[1]-CADASTRAR ESPECIALIDADE"<<endl;
    cout<<"[2]-SOLICITAR CONSULTA"<<endl;
    cout<<"[3]-LISTAR CONSULTAS"<<endl;
    cout<<"[4]-SAIR"<<endl;
    cout<<"-------------------------------"<<endl;
    cout<<"INSIRA A OPÇÃO DESEJADA (1 A 4): ";
    cin>> opcao;
    cin.clear();
    cin.ignore(numeric_limits<streamsize>::max(), '\n');

    do
    {
        switch(opcao)
        {

        case 1:
        {
                cout<<"Informe id Especialidade :";
                cin>>idEspecialidade;
                cin.ignore();
                cout<<"Informe Nome Especialidade: ";
                getline(cin,nomeEspecialidade);
                cout<<"Informe descrição Especialidade: ";
                getline(cin,descricaoEspecialidade);
            system("pause");
            system("cls");
            return Menu();
            break;

        }

        case 2:
        {

            system("pause");
            system("cls");
            return Menu();
            return Menu();
            break;
        }
        case 3:
        {

            system("cls");
            cout<<"nenhuma lista "<<"\n";
            system("pause");
            system("cls");
            return Menu();

            break;
        }
        case 4:
        {
            system("cls");
            cout<<endl;
            cout<<":::::::::::::::::::::"<<endl;
            cout<<"*SISTEMA FINALIZADO*"<<endl;
            cout<<":::::::::::::::::::::"<<endl;
            exit(0);
            break;
        }
        }
        cout<<endl;
        cout<<"****opção inválida,tente novamente!***"<<endl;
        cout<<endl;
        cout<<"INSIRA A OPÇÃO DESEJADA (1 A 4): ";
        cin>> opcao;
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');

    }
    while(opcao>0 || opcao<5);
    system("cls");
}
//programa principal
int main()
{
    Menu( );
    Lista <string> L;

    return 0;
}
 



Crie um conta ou faça login para deixar um review

Você precisa ser um membro para postar um review

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Não tem nenhum review para mostrar

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.