Advertisement
u53r

Indovina il numero

Nov 1st, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.89 KB | None | 0 0
  1. /*
  2. Implementare un gioco in cui l'utente deve indovinare un numero nasconto entro un numero massimo di tentativi
  3.  
  4. Non essendo altrimenti specificato, stabilisco un numero massimo di tentativi max = 3 e un intervallo del numero segreto che va da 1 a 10 [1..10]
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <time.h>
  9. #include <stdlib.h>
  10.  
  11. void indovina(); // Prototipo della funzione "indovina"
  12.  
  13. int main() {
  14.   int s,p=1; // s => scelta, p => contatore partite
  15.   srand(time(NULL));
  16.   printf("######## INDOVINA IL NUMERO #########\n");
  17.   printf("Verrà generato un numero segreto compreso tra 1 e 10, hai a disposizione 3 tentativi per indovinarlo\n");
  18.   printf("Pronto?\n");
  19.   printf("1) Giochiamo!\n");
  20.   printf("DEFAULT) Uscita\n");
  21.   scanf("%d", &s);
  22.   while(s == 1){
  23.     printf("\n\n####### Partita %d° #######\n", p);
  24.     indovina(3);
  25.     printf("\n\nVuoi giocare ancora?\n");
  26.     printf("1) Sì\n");
  27.     printf("DEFAULT) No\n");
  28.     scanf("%d", &s); // Se inserisco un numero diverso da 1, la condizione del while viene invalidata ed esco dal ciclo
  29.     p++; // Incremento il numero di partite
  30.   }
  31.   return 0;
  32. }
  33.  
  34. // Funzione "indovina"
  35. void indovina(int max){ // max => massimo numero di tentativi
  36.   int i,n,t; // i => contatore for, n => numero segreto, t => tentativo corrente
  37.   n = rand()%10+1; // Generazione del numero casuale
  38.   for (i = 0; i < max; i++) {
  39.     printf("[%d] > ", max-i); // Stampa del numero di tentativi restanti (es. per max = 3 e i = 2, si ha "[1] > ")
  40.     scanf("%d", &t);
  41.     if(t == n){ // Se il tentativo corrente è corretto
  42.       printf("Complimenti! Hai indovinato! Il numero era proprio %d\n", n); // Stampo un messaggio di successo
  43.       break; // Esco dal ciclo
  44.     }
  45.   }
  46.   if(i == 3){ // Se sono uscito dal ciclo esaurendo i tentativi senza aver indovinato
  47.     printf("Tentativi esauriti!\nIl numero era %d\n", n); // Comunico all'utente il numero segreto
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement