Jump to content
Garcia Casimiro

Menu , Tabuada e Visualisação de String

Recommended Posts

Garcia Casimiro

Pessoal

tenho um problema em fazer um menu em Haskell, o que eu quero fazer é o seguinte, um menu com três opções

1 Calculo da Tabuada

2 Entrada de String

3 Visualização da String

eu fiz da seguinte forma:

main = do
putStrLn "Escolha a opcao:"
putStrLn "1- Calculo da Tabuada"
putStrLn "2- Entrada de String"
putStrLn "3 Visualização de String
opcao <- getLine
case opcao of
		   "1" -> menuCoisaA
		   "2" -> menuCoisaB
		   "3" -> menuCoisaC

Está a me dar muito ERRO

--------------------

E também me ajuda a fazer uma tabuada em Haskell por exemplo se dígito 3 ele tem que fazer a tabuada do 1, 2 e 3

E na opção 2, se dar entrada de uma string ele deve mostrar o numero de caracteres, eu tenho a certeza que temos que usar o length() mas não vejo como.

Share this post


Link to post
Share on other sites
brunoais

para as tabuadas usa geradores:

--Calc a tabuada de a

tabuada a = [a*x | x<-[0..]]


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Baderous

Esta a me dar muito ERRO

Posta os erros. Dizer que dá erro não ajuda a resolver o problema.

e na opcão 2, se dar entrada de uma string ele deve mostrar o numero de caracteres, eu tenho a certeza que temos que usar o length() mas não vejo como.

Uma string é uma lista de caracteres. O length devolve o comprimento da lista, ou seja, o seu número de elementos. Acho que por aqui já chegas lá.

Share this post


Link to post
Share on other sites
Garcia Casimiro

para as tabuadas usa geradores:

--Calc a tabuada de a

tabuada a = [a*x | x<-[0..]]

Não esta a me dar o resultado esperado que é fazer a tabuada se no caso eu digitar 3 ele deve mostrar da seguinte forma:

1*1=1

1*2=2

.....

2*1=2

2*2=3

---....

3*1=3´

3*2=6

ja fiz todos os possiveis mas não consego

Share this post


Link to post
Share on other sites
brunoais

então o que eu escrevi não funciona?!?!?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Garcia Casimiro

Não funciona.....

eu fiz o seguinte

tabuada Int->Int

tabuada a = [a*x | x<-[0..2]]

e me da sempre erro

e acho que não me daria o resultado esperado porque eu quero que mostra as tabuadas de em seguida e não so o resultado final

agradecia

garcia casimiro

Share this post


Link to post
Share on other sites
Baderous

Isso dá erro de tipos, no cabeçalho da função estás a dizer que o resultado é um valor inteiro e na definição estás a devolver uma lista.

Share this post


Link to post
Share on other sites
brunoais

Não funciona.....

eu fiz o seguinte

tabuada Int->Int

tabuada a = [a*x | x<-[0..2]]

[*]Claro que não funciona. Escreves mal o cabeçalho. Falta o ::

[*]Claro que não funciona. Indicas na assinatura que devolves um inteiro mais isso devolve uma lista de inteiros.

[*]Para isso funcionar para teres a tabuada de cda numero que escolheres não é fazer:

tabuada a = [a*x | x<-[0..2]]  👎

mas sim:

tabuada a = [a*x | x<-[0..]] :)

como eu te tinha escrito B).


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

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.