giulli_17 0 Denunciar post Postado Maio 30, 2009 Bom dia pessoal estou começando em c . Preciso de uma solução para o seguinte problema . O usario digita uma string qualquer, exemplo - gets("11+2-3") e a operação e finalizada pelo enter . Como eu faço para conveter esses valores para inteiros e depois conseguir mostrar o resultado , seguindo os sinais ??? A principio estou usando o srtlen () para retornar o valor total da string Faço um condição if para ver se a entrada é "+" , ou "-" ; agora eu preciso concatenar todos os valores anteriores aos sinal de "+"; ou "-" ; e depois usar um função como ATOI() para realizar os calculos . #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> main() { int total, soma,i,a, num; char str[1], cat[1],*aux[1],real[1]; printf("\n""Digite a expressão a ser calculada e pressione enter para resolvela:"); printf("\n\n"">> "); gets(str); printf("\ntamanho da string>>%d",strlen(str)); for(i=0;i<=strlen(str);i++) { if (str[i]=='+') { \\ Alguma solução ? soma = atoi(cat); total += soma; cat[1]=str[i]; printf("\nmais"); } if (str[i]=='-') { soma = atoi(cat); printf("\nmenos"); } if (str[i]!='+' && str[i]!='-') { real[1]=str[i]; aux[1]=strcat(cat,real); cat[1]=aux[1]; printf("\ndiferente"); } } system("pause"); } Obrigado Giulliano Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Maio 30, 2009 http://forum.imasters.com.br/index.php...p;#entry1299896 Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Maio 30, 2009 Baixe o meu projeto, o eibon ja te mandou o link. De uma olhada na pasta "math/", lá está tudo que é resposável pela conversão "string --> expresão matemática" Compartilhar este post Link para o post Compartilhar em outros sites
giulli_17 0 Denunciar post Postado Maio 31, 2009 Obrigado !!!! Um dia ainda vou ser como vc6 . . . . abraços BOM DOMINGO !!!!! Compartilhar este post Link para o post Compartilhar em outros sites