Simulare lancio dado

di il
2 risposte

Simulare lancio dado

Il nostro professore ci ha dato questa traccia: Simulare il lancio di un dado per sommare i risultati dopo ogni lancio. Il gioco prevede 5 lanci.
I possibili risultati possono variare tra 1 e 6 (numeri interi). [ Utilizzate la funzione matematica: rand()%6+1 ]
Definite funzione chiamata Lancio_dado per effetture nel main i 5 tentativi.
io so veramente poco e ho fatto questo sapete dirmi come continuare?

#include <iostream>
#include <stdio.h>
#include <ctime>
using namespace std;

int lancio del dado (int a){
int a;
int a=rand()%6+1;
return a;
}

int main(){

}

2 Risposte

  • Re: Simulare lancio dado

    Ti possiamo aiutare ma le basi le devi studiare.

    I nomi delle funzioni non devono avere spazi, infatti la traccia ti ha suggerito Lancio_dado, probabilmente int Lancio_dado(void)

    Int a non lo devi dichiarare due volte, se vuoi due variabili diverse fai
    int a1 = Lancio_dado();
    int a2 = Lancio_dado();
    Altrimenti
    int a = Lancio_dado();
    ...
    a = Lancio_dado();

    Per usare rand() devi inizializzare il seed: il forum è pieno di esempi a tal proposito, e sono sicuro che ci saranno anche sul tuo libro
  • Re: Simulare lancio dado

    Ciao, la tua funzione ha i seguenti problemi:

    1) come suggerisce @Weierstrass i nomi delle funzioni non posso avere spazi
    int lancio_del_dado(int a)
    2) la variabile a la dichiari nel corpo della funzione, quindi non va inserita tra gli argomenti della stessa
    int lancio_del_dado()
    3) una volta dichiarata la variabile a, non devi ri-dichiararla ma solo effettuare l'assegnamento
    int a;
    a = 1 + rand() % 6;
    quindi in definitiva la funzione sarà qualcosa del tipo :
    int lancio_del_dado()
    {
    	int a;
    	a = 1 + rand() % 6;
    	return a;
    }
    che in realtà potresti semplificare semplicemente con:
    int lancio_del_dado()
    {
    	return 1 + rand() % 6;
    }
    Per quanto riguarda il main dovresti:

    - inizializzare il seme per rand(), ad esempio potresti usare srand() (per l'utilizzo vedi sul libro o sul web)
    - dichiarare due variabili di tipo int alle quali in seguito assegnerai il valore restituito da lancio_del_dado(), es: dado1 e dado2
    - implementare un ciclo (for, while...) che per 5 step effettua le seguenti operazioni:
    1) assegna a dado1 il valore ottenuto da lancio_del_dado()
    2) assegna a dado2 il valore ottenuto da lancio_del_dado()
    3) somma dado1 e dado2 e mostra il risultato a video.

    PS: sono d'accordo con @Weierstrass, studiando bene le basi (teoria accompagnata dalla pratica) ti accorgerai che questi esercizi li risolvi in 5min
Devi accedere o registrarti per scrivere nel forum
2 risposte