PDA

View Full Version : [C] Impiccio con la funzione rand


D4rkAng3l
04-12-2008, 11:24
Ciao,
ho scritto questo semplice programmino che simula il lancio di un dado a 6 facce ma non funziona correttamente:


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

int main () {

int i;
int valore;
srand(time(NULL));

for(i=1; i<=10; i++){
valore = 1 + (rand() % 6);
printf("Al lancio numero %d del dado e' uscito il numero\n", i, valore);
}

system("pause");
return 0;
}


L'output che mi dà è il seguente ed in pratica non stampa a schermo il valore uscito dai lanci del dado:

Al lancio numero 1 del dado e' uscito il numero
Al lancio numero 2 del dado e' uscito il numero
Al lancio numero 3 del dado e' uscito il numero
Al lancio numero 4 del dado e' uscito il numero
Al lancio numero 5 del dado e' uscito il numero
Al lancio numero 6 del dado e' uscito il numero
Al lancio numero 7 del dado e' uscito il numero
Al lancio numero 8 del dado e' uscito il numero
Al lancio numero 9 del dado e' uscito il numero
Al lancio numero 10 del dado e' uscito il numero
Premere un tasto per continuare . . .


Come mai? come risolvere?

Grazie
Andrea

trallallero
04-12-2008, 11:34
printf("Al lancio numero %d del dado e' uscito il numero %i\n", i, valore);



;)

D4rkAng3l
04-12-2008, 11:39
;)

cmq è %d e non %i...perchè %d stampa valori di tipo int ...siamo entrambi rincoglioniti...stanotte non ho chiuso occhio :D

trallallero
04-12-2008, 11:42
cmq è %d e non %i...perchè %d stampa valori di tipo int ...siamo entrambi rincoglioniti...stanotte non ho chiuso occhio :D

:nonsifa:

%i == %d :read: