Jump to content
nunocapela

Calculadora

Recommended Posts

nunocapela

Olá!

Estou a fazer um trabalho em linguagem C que permita fazer uma calculadora. 
Ou seja, supondo que eu faço 1+3+5, ela tem de devolver o resultado, que é 9.
Mas não tenho ideia de como identificar o que são números e o que são operadores.
E mais, não sei como distinguir os números e os algarismos. Por exemplo, se eu fizer 100+100+100, não sei como identificar cada parcela como um único número.
Tenho de fazer no mínimo para 3 operandos. 

Algum me pode dar uma ajuda, por favor?
Desde já obrigado.

Cumps.

Share this post


Link to post
Share on other sites
HappyHippyHippo

para o teu problema, existe a possibilidade de inserir parênteses ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
HappyHippyHippo

começa devagarinho porque vais aprender muitas coisas com esse trabalho ...

primeiro, tenta separar a informação através dos escape characters da função *scanf


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
nunocapela

Não percebi a sua sugestão.
Pode por favor explicar novamente?

Obrigado.
Cumps

Share this post


Link to post
Share on other sites
HappyHippyHippo

eu estou a tentar não dar a minha solucao favorita porque desconfio que não ias pescar nada do que ia dizer. No entanto, seria de esperar que já tivesses conhecimentos de como ler uma string. O que disse foi usar a função sscanf para facilmente leres os números e/ou os operadores


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Flinger

Eu acho que a documentação do scanf é bastante má, especialmente para iniciantes. Eu próprio achei aquilo incompreensível até já dominar um pouco a linguagem e a própria função.

Tens aqui alguns exemplos de um uso mais avançado do scanf (não perdi muito tempo a procurar, pode haver melhor tutoriais na net). Se conseguires compreender o seu uso, ficas mais perto de conseguires ler e compreender a documentação do scanf.

Basicamente tu podes usar o scanf para ler múltiplos valores de uma só linha, limitando mesmo os caracteres que podes ler ou não. O valor que o scanf te retorna é exactamente o número de parâmetros correctamente lidos, a partir do qual podes decidir se a linha foi correctamente lida ou não.

Outra dica, o scanf lê-te os parametros a partir do stdin (consola), ao passo que o sscanf faz o mesmo de uma string que tu lhe passes como argumento. Isto pode ser importante na organização do teu código.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.