Hallo, wie kann man in C++ einen Zufallswert ausgeben? Ich wollte mir nämlich eine Würfelfunktion erstellen mit Zahlen zwischen 1 und 6.
Speedy_92 Gast |
Speedy_92 Gast |
Hallo, wie kann man in C++ einen Zufallswert ausgeben? Ich wollte mir nämlich eine Würfelfunktion erstellen mit Zahlen zwischen 1 und 6.
Hey, ich habe mir mittlerweise auch schon mehrere TUT's angeschaut, aber ich verstehe es einfach nicht!
Könntest du mir vielleicht den kompletten Quellcode einmal eintippen?
Wäre echt cool, vielleicht verstehe ich es dann
Danke für deine Hilfe. Ich habe es jetzt geschafft!!!
Da wären nur noch 2 Probleme: Ich wollte jetzt eine Datei schreiben, bei der ich zwischen 1x und 5x würfeln aussuchen kann, aber egal was ich mir aussuche, er gibt es nur 1x aus. Und ich wollte mit "\f" auf eine neue Seite überspringe, doch dies macht er nicht, er gibt nur ein "weiblich-Zeichen" aus.
#include <conio.h>
#include <iostream>
#include <stdlib.h>
//Min_Zahl + (rand() % (Max_Zahl - Min_Zahl + 1))
using namespace std;
int wuerfeln;
main()
{
srand(time(0));
rand();
cout<<"Dies ist ein Wuerfelprogramm."<<endl;
cout<<"Sie koennen jetzt zwischen 1x, 2x... 5x wuerfeln waehlen."<<endl<<endl;
cout<<"1x wuerfeln: 1"<<endl;
cout<<"2x wuerfeln: 2"<<endl;
cout<<"3x wuerfeln: 3"<<endl;
cout<<"4x wuerfeln: 4"<<endl;
cout<<"5x wuerfeln: 5"<<endl;
cin>>wuerfeln;
cout<<endl<<endl<<endl<<endl;
cout<<"\f";
switch(wuerfeln)
{
case '1': goto einmal;
case '2': goto zweimal;
case '3': goto dreimal;
case '4': goto viermal;
case '5': goto fuenfmal;
}
einmal:
{cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich abgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);}
zweimal:
{cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich abgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);}
dreimal:
{cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich abgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);}
viermal:
{cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich abgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);}
fuenfmal:
{cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich abgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);}
}
Warum so umstaendlich?
for( int i=0; i<wuerfeln; ++i ){
cout<<""<<1 + ( rand() % ( 6 - 1 + 1 ) )<<""<<endl<<endl;
}
cout<<"Damit haben Sie das Wuerfel-Programm erfolgreich bgeschlossen."<<endl;
cout<<"Bitte druecken Sie die Return-Taste"<<endl;
getch();
return(0);
...ersetzt alles ab dem switch
Hmm keine Ahnung. Ich nehme mal an, dass du den Screen nach jedem durchlauf löschen willst?
Dann probier mal
system("cls"); (Nur unter Windows)
Evtl bietet deine conio.h auch eigene Funktionen wie
clrscr()
Ist aber Compilerabhängig - was nutzt du? Borland? Microsoft?
« ICQ kann nicht mehr installiert werden. | Eclipseproblem » | ||