Zuffalszahl in funktion()
-
Man kann die Funktionen ja auch direkt im switch() einbauen, die ja bekanntlich in der main() ist. Oder?
@ProgSchild
Gibt es da auch eine deutsche Seite?
-
forenmaster schrieb:
Man kann die Funktionen ja auch direkt im switch() einbauen, die ja bekanntlich in der main() ist. Oder?
http://www.pronix.de/pronix-4.html
forenmaster schrieb:
Gibt es da auch eine deutsche Seite?
-
forenmaster schrieb:
Man kann die Funktionen ja auch direkt im switch() einbauen, die ja bekanntlich in der main() ist. Oder?
Nochmal Hä
Was hat "der switch()" mit main() zu tun?
-
switch() ist eine Verzweigungsform, die normalerweise in die main Funktion eingebaut wird:
int main() { int abfrage; //menu mit printf switch(abfrage) { case 1 : //anweisung etc...
Man kann also funktion() auch in eine case einbauen, wie im Kommentar als //anweisung, oder nicht?
-
forenmaster schrieb:
switch() ist eine Verzweigungsform, die normalerweise in die main Funktion eingebaut wird:
switch() ist eine ganz normale C-Anweisung und kann (fast) überall in deinem Programm auftauchen
Man kann also funktion() auch in eine case einbauen, wie im Kommentar als //anweisung, oder nicht?
Klar kannst du das. Du kannst aber auch mehrere Funktionen dort hintereinander aufrufen oder direkt eigene Berechnungen durchführen - ganz wie dir beliebt.
-
Aber ich komme immer noch nicht ganz draus.
Wie kann ich jetzt eine Zufallszahl zwischen 0 und 100 herausfinden???
Bitte ganzen Code posten!!!
-
#include <stdlib.h> #include <time.h> int main(int argc, char* argv[]) { int zufall; srand(time(NULL)); zufall = rand() % 101; printf("Zufall: %d\n", zufall); return 0; }
Für welches Fach brauchst du das???
time() ist übrigens kein ANSI C sondern POSIX, aber das nur nebenbei.
-
ProgChild schrieb:
Für welches Fach brauchst du das???
Wie gemeint? Ich brauche das Privat...
Aber eine Frage habe ich noch:
Die Funktion heisst ja
int main()
?
Die Funktion sollte aber ausser main() sein, kann ich die jetzt einfach rauskopieren und in z.b. func_zufallszahl() reinkopieren?
-
ProgChild schrieb:
time() ist übrigens kein ANSI C sondern POSIX, aber das nur nebenbei.
Klar ist time() ANSI (aber das nur am Rande).
-
CStoll (off) schrieb:
ProgChild schrieb:
time() ist übrigens kein ANSI C sondern POSIX, aber das nur nebenbei.
Klar ist time() ANSI (aber das nur am Rande).
Manpage sagt was anderes, als der C Standard... doof...
-
Kann mir noch jemand auf die oben gennante Frage antworten, als nur Blödsinn zu posten?
Ich kann ja selber testen, ob es Standart C ist oder Posix...
-
Wenn du unbedingt eine unterfunktion willst.
#include <stdlib.h> #include <time.h> void func_zufall(void) { int zufall; zufall = rand() % 101; printf("Zufall: %d\n", zufall); } int main(int argc, char* argv[]) { srand(time(NULL)); func_zufall(); return 0; }
Nich wirklich schwer, oder?
Lern C -> http://www.pronix.de/pronix-4.html
[Update: siehe unten]
-
forenmaster schrieb:
ProgChild schrieb:
Für welches Fach brauchst du das???
Wie gemeint? Ich brauche das Privat...
Aber eine Frage habe ich noch:
Die Funktion heisst ja
int main()
?
Die Funktion sollte aber ausser main() sein, kann ich die jetzt einfach rauskopieren und in z.b. func_zufallszahl() reinkopieren?
dann machste es halt so:
#include <stdlib.h> #include <time.h> int funktion_zufall(); int main(int argc, char* argv[]) { int Zahl; Zahl=funktion_zufall(); printf("Zufall: %d\n", Zahl); return 0; } int funktion_zufall() { int zufall; srand(time(NULL)); zufall = rand() % 101; return zufall; }
Edit: mist zu spät *g*
-
Du wolltest es so!
forenmaster schrieb:
[...], kann ich die jetzt einfach rauskopieren und in z.b. func_zufallszahl() reinkopieren?
Ja.
(BTW: Ausprobieren macht Freude
)
EDIT: Viiiiel zu langsam...
-
forenmaster schrieb:
Kann mir noch jemand auf die oben gennante Frage antworten, als nur Blödsinn zu posten?
Ich kann ja selber testen, ob es stan**** C ist oder Posix...
Du bekommst hier nett gemeinte Zusatzinformationen und an Stelle dankbar zu sein, beschwerst du dich, dass man dir helfen will.
-
ProgChild schrieb:
forenmaster schrieb:
Kann mir noch jemand auf die oben gennante Frage antworten, als nur Blödsinn zu posten?
Ich kann ja selber testen, ob es stan**** C ist oder Posix...
Du bekommst hier nett gemeinte Zusatzinformationen und an Stelle dankbar zu sein, beschwerst du dich, dass man dir helfen will.
Weiste, ich finde es dann raus, wenn es nicht läuft...
Ausserdem müsste ich noch wissen, wie ich die RAND_MAX auf 100 stellen kann.
-
forenmaster schrieb:
ProgChild schrieb:
forenmaster schrieb:
Kann mir noch jemand auf die oben gennante Frage antworten, als nur Blödsinn zu posten?
Ich kann ja selber testen, ob es stan**** C ist oder Posix...
Du bekommst hier nett gemeinte Zusatzinformationen und an Stelle dankbar zu sein, beschwerst du dich, dass man dir helfen will.
Weiste, ich finde es dann raus, wenn es nicht läuft...
Ausserdem müsste ich noch wissen, wie ich die RAND_MAX auf 100 stellen kann.
Was meinst du damit?
zufall = rand() % 101;
Erzeugt eien Zufallszahl zwischen 0 und 100. Vielleicht schaust du dir noch einmal den Modulo - Operator in deinem buch an. Sowie die Funktionen rand() und srand()
-
forenmaster schrieb:
Weiste, ich finde es dann raus, wenn es nicht läuft...
Du scheinst nicht einmal die einfachsten Dinge heraus zu bekommen...
forenmaster schrieb:
Ausserdem müsste ich noch wissen, wie ich die RAND_MAX auf 100 stellen kann.
RAND_MAX hängt vom Betriebssystem ab und kann nich geändert werden.
-
@ProgChild und Lyrix: Es ist übrigens keine gute Idee, srand() vor jedem Aufruf von rand() neu aufzurufen - einmal beim Programmstart reicht vollkommen aus.
@forenmaster: Die Funktion rand() kannst du von überall aus aufrufen (auch aus einer selbstgeschriebenen Funktion heraus) - ihre Wirkung ist immer gleich
(und RAND_MAX ist abhängig von deinem System - du kannst die erhaltene Zufallszahl aber gerne soweit zurechtstutzen, wie du sie brauchst)
-
CStoll schrieb:
@ProgChild und Lyrix: Es ist übrigens keine gute Idee, srand() vor jedem Aufruf von rand() neu aufzurufen - einmal beim Programmstart reicht vollkommen aus.
@forenmaster: Die Funktion rand() kannst du von überall aus aufrufen (auch aus einer selbstgeschriebenen Funktion heraus) - ihre Wirkung ist immer gleich
(und RAND_MAX ist abhängig von deinem System - du kannst die erhaltene Zufallszahl aber gerne soweit zurechtstutzen, wie du sie brauchst)Ich hab doch nirgends srand() mehrmals aufgerufen oder?^^