Fehler im Programm
-
btw. könnt schon länger dauern da kommt schon öfter "sss" raus oder, naja irgendwann erwischt schon ein 'g' nicht dass dir da iAnzahl überläuft aber man kann das doch sicher alles berechnen wie lang das im schnitt braucht, dafür bin ich aber der falsche, außer mir erklärt das mal jemand so das ich das auch versteh...
-
habs jetzt so verbessert:
# include <stdio.h> # include <stdlib.h> # include <time.h> #include <windows.h> char Wuerfel() { int iZahl1; char cWurf; iZahl1=rand()%6+1; if (iZahl1==1 || iZahl1==2 || iZahl1==3) { cWurf='s'; } if (iZahl1==4 || iZahl1==5) { cWurf='r'; } if (iZahl1==6) { cWurf='g'; } return cWurf; } int main() { int iAnzahl; char cWurf1, cWurf2, cWurf3; iAnzahl=0; printf("Es wir so oft gewürfelt bis SRG heruaskommt."); srand(time(0)); do { cWurf1=Wuerfel(); cWurf2=Wuerfel(); cWurf3=Wuerfel(); iAnzahl++; } while (cWurf1!='s' && cWurf2!='r' && cWurf3!='g'); printf("\n"); printf("%d", cWurf1); printf("\n"); printf("%d", cWurf2); printf("\n"); printf("%d", cWurf3); getchar(); }
Als Ausgabe auf dem Bildschirm kommt immer:
115
115
114 oder 103was is jetzt noch falsch?
-
// while (cWurf1!='s' && cWurf2!='r' && cWurf3!='g'); while (!(cWurf1=='s' && cWurf2=='r' && cWurf3=='g'));
-
while (cWurf1!='s' && cWurf2!='r' && cWurf3!='g');
ändern in
while (cWurf1!='s' || cWurf2!='r' || cWurf3!='g');
EDIT: Mist zu langsam
-
klappt immer noch nich...
-
was klappt nicht?
-
(...) //printf("%d", cWurf1); printf("%c", cWurf1); (...)
:xmas1:
-
es kommen immernoch die gleichen Zahlen von oben... aber er Zeigt mir keinen Fehler mehr an.
-
Wieso die Zahlen passen doch. Das sind die passenden ASCII-Werte zu deinen s, r, g.
-
ausgeb0r schrieb:
(...) //printf("%d", cWurf1); printf("%c", cWurf1); (...)
:xmas1:
So ne scheiße...... immer diese kleinen Fehler die man übersieht
aber vielen dank an alleTHX jetzt gehts