newnoob Postado Abril 4, 2011 Denunciar Share Postado Abril 4, 2011 galera to precisando de uma calculadora pos fixa que calcule as seguites funções:adição,subtração.multiplicação,divisão e potenciase alguém ai tive algum codigo em C eu agradeço, por que to precisndo urgentevaleu galeraobrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Abril 6, 2011 Denunciar Share Postado Abril 6, 2011 Saudações,Chegou a tentar implementar? Poste seu código para que possamos te ajudar.Abraços,William Rodrigues. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 newnoob Postado Abril 6, 2011 Autor Denunciar Share Postado Abril 6, 2011 ainda naome sobro tempo pratenta implementa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 newnoob Postado Abril 11, 2011 Autor Denunciar Share Postado Abril 11, 2011 (editado) ainda naome sobro tempo pratenta implementaagora consegui faze mais o menos o que eu quero#include <stdio.h> #include <stdlib.h> #define STACKSIZE 100 #define MAX[100] struct stack{//definição da estrutura// char S[STACKSIZE]; int top; }elements; //função para verificar se a pilha não esta vazia// empty (*ps){ if (ps->topo==-1){ return true; } else { return false; } } pop(*p){//função para verificar se a pilha não esta vazia// if(empty(ps)){ printf ("underflow"); exit(1);} return (ps->elements[ps->top--); } push(*stack,int top)//função para verificar se a pilha não esta cheia// { if(stack->top == STACKSIZE 1){ printf ("\nNao e possivel:PILHA CHEIA(OVERFLOW)!"); exit (1); }else{ stack->top++; stack->elements[stack->top].top); return; } } stacktop(pstack)//função de retorno de elementos da pilha// { if(empty(stack){ printf ("\nPilha vazia!"); exit(1); } else{ return pstack -> elements[pstack->top]; } } float eval(exp)// função de retorno posfixa { int c,position; float operando1,operando2,value; struct stack opndstack; opndstack.top=-1; for (position = 0(c = exp[position]) != '', position ++){ if (isdigit©) { push (&opndstack,(float)(c-'0')); }else { operando2 = pop(&opndstack); operando1 = pop(&opndstack); value = operando (c,operando1,operando2); push(&opndstack,value); return pop (opndstack) } } } int main()// inicio do programa principal// { char exp[MAX]; int position = 0; while ((exp[position++] = getchar())!='\n'); exp (--position)= ''; printf ("\n%s%s","A expressao posfixaoriginal e", exp); printf ("\n%f\n", eval(exp)); system ("pause"); }alem dele não estar funcionando falta fazer duas coisas que eu não to conseguindo e queria ver se algum pode me ajudafalta fazer uma função que transforma de infixa praprefixa e uma funcão com switch, case para ordem de precedenci '+','-','/','*','$'se alguém puder dizer onde esta meu erro no programa e me dar uma ajuda nessas duas funções eu agradeçovaleu Editado Abril 11, 2011 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
newnoob
galera to precisando de uma calculadora pos fixa que calcule as seguites funções:
adição,subtração.multiplicação,divisão e potencia
se alguém ai tive algum codigo em C eu agradeço, por que to precisndo urgente
valeu galera
obrigado
Link para o comentário
Compartilhar em outros sites
3 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.