KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Zufallsgenerierte Zahl
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
ich versuche eine art zufallsystem zu schreiben, der einen Wert zurückgibt. damit ich sicher gehen kann, zum Debugging soll er den jeweiligen Wert ausgeben.

Code:
if (grasskontakt==1){
    float drawrand, r;
    r = rand() % 10 + 1;
    sprintf(drawrand, "%d", r);
    prints(256, 176, drawrand , c_white);
}


grasskontakt ist 1, jedoch bekomme ich keine Zahl ausgegeben Sad

IST FALSCH:

Zitat:
Das Problem ist die ausgabe:
um int auszugeben brauchst du ja %i
jedoch wird %d ebenfalls für int benutzt Sad

du musst statt %d folgendes schreiben: %e oder %f

der unterschied wird dir im Link erklärt

Zum nachlesen: http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe

duLouser :
Das Problem ist die ausgabe:
um int auszugeben brauchst du ja %i
jedoch wird %d ebenfalls für int benutzt Sad

du musst statt %d folgendes schreiben: %e oder %f

der unterschied wird dir im Link erklärt

Zum nachlesen: http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe


MÜLL!
Das ist das einzige Kommentar dazu Wink


So mein lieber DoubleDD_aka_TittenJohnny:

Code:
char sometext[20];
int r = rand() % 10 + 1;
sprintf(sometext, "%f", (float)r);
printf("\n%s\n", sometext);


Das hier währ richtig!
Aber warum ZUR HÖLLE setzt du das Ziel von sprintf auf ein float?!

ich weiß nicht, floats klingen intelligenter?

Zitat:
DoubleDD_aka_TittenJohnny

wer hat dir das erzählt?!

DoubleDD_aka_domis4 :
ich weiß nicht, floats klingen intelligenter?


Intelligent?

Code:
int sprintf ( char * str, const char * format, ... );


Glaub ich weniger Wink

DoubleDD_aka_domis4 :

Zitat:
DoubleDD_aka_TittenJohnny

wer hat dir das erzählt?!


Das..? Joa.. das hab ich mir ausgedacht Wink

Anmerkung: mein letzter Beitrag bediente sich dem Stilmittel der Ironie...
ich möchte noch eine kurze Frage hinzufügen, da ich gerade daran nicht weiterkomme.
ich habe mir mit zwei for-schleife eine Abfrage erstellt, ob ich ein bestimmtes objekt berühre.
sollte es so sein, wird eine zufällige zahl erstellt. Jedoch habe ich das Problem, dass die zahl (solange ich mich auf diesem objekt befinde) unendlich generiert wird. das soll nur einmal passieren. jedoch startet die for-schleife die berechnung erneut, weshalb also die zahl erneut generiert wird.
http://pastebin.com/KvuJTQrD
dieser befehl kommt dann vor die Hauptschleife
denke ich mir mal, da alles was in der hauptschleife ist sich wiederholt ^^
könntest du das genauer erläutern? mit der Haupt-schleife meinst du die erste?
ich weiß nciht wie die in c heißt aber in lua ist es die while true do schleife
eine while Schleife ist eine While schleife, auch in C.

eine for schleife ist dagegen eine for schleife, in C wie auch in lua Wink
der befehl kommt dann for die While schleife kann mich aber auch irren
einfach mal ausprobieren


for schleife:

for (Wird ausgeführt; Bedingung; wird ausgeführt){ wird ausgeführt; }

while do schleife:

while (bedingung){
wird ausgeführt;
}
hier ein wenig genauer erklärt

zwei schleifen, ich benutze erstere
was auch immer ich versuche ya auch nur zuhelfen -.-
dann packst du den Befehl eben außerhalb der for schleife.
Oder keine Ahnung leck mich sonst wo und finde es selber herraus
Upset angry

DoubleDD_aka_domis4 :
.. , ich benutze erstere


...welche du auch noch falsch erklärt hast^^

for (initialisierung; bedingung; schrittzählung){ //blabla }

Kleines Beispiel:

PHP-Code:
int pressed 0;
int i;

for(
i=0i<3i+=1)
{
   if (
i==pressed)
   {
   
//Blub
   
}


Wenn du noch nichtmal Schleifen richtig anwenden kannst, dann würde ich an deiner Stelle weiter C lernen ...

Zu deinem Problem:
So wie ich das verstanden habe, willst du, dass wenn du ein Objekt berührst, dass nur einmal eine zufällige Zahl erstellt und ausgegeben wird, oder?

Erstell doch einfach eine Variable, die überprüft ob schon eine Zahl erstellt wurde, und wenn ja, dann bricht die Schleife einfach ab.

Seiten: 1 2
Referenz-URLs