Lancio del dado
PROBLEMA
Carica in un array i punti ottenuti lanciando un dado a 6 facce. Sono previsti dieci lanci. Visualizzare l'array dopo i dieci lanci.
DIAGRAMMA A BLOCCHI
Clicca qui per visualizzare il Diagramma a blocchi.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//dichiarazione costante
#define NUMERO_DADI 3
//dichiarazione funzioni
void menu();
void play();
void lancio_dadi();
void generazione_dadi();
void risultati();
void informazioni();
void contatti();
void esci();
void banner_time();
void banner_grazie();
int main(int argc, char *argv[]){
//sezione dichiarativa
int c;
int dadi[NUMERO_DADI];
//sezione menu
do {
menu();
c=getch();
switch (c) {
case '1':
play(dadi);
break;
case '2':
informazioni();
break;
case '3':
contatti();
break;
case '4':
esci();
break;
default:
c='1';
}
}while(c!='4');
//fine programma
system("PAUSE");
return 0;
}
//visualizza il menu
void menu (void){
system("cls");
banner_time();
printf("1. Play\n");
printf("2. Informazioni\n");
printf("3. Contatti\n");
printf("4. Esci\n");
printf("--------------------------------------\n");
printf("Scegli un opzione per continuare . . .\n");
}
//assegnare i numeri casuali
void generazione_dadi (int dadi[]){
int i;
srand(time(NULL));
for (i=0;i<NUMERO_DADI;i++){
dadi[i]=rand()%6+1;
}
}
//simulare l'attesa per il lancio dei dadi
void lancio_dadi (void){
int percentuale=10;
system("cls");
printf("[== %i%% ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==== %i%% ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[====== %i%% ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[======== %i%% ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%% ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%%== ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%%==== ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%%====== ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%%======== ]", percentuale);
percentuale=percentuale+10;
sleep(1);
system("cls");
printf("[==========%i%%==========]", percentuale);
}
//visualizzare i dadi
void risultati (int dadi[]){
int i;
system("cls");
banner_time();
for (i=0;i<NUMERO_DADI;i++){
printf("Dado %i:\t\t[%i]\n", i+1, dadi[i]);
}
printf("-----------------------------------------------------\n");
printf("Premere un tasto per tornare al menu precedente . . .\n");
getch();
}
//scelta del menu
void play (int dadi[]){
int a, b, c;
system("cls");
lancio_dadi();
generazione_dadi(dadi);
risultati(dadi);
}
//scelta del menu
void informazioni (void){
system("cls");
banner_time();
printf("Puo causare dipendenza.\n\n");
printf("Vietato ai minori di 18\nanni.\n\n");
printf("Creato da:\nAlessandro Masone.\n\n");
printf("Scritto in C.\n");
printf("-----------------------------------------------------\n");
printf("Premere un tasto per tornare al menu precedente . . .\n");
getch();
}
//scelta del menu
void contatti (void){
system("cls");
banner_time();
printf("Per comunicare problemi del programma email:\[email protected]\n\n");
printf("Per essere aiutato email:\[email protected]\n\n");
printf("Per informazioni su collaborazioni email:\[email protected]\n\n");
printf("Per contatto telefonico cell:\n+39 123 123 1234\n\n");
printf("-----------------------------------------------------\n");
printf("Premere un tasto per tornare al menu precedente . . .\n");
getch();
}
//scelta del menu
void esci (void){
banner_grazie();
}
//visualizzare l'orario in cima
void banner_time (void) {
time_t t;
time(&t);
printf("------------------------\n");
printf("%s", ctime(&t));
printf("------------------------\n");
}
//ringraziamenti all'utente
void banner_grazie (void) {
int i;
system("cls");
banner_time();
for (i=0;i<5;i++) {
printf("Grazie di aver utilizzato il programma\n\n");
sleep(1);
}
printf("-----------------------------------\n");
printf("Premere un tasto per chiudere . . .\n");
getch();
system("cls");
}