01: // nuovi concetti: definizione di funzione
02: #include<stdio.h>
03: #include<stdlib.h>
04: #include<time.h>
05:
06:
07: // funzione che non prende in ingresso dati e non restituisce niente
08: void saluta(void)
09: {
10: printf("Benvenuto al programma di simulazione giuoco dei dadi\n");
11: } // return non obbligatorio, termino quando incontro }
12:
13: // funzione che non prende in ingresso dati e non restituisce niente
14: void arrivederci(void)
15: {
16: printf("Grazie di aver giocato, torna presto!\n");
17: }
18:
19: // funzione che non prende in ingresso dati MA restituisce un singolo dato di tipo int
20: int lancio_dado(void)
21: {
22: return 1+rand()%6; // return obbligatorio
23: }
24:
25: // funzione che prende in ingresso un int e restituisce un int
26: int lancio_dadi(int n)
27: {
28: int sum=0;
29: for(int i=0; i<n; ++i)
30: sum += lancio_dado();
31:
32: return sum;
33: }
34:
35:
36: int chiedi_numero_dadi(void)
37: {
38: int dadi;
39:
40: printf("Quanti dadi vuoi lanciare? ");
41: scanf("%d", &dadi);
42:
43: return dadi;
44: }
45:
46:
47:
48: int main(int argc, char **argv){
49:
50: srand(time(NULL));
51:
52: saluta(); // invocazione funzione che non prende in ingresso niente
53:
54: int dadi_da_lanciare = chiedi_numero_dadi(); // invocazione funzione che non prende in ingresso niente ma che restituisce un int
55:
56: int risultato = lancio_dadi(dadi_da_lanciare); // invocazione funzione che prende argomento
57:
58: printf("Hai ottenuto: %d\n", risultato);
59:
60: arrivederci();
61:
62: return 0;
63: }
64:
65: // si noti come la main() e' molto piu' leggibile e comprensibile
66: // in pratica ho nascosto i dettagli implementativi nelle funzioni (in questo esempio si e' anche esagerato!)
67:
Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it