Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    60

    [c++]errori nella compilazione

    salve ho provato a compilare un programma preso da un libro..


    //il gioco d'azzardo craps
    #include <iostream>
    using std::cout;
    using std::endl;
    #include <cstdlib>//contiene i prototipi delle funzioni rand e srand
    using std::rand;
    using std::srand;
    #include <ctime>//contiene il prototipo della funzione time
    using std::time;
    int rollDice();//prototipo dlla funzione che deve lanciare i dadi
    int main(){
    //enumerazioni con le costenti che rappresentano lo stato del gioco
    enum Status{CONTINUE,WON,LOST};
    int myPoint;//obbiettivo se non vi è vincita o perdita al primo lancio
    Status gameStatus;//puo asumere i valori CONTINUE ,WON,LOST
    //randomizzazzione della generazione dei numeri casuali utilizzando iln tempo
    srand(time(0));
    int sumOfDice=rollDice();//primo lancio
    //determina lo stato del gioco e l'obbiettivo (se necessario in base al primo lancio
    switch(sumOfDice){
    case 7://il 7 vince al primo lancio
    case 11://l'11 vince al primo lancio
    gameStatus=WON;
    break;
    case 2://il 2 perde al primo lancio
    case 3://il 3 perde al primo lancio
    case 12://il 12 perde al primo lancio
    gameStatus=LOST;
    break;
    default:
    //ne vincita e ne perdita; occorre ricordare l'obbiettivo
    gameStatus=CONTINUE;//il gioco nìon è concluso
    myPoint=sumOfDice;//memorizza l'obbiettivo
    cout<<"point is" <<myPoint<<endl;
    break;//opzionale alla fine dello switch
    }
    //fine dello switch
    //se il gioco non è finito
    while(gameStatus==CONTINUE){
    sumOfDice=rollDice();//tira il dado di nuovo
    //determina lo stato del gioco
    if(sumOfDice==myPoint)//vincita
    gameStatus=WON;
    else
    if(sumOfDice==7)//perdita

    gameStatus=LOST;
    //fine del while
    //visualizza il risultato del gioco
    if (gameStatus==WON)
    cout<<"Player wins"<<endl;
    else
    cout<<"Player loses"<<endl;
    return 0;//determina una corretta terminazione
    }
    //fine del main
    }
    //lancia i dadi calcola la somma e mostra i risultati
    int rollDice(){
    //genera due numeri casuali
    int die1=1+rand()%6;//primo dado
    int die2=1+rand()%6;//secondo dado
    int sum=die1+die2;
    //calcola la somma dei dadi
    //visualizza il risultato dei due lanci
    cout<<"Player rolled "<<die1<<"+"<<die2<<"="<<sum<<endl;
    return sum;//restituisce la somma dei due dadi
    }//fine della funzione rollDice
    quando lo compilo con visual c++ mi dice:


    --------------------Configuration: azzardo - Win32 Debug--------------------
    Compiling...
    azzardo.cpp
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 6) : error C2039: 'rand' : is not a member of 'std'
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 6) : error C2873: 'rand' : symbol cannot be used in a using-declaration
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 7) : error C2039: 'srand' : is not a member of 'std'
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 7) : error C2873: 'srand' : symbol cannot be used in a using-declaration
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 9) : error C2039: 'time' : is not a member of 'std'
    C:\Documents and Settings\edo1.EDO\Desktop\informatica\azzardo.cpp( 9) : error C2873: 'time' : symbol cannot be used in a using-declaration
    Error executing cl.exe.

    azzardo.obj - 6 error(s), 0 warning(s)

    come faccio per farlo funzionare???

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Probabilmente stai usando la versione 6 ... devi modificare la parte iniziale cosi'

    #include <iostream>
    // using std::cout;
    // using std::endl;
    #include <cstdlib>//contiene i prototipi delle funzioni rand e srand
    // using std::rand;
    // using std::srand;
    #include <ctime>//contiene il prototipo della funzione time
    // using std::time;
    using namespace std;

    e modificare questa riga alla fine

    return 0; //fine del main

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    60
    ok grazie..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.