Ir para conteúdo
Fórum Script Brasil
  • 0

Problema na fila


Flavio.Henrique

Pergunta

como faço para inseri uma nova opção no menu: 4 – Inverter/desinverter

os elementos da fila OBS: sem utilizar ponteiros e a opcao de sair passe a ser 6.

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <iostream>

using namespace std;

#define MAX 3

int dado[MAX];

int topo;

char op;

void exibir(void);

void inserir(void);

void remover(int []);

void menu(void);

int main(){

topo=0;

while (op!='4'){

system("cls");

menu();

}

return 0;

}

void menu(){

cout << "-= Programa Fila Estatica em C =-\n\n";

cout << " Para inserir digite 1\n";

cout << " Para remover digite 2\n";

cout << " Para exibir digite 3\n\n";

cout << " Para sair 4\n";

cout << "\n\n\nEscolha uma opcao (1-4): ";

op=getche();

cout << "\n";

switch (op){

case '1' : inserir();

break;

case '2' : remover(dado);

break;

case '3' : exibir();

break;

}

}

void exibir(void){ //procedimento de exibicao da fila

int temp;

if (topo == 0 ){ //verifica se a fila está vazia

cout << "\n\nA Fila esta vazia\n";

}

else{

for(temp=0;topo-1 >= temp ;temp++){ //lista os elementos da fila

cout <<"Na posicao " << temp << " temos " << dado[temp] << "\n";

}

}

system("PAUSE");

}

void inserir(void){ //procedimento de inserção (queue)

if (topo==MAX){ //verifica se fila cheia

cout << "\nA Fila esta cheia, OverFlow\n";

}

else {

cout << "\n\nDigite um numero inteiro para entrar na Fila: ";

cin >> dado[topo]; //elemento ocupa posicao vazia do fim da fila

topo++; //desloca apontador diminuindo posicao livre na fila

}

exibir(); //mostra os elementos

}

void remover(int x[]){ //prodedimento de remoção (dequeue)

int i;

if (topo==0){ //testa se existe elementos na fila

cout << "\nA Fila esta vazia\n";

}else {

cout << "\nElemento " << dado[0] << " removido\n"; //sempre retira o primeiro elemento da fila

for (i=0;i<=topo-1;i++){

dado = x[i+1]; //desloca todos os elementos 1 posição à frente na fila

}

}

topo--; //desloca apontador liberando posicao da fila

exibir();

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...