É o seguinte, estou fazendo um trabalho, onde já emplementei um FILA em C++.
Minha dúvida é como eu faça pro o método dequeue(desenfileirar), que é do tipo Pedido, caso a fila esteja vazia, retornar um erro, ou exceção, ou alguma coisa, não sei.
Meu codigo a baixo
Classe Pedido
#include <iostream>
using namespace std;
class pedido
{
int controle;
int pizza;
int pastel;
int tempo;
public:
pedido();
void setControle(int);
void setPizza(int);
void setPastel(int);
void setTempo(int);
int getControle();
int getPizza();
int getPastel();
int getTempo();
void imprimePedido();
};
pedido::pedido()
{
}
void pedido::setControle(int c)
{
controle = c;
}
void pedido::setPizza(int p)
{
pizza = p;
}
void pedido::setPastel(int p)
{
pastel = p;
}
void pedido::setTempo(int t)
{
tempo = t;
}
int pedido::getControle()
{
return controle;
}
int pedido::getPizza()
{
return pizza;
}
int pedido::getPastel()
{
return pastel;
}
int pedido::getTempo()
{
return tempo;
}
void pedido::imprimePedido()
{
cout << "Pedido numero:" << getControle() << endl;
cout << "Pizzas:" << getPizza() << endl;
cout << "Pasteis:" << getPastel() << endl;
cout << "Tempo do pedido" << getTempo() << endl;
}
E a classe Fila, só com o método dequeue(desenfileirar)
#include "pedido.h"
#include <iostream>
using namespace std;
const int TAM = 10;
class filaCircularComVetor{
int frente, re, ne;
pedido fila[TAM];
public:
//pedido *fila[];
filaCircularComVetor();
bool enfileirar(pedido p);
pedido desenfileirar();
bool cheia();
bool vazia();
pedido front();
int tamanho();
void exibir();
};
pedido filaCircularComVetor::desenfileirar()
{
pedido pe;
/*if(vazia())
return NULL;
else
{*/
pe = fila[frente];
frente = (frente + 1) % TAM;
ne = ne - 1;
return pe;
//}
Como vêem, este método é do tipo pedido, e retorna o elemento retirado, caso a fila estiver vazia, o que retorno!
Pergunta
vicius_wolf
Boa noite pessoal,
É o seguinte, estou fazendo um trabalho, onde já emplementei um FILA em C++.
Minha dúvida é como eu faça pro o método dequeue(desenfileirar), que é do tipo Pedido, caso a fila esteja vazia, retornar um erro, ou exceção, ou alguma coisa, não sei.
Meu codigo a baixo
Classe Pedido
#include <iostream> using namespace std; class pedido { int controle; int pizza; int pastel; int tempo; public: pedido(); void setControle(int); void setPizza(int); void setPastel(int); void setTempo(int); int getControle(); int getPizza(); int getPastel(); int getTempo(); void imprimePedido(); }; pedido::pedido() { } void pedido::setControle(int c) { controle = c; } void pedido::setPizza(int p) { pizza = p; } void pedido::setPastel(int p) { pastel = p; } void pedido::setTempo(int t) { tempo = t; } int pedido::getControle() { return controle; } int pedido::getPizza() { return pizza; } int pedido::getPastel() { return pastel; } int pedido::getTempo() { return tempo; } void pedido::imprimePedido() { cout << "Pedido numero:" << getControle() << endl; cout << "Pizzas:" << getPizza() << endl; cout << "Pasteis:" << getPastel() << endl; cout << "Tempo do pedido" << getTempo() << endl; }E a classe Fila, só com o método dequeue(desenfileirar)#include "pedido.h" #include <iostream> using namespace std; const int TAM = 10; class filaCircularComVetor{ int frente, re, ne; pedido fila[TAM]; public: //pedido *fila[]; filaCircularComVetor(); bool enfileirar(pedido p); pedido desenfileirar(); bool cheia(); bool vazia(); pedido front(); int tamanho(); void exibir(); }; pedido filaCircularComVetor::desenfileirar() { pedido pe; /*if(vazia()) return NULL; else {*/ pe = fila[frente]; frente = (frente + 1) % TAM; ne = ne - 1; return pe; //}Como vêem, este método é do tipo pedido, e retorna o elemento retirado, caso a fila estiver vazia, o que retorno!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.