Linguaggio C – Esercizi svolti su iterazioni e Array monodimensionali

Indovinare un numero intero casuale (funzioni rand e srand) costituito da un numero di cifre scelto dall’utente.

 


#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include<time.h>

/*
La funzione rand() restituisce un numero casuale
compreso fra 0 e RAND_MAX 
(una costante maggiore di 2^15).

La funzione srand usa il numero passato come seme 
per inizializzare il generatore di numeri casuali.

La funzione time() (con argomento NULL) fa parte 
della libreria <time.h> e restituisce 
il tempo attuale in secondi trascorsi dalla 
mezzanotte del 1/1/1970.

L'operazione di modulo % serve per restringere 
il range di valori; ad esempio, rand() % 10 
limita il range all'intervallo [0; 9].
*/

main() {

short NumeroCifre, ValoreRange;
int NumeroInput, NumeroCasuale;

	do {
		printf("\nInserire il numero di cifre " 
			"del Numero da indovinare (max 3): ");
		scanf("%d", &NumeroCifre);
	} while (NumeroCifre == 0 || NumeroCifre>3);
	
	ValoreRange=pow(10, NumeroCifre);

	srand(time(NULL));
	NumeroCasuale = rand( ) %ValoreRange;
	
	printf("\nNumero Casuale %d: ", NumeroCasuale);

	do {
		printf("\n\nIndovinare il Numero: ");
		scanf("%d", &NumeroInput);
		if (NumeroInput == NumeroCasuale)
			printf("-- Indovinato!! --\n");
		else
			printf("-- Numero errato. Riprovare. --\n");
	} while (NumeroCasuale != NumeroInput);

}
 

Visite: 2932

Pagine: 1 2 3 4 5