Flavio.Henrique Postado Dezembro 3, 2010 Denunciar Share Postado Dezembro 3, 2010 como faço para inseri uma nova opção no menu: 4 – Inverter/desinverteros 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 3int 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();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Flavio.Henrique
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
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.