fellipeh

Untitled

Jun 15th, 2020
2,546
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. typedef struct p {
  7.     string nome;
  8.     string telefone;
  9.     string opcao;
  10. } Pedido;
  11.  
  12. const int MAX = 10;
  13.  
  14. class Fila {
  15. private:
  16.     Pedido ListaPedido[MAX];
  17.     int ult;
  18. public:
  19.     Fila();
  20.     bool Solicitar_Pedido();
  21.     Pedido PedidoPronto(); // pop
  22.     void ExibirPedidos();
  23. };
  24.  
  25. Fila::Fila(){
  26.     ult = -1;
  27.     for (int i=0; i < MAX; i++){
  28.         ListaPedido[i].nome = "";
  29.         ListaPedido[i].telefone = "";
  30.         ListaPedido[i].opcao = "";
  31.     }
  32. }
  33.  
  34. void Fila::ExibirPedidos(){
  35.     cout << "\n\n-----===== Lista Pedidos =====--------";
  36.     for (int i = 0; i <= ult; i++){
  37.         cout << "\n Codigo...: " << i;
  38.         cout << "\n Nome.....: " << ListaPedido[i].nome;
  39.         cout << "\n Telefone.: " << ListaPedido[i].telefone;
  40.         cout << "\n Opcao....: " << ListaPedido[i].opcao;
  41.     }
  42. }
  43.  
  44. bool Fila::Solicitar_Pedido() {
  45.   if (ult == MAX)
  46.      return false;
  47.  
  48.   ult++;
  49.  
  50.   cout << "\nDigite o nome: ";
  51.   cin >> ListaPedido[ult].nome;
  52.   cout << "\nDigite o telefone: ";
  53.   cin >> ListaPedido[ult].telefone;
  54.   cout << "\nDigite o Opcao de Pizza: ";
  55.   cin >> ListaPedido[ult].opcao;
  56.  
  57.   cout << "\n\nPedido Registrado, cod: " << ult;
  58.   cout << "\n\n";
  59.   return true;
  60. }
  61.  
  62. Pedido Fila::PedidoPronto(){
  63.     if (ult < 0)
  64.     {
  65.         cout << "Lista Vazia";
  66.     }
  67.     Pedido temp;
  68.     temp.nome = ListaPedido[0].nome;
  69.     temp.telefone = ListaPedido[0].telefone;
  70.     temp.opcao = ListaPedido[0].opcao;
  71.  
  72.     for (int i=0; i< MAX; i++){
  73.         ListaPedido[i].nome = ListaPedido[i+1].nome;
  74.         ListaPedido[i].telefone = ListaPedido[i+1].telefone;
  75.         ListaPedido[i].opcao = ListaPedido[i+1].opcao;
  76.     }
  77.  
  78.     return temp;
  79.    
  80.     // 0  1  2  3 4(!)
  81.    
  82.     // SWAP
  83.     // 0  1  2  4 3
  84.     // 0  1  4  2 3
  85.     // 0  4  1  2 3  
  86.     // 4  0  1  2 3
  87.    
  88.     // 4  1  2  3  0
  89.    
  90.  
  91. }
  92.  
  93. int main()
  94. {
  95.     Fila f;
  96.  
  97.     f.Solicitar_Pedido();
  98.     f.Solicitar_Pedido();
  99.     f.ExibirPedidos();
  100.  
  101.     Pedido temp;
  102.     temp = f.PedidoPronto();
  103.     count << "\n" << temp.nome;
  104.  
  105.     f.ExibirPedidos();
  106.  
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment