Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 03:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ Frage (kleine)

Discussion on C++ Frage (kleine) within the C/C++ forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2013
Posts: 22
Received Thanks: 2
C++ Frage (kleine)

Servus an die Coder die das hier lesen werden.
Ich brauche eure Hilfe und zwar weiss ich nicht weiter. Ich möchte noch eine Raum wahl hinzufügen.Nur weiss ich nicht, ob ich wie oben vor gehen kann. Hier ist der Quelltext:
Code:
// C++ für Spieleprogrammierung
// Listing 3.4
// Logische operatoren
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
	// Variablen
	//
	char charAuswahl;     // Menüauswahl

	cout << "(J)eder gegen jeden oder (T)eamspiel: ";
	cin >> charAuswahl;

	// Jeder gegen jeden?
	if ((charAuswahl == 'j') || (charAuswahl == 'J'))
	{
		cout << " Jeder gegen jeden." << endl;
	}
	// Teamspiel?
	else if ((charAuswahl == 't') || (charAuswahl == 't'))
	{
		cout << "Teamspiel." << endl;
	}
	// Falsche Eingabe
	else
	{
		cout << "Falsche Eingabe." << endl;
	}

	return 0;
}
ErawondA is offline  
Old 08/08/2013, 13:45   #2
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by ErawondA View Post
Ich möchte noch eine Raum wahl hinzufügen.Nur weiss ich nicht, ob ich wie oben vor gehen kann.
Wie oben ?

Quote:
Originally Posted by ErawondA View Post
Hier ist der Quelltext:
Raus mit dem globalen "using namespace"
Den Vergleich könntest du mithilfe von toupper() noch etwas kürzen.
.SkyneT. is offline  
Old 08/08/2013, 15:33   #3
 
elite*gold: 0
Join Date: Jul 2013
Posts: 22
Received Thanks: 2
[QUOTE=.SkyneT.;24294601]Wie oben ?



mit oben meine ich
Code:
	char charAuswahl;     // Menüauswahl

	cout << "(J)eder gegen jeden oder (T)eamspiel: ";
	cin >> charAuswahl;

	// Jeder gegen jeden?
	if ((charAuswahl == 'j') || (charAuswahl == 'J'))
	{
		cout << " Jeder gegen jeden." << endl;
	}
	// Teamspiel?
	else if ((charAuswahl == 't') || (charAuswahl == 't'))
	{
		cout << "Teamspiel." << endl;
	}
	// Falsche Eingabe
	else
	{
		cout << "Falsche Eingabe." << endl;
	}
nur das ich noch
Code:
int Raum1, Raum2, Raum3;
Hinzufüge und wie ich es schon bei dem Menü gemacht habe, so noch einmal schreibe, eben jetzt mit den Räumen.
ErawondA is offline  
Old 08/08/2013, 16:50   #4
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Quote:
Originally Posted by .SkyneT. View Post
Raus mit dem globalen "using namespace"
Solange das nicht in Headerdateien auf Namensraumebene auftaucht, ist das in Ordnung. Wie stehst du zu ADL?

Quote:
Den Vergleich könntest du mithilfe von toupper() noch etwas kürzen.
Dann bitte std::toupper in cctype.


Quote:
Originally Posted by ErawondA View Post
mit oben meine ich [...] nur das ich noch [...] Hinzufüge und wie ich es schon bei dem Menü gemacht habe, so noch einmal schreibe, eben jetzt mit den Räumen.
Ich habe das Buch nicht vor mir liegen, aber es scheint, dass du gerade bei Kontrollstrukturen bist. Meine Glaskugel sagt mir, dass du warscheinlich folgendes willst: erst den Modus, dann den Raum auswählen. Hat meine Glaskugel recht? Dann wird dein Programm wohl so aussehen: Typ eingeben - Raum eingeben - Typ ausgeben - Raum ausgeben. Vielleicht zweiter und dritter Schritt vertauscht, viel Unterschied macht das ja nicht. Dazu kannst du im Prinzip deinen Code in der main-Funktion duplizieren und die Namen und Texte ändern.
Tasiro is offline  
Thanks
1 User
Old 08/08/2013, 18:57   #5
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by Tasiro View Post
Solange das nicht in Headerdateien auf Namensraumebene auftaucht, ist das in Ordnung. Wie stehst du zu ADL?
ADL, äh das dürfte folgendes sein, wenn
ich mich recht erinerre:
Code:
using std::cout;
Sowas würde ich ohne bedenken reinpacken,
beim globalen "using namespace std;" kanns
dir schnell mal zu Namenskonflikten kommen.
(z.B: Wenn zusätzliche Libs verwendet werden)
Quote:
Originally Posted by Tasiro View Post
Dann bitte std::toupper in cctype.
Das sollte klar sein, hatte es deswegen nicht
explizit erwähnt.
.SkyneT. is offline  
Old 08/08/2013, 19:31   #6
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
ADL: Du kannst schreiben,
Code:
operator << (std::cout, ns::MyType ());
und dabei das ns:: vor operator weglassen.
Anderes Beispiel:
Code:
copy (std::istream_iterator <int> (std::cin), std::istream_iterator <int> (),
      back_inserter (container));
