Precedente :: Successivo |
Autore |
Messaggio |
ZTP Eroe


Registrato: 17/02/09 23:40 Messaggi: 60 Residenza: Terra, terzo pianeta dal Sole
|
Inviato: 28 Feb 2009 23:40 Oggetto: * C++ problema randomize() |
|
|
Premetto che ho iniziato a studiare il C++ da molto poco, e quindi il problema potrebbe essere molto stupido ._. Però un programma semplicissimo, che dovrebbe - in teoria - generare un numero casuale da 0 a 9 e stamparlo, non funziona! Eppure l'ho ricopiato pari pari dal libro Questo è il codice:
Citazione: | #include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
randomize();
int n;
n = rand(10);
cout << n;
return 0;
} |
Ho provato a sostituire ctime con time.h e cstdlib con stdlib.h, a inserire tutte e quattro, a mettere anche stdio.h... Ma il compilatore continua a rompere sul randomize().
Dov'è che ho sbagliato? |
|
Top |
|
 |
chemicalbit Dio maturo


Registrato: 01/04/05 18:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 01 Mar 2009 00:09 Oggetto: Re: C++ problema randomize() |
|
|
ZTP ha scritto: | Ma il compilatore continua a rompere sul randomize(). | Cioé?
Aiutaci ad aiutarci  |
|
Top |
|
 |
ZTP Eroe


Registrato: 17/02/09 23:40 Messaggi: 60 Residenza: Terra, terzo pianeta dal Sole
|
Inviato: 01 Mar 2009 20:26 Oggetto: |
|
|
^^ In pratica è come se non lo riconoscesse... Testualmente:
'randomize' undeclared (first use this function)
e poi, a ruota:
'random' undeclared (first use in this function)
Come se provassi a scrivere pow(x,2) senza aver inserito la funzione <cmath> (ad esempio).
Mi viene il dubbio che possano essere altre le librerie che mi servono... oppure le stesse scritte in un modo diverso... |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 01 Mar 2009 21:19 Oggetto: |
|
|
Che compilatori stai usando?
randomize() non è standard quindi magari anche sul tuo testo viene usata tu potresti non averla |
|
Top |
|
 |
ZTP Eroe


Registrato: 17/02/09 23:40 Messaggi: 60 Residenza: Terra, terzo pianeta dal Sole
|
Inviato: 01 Mar 2009 21:27 Oggetto: |
|
|
Uso il Dev C++ Possono variare così tanto le librerie da un compilatore all'altro? |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 01 Mar 2009 23:22 Oggetto: |
|
|
Le librerie standard tra un compilatore e l'altro non cambiano, il problema sono quelle non standard (idem per le funzioni).
C++ è general purpose quindi fa di tutto e viene usato ovunque, per questo è molto plasmabile...
Tornando al tuo problema potresti usare le funzioni srand e rand così:
Codice: |
include <iostream>
include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL)); // inizializza il seme
int x=rand() % 10; // genera un numero random nell'intervallo [0;9]
cout<<x<<endl;
return (0);
}
|
|
|
Top |
|
 |
ZTP Eroe


Registrato: 17/02/09 23:40 Messaggi: 60 Residenza: Terra, terzo pianeta dal Sole
|
Inviato: 02 Mar 2009 20:03 Oggetto: |
|
|
Fantastico! Così funziona perfettamente! Grazie mille  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 02 Mar 2009 20:43 Oggetto: |
|
|
Potere informatico!  |
|
Top |
|
 |
|