Estrututas De Dados
Artigo: Estrututas De Dados. Pesquise 862.000+ trabalhos acadêmicosPor: Dionathan • 1/12/2014 • 1.117 Palavras (5 Páginas) • 220 Visualizações
/* Bibliotecas de Funções */
#include <stdio.h>
#include <stdlib.h>
/* Constantes */
#define MAX 10
#define BASE 0
/* Variáveis */
int TOPO=0, OPERACAO=0;
float VETOR[MAX], VALOR=0, N1=0, N2=0, RESULTADO=0;
/* Função para inserir elementos na pilha */
void EMPILHAR(float VALOR)
{
if (TOPO == MAX)
printf("Buffer OverFlow - Pilha Cheia.\n");
else
VETOR[TOPO] = VALOR;
TOPO++;
}
/* Função para retirar elementos da pilha */
float DESEMPILHAR()
{
if (TOPO == BASE)
printf("Buffer UnderFlow! Pilha Vazia.\n");
else
{
TOPO--;
RESULTADO = VETOR[TOPO];
}
return RESULTADO;
}
/* Função para efetuar as operações */
void CALCULA()
{
int RESULT = 0;
if (OPERACAO == 1) {
printf("\nOperacao de Adicao\n");
N1 = DESEMPILHAR();
N2 = DESEMPILHAR();
RESULTADO = N1 + N2;
printf("\n%f + %f = %f\n",N1,N2,RESULTADO);
EMPILHAR(RESULTADO);
RESULT = 1;
}
if (OPERACAO == 2) {
printf("\nOperacao de Subtracao\n");
N1 = DESEMPILHAR();
N2 = DESEMPILHAR();
RESULTADO = N1 - N2;
printf("\n%f - %f = %f\n",N1,N2,RESULTADO);
EMPILHAR(RESULTADO);
RESULT = 1;
}
if (OPERACAO == 3) {
printf("\nOperacao de Multiplicacao\n");
N1 = DESEMPILHAR();
N2 = DESEMPILHAR();
RESULTADO = N1 * N2;
printf("\n%f * %f = %f\n",N1,N2,RESULTADO);
EMPILHAR(RESULTADO);
RESULT = 1;
}
if (OPERACAO == 4) {
printf("\nOperacao de Divisao\n");
N1 = DESEMPILHAR();
N2 = DESEMPILHAR();
RESULTADO = N1 / N2;
printf("\n%f / %f = %f\n",N1,N2,RESULTADO);
...