Ir para conteúdo

POWERED BY:

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;
}
 



Recommended Comments

Não há comentários para mostrar.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

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
×

Informação importante

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