Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

22.01.2013, 20:02

Class While

void account::new_account()
{
cout<<"Please enter your fisrt name : ";
cin>>var_firstname;
cout<<endl;

cout<<"Please enter your last name : ";
cin>>var_lastname;
cout<<endl;

while()
{
cout<<"Please enter your gender : ";
cin>>var_gender;

if(var_gender == "woman" || var_gender == "man")
{

}else{
cout<<"Wrong input '"<<var_gender<<"' please enter again!"<< endl;
}
}

};


Ich weiß einfach net wie ich es machen kann, dass der die While schleife wiederholt, bis man eines der 2 Wörter eingegeben hat.
Was wäre die beste lösung?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

22.01.2013, 20:05

Da gibt's verschiedene Möglichkeiten ...
(übrigens, was hat das mit Klassen zu tun, also warum hast du den Thread "Class While" genannt?)

C-/C++-Quelltext

1
2
3
4
while(var_gender != "woman" && var_gender != "man")
{
   ...
}


C-/C++-Quelltext

1
2
3
4
5
do
{
   ...
}
while(var_gender != "woman" && var_gender != "man");


C-/C++-Quelltext

1
2
3
4
5
while(true)
{
   ...
   if(var_gender == "woman" || var_gender == "man") break;
}

3

22.01.2013, 20:12

ah

ah danke na kla.
Die 3. Variantemit break kannte ich ja noch gar nicht.
(Was das mit klassen zu tun hat ? Das ist eine ganze findet in einer funktions definierung einer Klasse stadt deswegen.Weiß das die überschrift nicht so passend war :D)

4

22.01.2013, 20:29

Fehler

Mh
Ihrgendwie geht das nicht.
Also var gender ist ein c string.

char var_gender[5];

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

22.01.2013, 20:31

char[5]? Ernsthaft? std::string. Wolltest Du nicht erst ein Buch lesen?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

22.01.2013, 20:39

Habe ich.

Habe ich ja gemacht..
Ausserdem was spricht gegen die methode?
Bei meinen anderen funktionen funktioniert das so zimlich gut...
Habe mich speziell mit c strings nicht wirklich auseinander gesetzt.
Habe das Buch C++ von a - z

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

7

22.01.2013, 20:42

Weil du 2 C-Strings nicht einfach mit dem ==-Operator vergleichen kannst. Dafür bräuchtest du strcmp().

Du kannst aber auch gleich den std::string aus der STL nehmen. Dieser kann mit den Vergleichsoperatoren umgehen.


Oh, da hat wohl jemand vorher noch geantwortet

8

22.01.2013, 20:49

na ja ok

ah ok
Jetzt ist alles klar natürlich.
Sorry wegen meine Dummheit :D
Bin nicht der schnellste

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

22.01.2013, 21:02

Das Problem ist nicht dass du dumm bist. Ich glaube hier wusstest du es einfach nicht besser. Soweit ich das richtig im Kopf habe, habe ich von C++ von A bis Z nichts gutes gehört. Möglicherweise ist das Buch schlecht und geht auf bestimmte Dinge nicht ein. Dann solltest du möglicherweise mal nach einem anderen Buch gucken. Da hast du sonst nichts von. Oder du hast das Buch einfach noch nicht weit genug gelesen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

10

22.01.2013, 21:16

Dann empfehle doch gleich mal ein gutes Buch ! Ich lerne gerade C++ (von ANSI-C kommend) durch Tutorials im Netz, aber für einen Programmieranfänger ist ein gutes Buch wohl die bessere Lösung, denke ich.

Werbeanzeige