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)

Excel, cronograma geral de execução, planilha 52 semanas, modelo, download, editável, configuração fácil

Excel, cronograma geral de execução, planilha 52 semanas, modelo, download, editável, configuração fácil  Link para download!