nunocapela Posted October 4, 2016 at 08:06 PM Report #599387 Posted October 4, 2016 at 08:06 PM 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.
HappyHippyHippo Posted October 4, 2016 at 10:51 PM Report #599397 Posted October 4, 2016 at 10:51 PM para o teu problema, existe a possibilidade de inserir parênteses ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
nunocapela Posted October 5, 2016 at 03:13 AM Author Report #599400 Posted October 5, 2016 at 03:13 AM Sim, existe essa possibilidade! obrigado
HappyHippyHippo Posted October 5, 2016 at 05:12 AM Report #599402 Posted October 5, 2016 at 05:12 AM 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 Portugol Plus
nunocapela Posted October 5, 2016 at 09:03 AM Author Report #599405 Posted October 5, 2016 at 09:03 AM Não percebi a sua sugestão. Pode por favor explicar novamente? Obrigado. Cumps
HappyHippyHippo Posted October 5, 2016 at 09:46 AM Report #599407 Posted October 5, 2016 at 09:46 AM 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 Portugol Plus
nunocapela Posted October 5, 2016 at 10:13 AM Author Report #599408 Posted October 5, 2016 at 10:13 AM Conhece algum exemplo que demonstre o que está a tentar explicar-me?
PsySc0rpi0n Posted October 5, 2016 at 11:23 AM Report #599410 Posted October 5, 2016 at 11:23 AM 1 hour ago, nunocapela said: Conhece algum exemplo que demonstre o que está a tentar explicar-me? Acho que passa por pelo menos leres a documentação disponível dessa função. http://pubs.opengroup.org/onlinepubs/009695399/functions/fscanf.html Kurt Cobain - Grunge misses you Nissan GT-R - beast killer
Flinger Posted October 7, 2016 at 01:08 PM Report #599456 Posted October 7, 2016 at 01:08 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now