Accedi

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");
}