(Ungetestet, #include <iterator> und #include <algorithm> nicht vergessen)

Quote:
Originally Posted by .SkyneT. View Post
Sowas würde ich ohne bedenken reinpacken,
beim globalen "using namespace std;" kanns
dir schnell mal zu Namenskonflikten kommen.
(z.B: Wenn zusätzliche Libs verwendet werden)
Dann hat jemand die Standardbibliothek beim Design jener Bibliothek außer Acht gelassen. Welche Bibliothek meinst du denn?
Wenn nur bei einem Namenskonflikt dieser aufgelöst wird, ist das dann mehr Arbeit, als jeden Bezeichner vollständig zu qualifizieren oder einzeln vorzustellen?

Quote:
Das sollte klar sein, hatte es deswegen nicht
explizit erwähnt.
Ich wünschte, es wäre das! Nur leider ist es das für viele nicht. Vor allem für Anfänger.
Tasiro is offline  
Thanks
2 Users
Old 08/08/2013, 20:15   #7
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
ADL: Du kannst schreiben,
Code:
operator << (std::cout, ns::MyType ());
und dabei das ns:: vor operator weglassen.
Anderes Beispiel:
Code:
copy (std::istream_iterator <int> (std::cin), std::istream_iterator <int> (),
      back_inserter (container));
(Ungetestet, #include <iterator> und #include <algorithm> nicht vergessen)
Ach, das hätte ich noch wissen können/sollen :|

Quote:
Originally Posted by Tasiro View Post
Dann hat jemand die Standardbibliothek beim Design jener Bibliothek außer Acht gelassen. Welche Bibliothek meinst du denn?
Den genauen Namen weiß ich leider nicht mehr, war
irgendein .fbx Parser. Aber da dürfte, wie du schon
geschrieben hast, jemand die Standardbibliothek ignoriert haben.
.SkyneT. is offline  
Old 08/08/2013, 21:24   #8
 
elite*gold: 0
Join Date: Jul 2013
Posts: 22
Received Thanks: 2
So, das Problem habe ich noch immer, dass ist aber nicht weiter tragisch.Und mit ADL etc.
kann ich zur Zeit noch nichts anfangen, weil ich erst seit Gestern versuche Programmieren zu lernen.Wer sich meinen C++ code anschaut wird feststellen, dass es sich hier bei um den if-Bedingung handelt.

Ich komme nicht weiter, aber dass ist für mich nicht schlimm, weil dann lese ich das Kapitel noch mal neu.Im Buch wurde ich schon vorgewarnt, dass ich früher oder später was nicht verstehe, aber es wurde auch drauf hingewiesen am Ball zu bleiben und dass werde ich auch. :=) Trotzdem danke für eure Hilfe.

#closed
ErawondA is offline  
Old 08/08/2013, 21:49   #9


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
#closed
MrSm!th is offline  
Closed Thread


Similar Threads Similar Threads
[Frage] Eine kleine Frage an euch
05/02/2010 - Metin2 Private Server - 3 Replies
Was wünscht ihr euch von einem richtig gutem server schreibt eure vorschläge auf pls ok thx
[FRAGE] STARTERSET!!! KLEINE FRAGE WIRKLICH KLEIN^^ XD
03/19/2010 - Metin2 Private Server - 4 Replies
ES LIEF BEIM TEST CHAR ALLES SUPER AUSSER ER WURDE NICHT LEVEL 99 SONDERN LEVEL 33 WIE KANN ICH DAS ÄNDERN BZW WO LIEGT DER FEHLER?^^ say_title ( "Willkommen" ) say ( "Willkommen auf dem Server LuckboxMt2." ) say ( "Wehe du Hackst dann wirste hier gebannd gekickt und dick in den Arsch gepoppt ne also have Fun" ) say ( "Blubb" ) say ( "" ) command ( "level 99" )



All times are GMT +2. The time now is 03:17.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.