Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 Mini Fragen C++
Hallo ,
Ich baue gerade ein Kleines Spiel ^^
nur habe ich gerade 2 Probleme die nett Lösen kann
1,Wie Lösche ich nochmal alles was bsiher auf dem Bildschirm ausgegeben wurde (in Dos Fenster)
2,Folgender Code macht immer Faxen -.-
Bei Zahlen kann unentlich viele eingeben doch buchstaben nur 1nen sonst spaltet er das Wort und verteilt es auf alle Spieler oO?
for(i=1;i<=spieler;i=i+1)
{
char Spielername_i ;
cout << "Name für den Spieler Nr. " << i << " Eingeben " << endl;
cin>> Spielername_i ;
}
Kann mir jemand erklähren ? Charist doch für Buchstaben gedacht -.-
Mfg Dadie
Hippokrates
30.04.2005, 12:02
Ja, aber char kann auch nur einen einzigen Buchstaben aufnehmen. Um einen Spielernamen zu speichern musst du ein char-array oder gleich einen std::string benutzen.
Und AFAIK kann man in DOS den Bildschirm nicht wirklich loeschen...
Ja, char ist für Buchstaben gedacht. Für einen Einzigen Buchstaben (genauer: für Zeichen).
Strings sind in C++ Array von chars. Alternativ kannst du auch mit dem Datentyp String arbeiten:
#include <string>
#include <iostream>
using namespace std;
main()
{
string Spielername;
cin >> Spielername;
cout << Spielername;
}Außerdem existieren Variablen nur in dem Block, in dem sie initialisiert wurden (und in untergeordneten Blöcken), also wird Spielername_i nach jedem Durchlauf der for-Schleife neu erstellt.
Ach ja, die Variable heißt Spielername_i, nicht Spielername_1, Spielername_2 usw.
Ach ja, die Variable heißt Spielername_i, nicht Spielername_1, Spielername_2 usw.
So etwas habe ich schon geahnt -.- wie speicher ich sie den _1 _2 usw. ab ? mit "" kann ixh nix machen das bringt nur errors -.-
MagicMagor
30.04.2005, 12:28
Statt Char-Arrays kann man auch noch auf die netten Char-Pointer zurückgreifen um nullterminierte Strings zu speichern..
Was die Eingabe angeht, würde ich persönlich zu cin.getline() greifen, damit kriegst du die Eingabe direkt in ein Char-Array geliefert..
Vielleicht solltest du mal ein grundlegendes C(++)-Tutorial durchackern, die Sprache ist in einigen Dingen recht eigenwillig..
So etwas habe ich schon geahnt -.- wie speicher ich sie den _1 _2 usw. ab ? mit "" kann ixh nix machen das bringt nur errors -.-
C++ ist kein PHP, schon mal was von Arrays gehört?
Afaik gar nicht. C++ ist zum einen kompiliert und zum anderen älter als Php, da ist deutlich weniger Flexibilität drin.
Du solltest dir mal klarmachen, dass C++ und Php zwei völlig unterschiedliche Dinge sind. Gleiche Syntax != gleiche/ähnliche Sprache
C++ ist kein PHP, schon mal was von Arrays gehört?
Ja klarkenn ich Arrarys ich hätte es nur lieber mit jewals einer eigenen Variable gelöst -.-
Hier mal die alte C Variante mit char arrays:
#include <iostream>
using namespace std;
struct spielername_struct
{
char name[100];
}spielername[2];
int main()
{
char tmp[100];
for (int i = 0; i < 2; i++)
{
cout<<"Bitte den Spielername Nr. "<<i<<" eingeben: ";
cin>>spielername[i].name;
}
for (int i = 0; i < 2; i++)
{
cout<<"Name Nr. "<<i<<" lautet: "<<spielername[i].name<<"\n";
}
char a;
cin>>a;
return 0;
}
Ist noch eine Structur mit reingebaut, um das Doppeldimensionieren zu verhindern. So lässt es sich imo leichter handlen als mit spielername[100][2].
Dai2kMaster
30.04.2005, 14:27
C++ und PHP sind in dem Sinne verwandt, da PHP urspünglich von Perl stammt und dieses wiederum u.A. von C abgeguckt wurde!
C++ ist kein PHP, schon mal was von Arrays gehört?
Folglich gibt es in PHP auch Arrays ;)
1,Wie Lösche ich nochmal alles was bsiher auf dem Bildschirm ausgegeben wurde (in Dos Fenster)
Die Frage hab ich bei meinem ersten Post überlesen. Afair ging das mit dem DOS-Befehl cls (unter Linux heißt das clear; DOS bin ich mir eben nicht ganz sicher). Ein einfacher System-Call sollte demnach genügen:
#include <iostream>
using namespace std;
main(){
cout << "blub";
system("cls");
}
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.