29. september 2002 - 09:52Der er
8 kommentarer og 1 løsning
C programmering
Hej allezusammen
Jeg er i gang med at lave et program i C, som kan randomize, men jeg kan ikke helt få det til at virke. man skal kunne indtaste et mintal og max tal og så skal den randomize indenfor min og max. Jeg er ved at gå amok over dette er der nogen der kan hjælpe.
1) Det der var vist ikke lige C, men nærmere C++ Jaja... Ved det godt der er mange spørgere der blander C og C++ sammen, hvilket jeg er helt enig i, men nu er vi ihvert fald sikre :)
2) Beregningen af tallet er ikke HELT fin, men næsten ;) Den beregning vil aldrig kunne give 'max'. For at kunne få værdien 'max' skal der lægges 1 til 'max' i beregningen... Årh ja det lød knudret... Men se i min kode, hvad jeg mener :)
3) Jeg prøvede lige efter (i en C++ kompiler), og blev overrasket over at man faktisk kunne slippe godt fra ikke at lave en 'return 0' i en main-funktion der returnerer en int :/ Kan man være sikker på at slippe godt fra det i alle kompilere? Ved det ikke, men smed den lige på for en sikkerheds skyld :)
homernicky>> Beklager fejlene i min første besvarelse, men jeg skrev bare et hurtigt eksempel ... og havde ikke lige en C++ compiler til rådighed på det tidspunkt. Jeg er selv mere eller mindre 'newbie' til C++, men tænkte 'Jubii, her er et spørgsmål, jeg kan besvare' ;-)
Naturligvis skal main sluttes af med return 0. Desuden havde jeg glemt at initialisere variablene i funktionen tilf. Og endelig, skal der naturligvis lægges én til, som mbulow også ganske rigtigt skriver. Nedenstående kode virker:
Point: Det er ligemeget :) driis kom med svaret... Jeg kom bare med et par små rettelser/kommentarer. Derfor JEG kun oprettede som en kommentar og ikke et svar :)
srand: ------ Den srand jeg lavede, er i bund og grund magen til driis'.
Forklaring: ----------- Lad og sige at du KUN bruger rand-funktionen i din program. Så vil dine tilfældige tal, følge det samme mønster hver gang du kører programmet. Ved at kalde srand, fortæller man at rand-funktionens beregninger skal tage udgangspunkt i et bestemt tal, og for at være sikker på at dette udgangspunkt også varierer, vælger jeg at lade det være tiden (time-funktionen).
Grunden til at den ser lidt anderledes ud end driis', er at jeg bare lavede en hurtig copy/paste af den linje, fra et andet eksempel :)
Return 0 og main??? ------------------- Mener du at det som jeg postede IKKE virkede, før du slettede: int argc, char *argv[] og return 0; ???
Hvis ja... Kan du så ikke lige fortælle mig hvilken kompiler (og operativsystem) du bruger, for jeg skulle da mene at den måde at lave main: int main(int argc, char *argv[]){ return 0; } er en del af ANSI-C standarden
Jeg tvivler ikke på at det kan være rigtig, men så har jeg bare misforstået noget, som jeg lige vil kigge lidt nærmere på :)
Jeg windows 2000 og en skole cd turbo C++ IDE ikonet, og inde i programmet turbo c++ version 3.0
Ja det virkede ikke, grundet til at jeg spurgte det var at det er et eksamensprojekt, og og skal vide hvad der står linie for linie. men det var lige det der argc, som jeg ikke havde set før.
Jeg begyndte som IT-supporter århus tekniske skole. og sgu ligesom et selvstudium. føler jeg. Så jeg kommer nok til at bruge eksperten lige i denne uge meget, når deadline er i næste uge samt eksamner.
Det skal lige siges at det bliver til et gætteprogram til sidst, når jeg når så langt.
Det sgu sjovt det her c programmering, og bliver helt bidt af det når det virker, men hvis ikke er det bare noget lort!
tak mbulow
Synes godt om
Ny brugerNybegynder
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.