Avatar billede kamikaze Nybegynder
05. oktober 2001 - 21:53 Der er 6 kommentarer og
1 løsning

random() i visual C++

I hvilken include-fil ligger random metoden? (når man arbejder i en konsol-applikation i VC6.0)
Avatar billede futter2 Nybegynder
05. oktober 2001 - 22:00 #1
stdlib.h
Avatar billede mickni33 Nybegynder
05. oktober 2001 - 22:06 #2
husk også #include <time.h>
Avatar billede kamikaze Nybegynder
10. oktober 2001 - 21:33 #3
Jeg har haft <stdlib.h> med fra starten, og har også prøvet at inkludere <time.h>, men det hjælper ikke:

C:\\Visual Projects\\glut_transf_cube3\\cube.cpp(17) : error C2065: \'random\' : undeclared identifier

Jeg bruger Visual C++6.0 Enterprise, og arbejder i en konsol-applikation (empty fra starten).
Avatar billede cyberlsn Nybegynder
13. oktober 2001 - 11:10 #4
#include <stdlib.h>
#inclide <time.h>

int main(int arc, char** argv)
{
int i = 5;
random(i); // Retunér et tilfældigt tal mellem 0 og 5
}


Avatar billede kamikaze Nybegynder
14. oktober 2001 - 13:17 #5
Ja, det har jeg prøvet, og jeg får denne kompiler fejl:

c:\\visual projects\\random_test\\random.cpp(7) : error C2065: \'random\' : undeclared identifier

Kompileren genkender altså ikke ordet \'random\', og ser det ikke som et kald til en funktion. Mærkeligt, ikk?

Er der nogen der har en forklaring?
Avatar billede mbulow Nybegynder
14. oktober 2001 - 21:54 #6
Hmm... Så vidt jeg ved, findes funktionen random(i) overhoved ikke.

Kan det ikke tænkes at i leder efter rand() funktionen der returnerer et \'tilfældigt\' tal mellem 0 og 32767.

Hvis der skal bruges et tal mellem 0 og 5 kan det jo bare findes sådan her:
    rand() % 6

HUSK! Hvis ikke talsekvensen skal være den samme hver gang programmet startes, så start med et kald til srand() funktionen:
F.eks.
    srand((unsigned)time(NULL))

PS! rand() og srand() er defineret i stdlib.h



Eksempel kode:
--------------

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[]){
    int    i;

    //Start med at initialisere rand funktionen
    srand((unsigned)time(NULL));

    //Få et tilfældigt tal mellem 0 og 5
    i = rand() % 6;

    //Skriv tallet ud
    cout << \"Det tilfældige tal er: \" << i << endl;

    return 0;
}
Avatar billede kamikaze Nybegynder
18. oktober 2001 - 12:58 #7
Du har fuldstændig ret. Der ER ikke noget der hedder random() (som det hedder i Borland og andre kompilere jeg har prøvet). Tak for svaret...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester