Pular para o conteúdo principal

Calculadora, Pilha, push, break, case

#include
#include
#define TAM 100
using namespace std;
void push(float p[], int &t, float v);
float pop(float p[], int &t);
int main()
{
int t = -1; //Inicialização
float a, b,p[TAM] ;
char s[10];
system("color f1");
cout<<"\n****************************************************";
cout<<"\n* Calculadora para quatro operacoes pos-fixa *";
cout<<"\n* Digite numeros e operadores *";
cout<<"\n* Digite s para sair *";
cout<<"\n****************************************************\n";
do
{
cout<<": ";
cin>>s;
switch(s[0])
{
case '+':
a = pop(p, t);
b = pop(p, t);
cout<<"\n"<< a+b<<"\n";
push(p, t,a+b);
break;
case '-':
a = pop(p, t);
b = pop(p, t);
cout<<"\n"<< b-a<<"\n";
push(p, t,b-a);
break;
case '*':
a = pop(p, t);
b = pop(p, t);
cout<<"\n"<< a*b<<"\n";
push(p, t,b*a);
break;
case '/':
a = pop(p, t);
b = pop(p, t);
if(a==0)
cout<<"\ndivisao por 0\n";
else
{
cout<<"\n"<< b/a<<"\n";
push(p, t,b/a);
}
break;
default: push(p,t, atof(s));
}
} while(s[0]!='s');
system("pause");
}
/* Insere o elemento na pilha */
void push(float p[], int &t, float v)
{
if(t==TAM-1)
cout<<"\nATENCAO. Pilha Cheia\n";
else
{
t++; //atualiza o topo
p[t]=v; // pilha recebe valor
}
}
/* Remove o elemento da pilha */
float pop(float p[], int &t)
{ float v;
if(t == -1)
{
cout<<"\nATENCAO. Pilha Vazia\n";
return 0;
}
else
{
v=p[t];//guarda o valor do topo
t--; //atualiza o topo
return v;
}
}

Comentários

Postagens mais visitadas deste blog

Excel, Banco de horas, planilha editada, modelo banco de horas em excel!!

Excel, Banco de horas, planilha editada, modelo banco de horas em excel!! Download para Banco de Horas!

EXCEL, DEMONSTRATIVO DE RESULTADOS, PLANILHA

DEMONSTRTRATIVO DE RESULTADOS .XLS Download para demonstrativo de resultados. para tomar as decisões mais importantes do seu negocio é preciso que você tenha algumas informações importantes, uma delas é rentabilidade de seu negócio, para saber isso é indispensável utilizar a DRE (Demonstração do Resultado do Exercício)

FICHA DE REGISTRO DE EMPREGADO, RE, REGISTRO DE FUNCIONÁRIOS MODELO .DOC

FICHA DE REGISTRO DE EMPREGADO. Editável em Word podendo ser impresso em qualquer tipo de papel. Ideal para ser usado em impressora laser ou jato de tinta. Download para ficha de registro.