Advertisement
campos20

Usa continue para repetir o jogo em caso de entrada invalida

May 12th, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. // Jogo: par ou impar
  6. // Autor: Alexandre Campos
  7.  
  8. int main()
  9. {
  10. // Declaracao das variaveis
  11. int escolha_do_computador;
  12. int limite_escolha_computador = 10; // Computador escolhe de 0 a 9
  13. int escolha_do_usuario; // Sera digitada
  14. int resultado;
  15. int resto; // Resto da divisao por 2
  16. int continuar_parar; // Encerra ou nao o jogo
  17. int paridade_usuario; // Usuario escolhe se quer par ou impar
  18.  
  19. // Faz os numeros aleatorios serem diferentes a cada execucao
  20. // Precisa ser colocado 1 unica vez no codigo, antes do rand
  21. srand(time(NULL));
  22.  
  23. // Mensagem de boas vindas
  24. printf("*** Bem vindo ao jogo de par ou impar ***\n");
  25.  
  26. while (1) // Executa para sempre, ate chegar no break
  27. {
  28.  
  29. // Numero aleatorio entre 0 e 9
  30. escolha_do_computador = rand() % limite_escolha_computador;
  31.  
  32. // Entrada de dados
  33. printf("Digite '1' para impar e '2' para par\n");
  34. scanf("%d", &paridade_usuario);
  35.  
  36. // Exibe se o usuario escolheu par ou impar
  37. if (paridade_usuario == 2)
  38. {
  39. printf("Voce escolheu par\n");
  40. }
  41. else if (paridade_usuario == 1)
  42. {
  43. printf("Voce escolheu impar\n");
  44. }
  45. else
  46. {
  47. printf("Opcao invalida\n");
  48.  
  49. // Ignora o restante do while e volta ao comeco
  50. continue;
  51. }
  52.  
  53. // Permite que o usuario escolha um numero
  54. printf("Digite o numero de sua escolha\n");
  55. scanf("%d", &escolha_do_usuario);
  56.  
  57. printf("Voce escolheu %d e eu escolhi %d\n", escolha_do_usuario, escolha_do_computador);
  58.  
  59. // Logica
  60. resultado = escolha_do_computador + escolha_do_usuario;
  61. printf("O resultado foi %d\n", resultado);
  62.  
  63. // Vamos dividir por 2 e olhar o resto
  64. resto = resultado % 2; // % significa resto
  65.  
  66. if (resto == 0) // O resultado foi par
  67. {
  68. // Vamos exibir quem venceu
  69.  
  70. if (paridade_usuario == 2) // Usuario escolheu par
  71. {
  72. printf("Voce venceu\n");
  73. }
  74. else
  75. {
  76. printf("Eu venci\n");
  77. }
  78.  
  79. }
  80. else // Resto foi 1, portanto o resultado foi impar
  81. {
  82.  
  83. if (paridade_usuario == 1) // Usuario escolheu par
  84. {
  85. printf("Voce venceu\n");
  86. }
  87. else
  88. {
  89. printf("Eu venci\n");
  90. }
  91. }
  92.  
  93. // Permite o usuario continuar ou terminar
  94. printf("Digite 1 para continuar ou 2 para parar\n");
  95. scanf("%d", &continuar_parar);
  96.  
  97. // Para se o usuario nao digitar 1
  98. if (continuar_parar != 1){
  99. // Break interrompe o while (loop)
  100. break;
  101. }
  102. }
  103.  
  104. return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement