-Synk2K- 9 Posted January 28, 2017 (edited) Já percebi o que estava mal, vou continuar a postar aqui dúvidas que possam surgir. Desde já obrigado a quem ajudar. Edited January 28, 2017 by -Synk2K- (see edit history) Share this post Link to post Share on other sites
-Synk2K- 9 Posted January 28, 2017 (edited) Parece que me esqueci de por um if antes da mensagem de numero invalido que estupidez, enfim... Edited January 28, 2017 by -Synk2K- (see edit history) Share this post Link to post Share on other sites
-Synk2K- 9 Posted January 29, 2017 Por favor, quem puder ajude-me: Exercicio : Cria um projecto em C# e Console Application que permita ao utilizador introduzir um código devendo este ter apenas 5 tentativas para introduzir o código „109587‟. Se este introduzir o código dentro do número de tentativas permitido deverá aparecer a mensagem “Software Registado” antes da aplicação encerrar, caso contrário aparecerá a mensagem “Numero de tentativas excedido”. Codigo que eu fiz: http://imgur.com/a/WFPMR Ja fiz de tudo nao encontro o porque de ao introduzir o valor correto ele entrar no ciclo While Ja mudei também para while( cod != codutil .... ); mas continua o mesmo problema. Share this post Link to post Share on other sites
Cσяvσ⋆ 1,804 Posted January 29, 2017 Em programação (pelo menos as línguas em que trabalho) não podes verificar a igualdade de strings com um == ou um !=, para isso tens uma função própria chamada .Equals(String). Ou seja, dentro desse while deverias ter !codeutil.Equals(cod) e não !(codeutil == cod). 1 -Synk2K- reacted to this Share this post Link to post Share on other sites
Snooke 87 Posted January 29, 2017 Boas. Com o ciclo for torna-se mais fácil. Aqui tens, testei e funcionou tudo corretamente ^^ Pastebin: http://pastebin.com/0NWU3w9x Código: int codigoUser; int codigo=109587; Console.WriteLine("Introduza o código:"); codigoUser = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < 5; i++) { if (codigoUser != codigo) { Console.WriteLine("Tenta de Novo:"); codigoUser = Convert.ToInt32(Console.ReadLine()); } } if (codigoUser == codigo) { Console.WriteLine("Acertaste:"); Console.ReadLine(); } else { Console.WriteLine("Tentativas Excedidas"); Console.ReadLine(); } Console.ReadKey(); 1 -Synk2K- reacted to this Share this post Link to post Share on other sites
-Synk2K- 9 Posted January 29, 2017 (edited) Obrigado aos 2. Corvo, por enquanto o meu professor nao me falou em nada disso, por isso duvido que pelo menos em c# isto não funcione. Mais logo vou exprimentar no entanto para confirmar. Edited January 29, 2017 by -Synk2K- (see edit history) Share this post Link to post Share on other sites
Cσяvσ⋆ 1,804 Posted January 29, 2017 Retiro o que disse do .Equals(), estás a utilizar Integers portanto deveria funcionar. O problema deve estar mesmo no código, tenta com: int cod = 109587; int codutil; int tentativas = 0; Console.WriteLine('Introduza o código:'); codutil = Console.Read(); while (tentativas < 5) { if (cod == codutil) { Console.WriteLine("Software Registado"); break; } else { tentativas += 1; Console.WriteLine("Código errado, introduza novamente:"); codutil = Console.Read(); } } Console.WriteLine("Número de tentativas excedido"); 1 thecrazy reacted to this Share this post Link to post Share on other sites
RachadoPT 140 Posted January 30, 2017 Supostamente o utilizador tem 5 tentativas para acertar o código ou pode usar o código 5x e depois disso já não pode mais? se for o 1º caso, o código do Corvo deve funcionar bem, não vejo nada de mal, se for o 2º caso avisa que eu vejo se faço isso Share this post Link to post Share on other sites
aethermt2 10 Posted January 30, 2017 No código do andre tens de meter <4 e não <5, pois a variável é iniciada a 0, de resto funciona perfeitamente. Share this post Link to post Share on other sites
thecrazy 1,193 Posted January 30, 2017 O código do senhor Corvo está perfeito, dá para entender tudo. Só uma coisa, foi dito em cima que não é possível comparar string com outra string utilizando == ou != ou /=, só queria dizer que em Haskell é possível. Share this post Link to post Share on other sites