If - Abfrage wird übersprungen
-
Ok, das mit dem
using namespace std;fuktioniert.
Aber der Rest geht immer noch nicht
-
Hallo
Das sieht nett aus, aber ich schreibe immer std::cin, ... Schon allein, weil man ja im Header so etwas wie using namespace nicht schreiben soll.
chrische
-
Hi,
ich habe bis vor Kurzem auch immer mit voll qualifizierten Namen gearbeitet .... bis mir auffiel, dass ich mir damit die Möglichkeit nehme, später die Namen aus anderen Namespaces aufzulösen (was ja ein wichtiges Feature der ganze Sache ist).
Seitdem qualifiziere ich nicht mehr voll, damit ich später festlegen kann, was ich aus welchem namespace haben möchte....und ggf. für einzelne Namen (oder eben alle) auch wechseln kann.
Gruß,
Simon2.
-
@cstoll
Hey Danke, aber die Konstante mit string&prompt, das verstehe ich noch nicht so ganz
-
Hallo
Simon2 schrieb:
Hi,
ich habe bis vor Kurzem auch immer mit voll qualifizierten Namen gearbeitet .... bis mir auffiel, dass ich mir damit die Möglichkeit nehme, später die Namen aus anderen Namespaces aufzulösen (was ja ein wichtiges Feature der ganze Sache ist).
Seitdem qualifiziere ich nicht mehr voll, damit ich später festlegen kann, was ich aus welchem namespace haben möchte....und ggf. für einzelne Namen (oder eben alle) auch wechseln kann.
Gruß,
Simon2.
Wenn ich ehrlich bin, verstehe ich das nicht. Kannst du das mal an einem Beispiel zeigen.
chrische
-
Hurricane schrieb:
@cstoll
Hey Danke, aber die Konstante mit string&prompt, das verstehe ich noch nicht so ganzNaja, du brauchst die selbe Funktion eine Ebene tiefer noch, um den aktuellen Tag angeben zu können (und eigentlich ist die Funktion sogar zur Eingabe der Monate geeignet), also bekommt sie einen String übergeben, wie sie zur Eingabe auffordern soll (beim aktuellen Datum übergibst du dann "Bitte den heutigen Tag angeben").
(std::string ist der C++ Weg, um Zeichenketten zu verarbeiten - das verwende ich aus Gewohnheit, anstelle mit char* rumzubasteln)
-
chrische5 schrieb:
Wenn ich ehrlich bin, verstehe ich das nicht. Kannst du das mal an einem Beispiel zeigen.
Ich glaube er meint sowas:
// foo.cpp #include <algorithm> using std::find_if; // version 2 // foo.cpp //#include <algorithm> #include "foo_algo.hpp" //using std::find_if; using foobar::find_if;
-
@cstoll
Also Danke erstmal es funtkioniert jetzt, hab es ein bisschen auf meine art umgemodelt, der trick war es den tag in der eingabe funktion auf NUll zu setzen.
aber warum? das verstehe ich noch nicht so ganz
-
Lokale Variablen sind beim Anlegen uninitialisiert (d.h. irgendein Wert kann darin stehen) und wenn du dann eine vorabweisende Schleife benutzt ,z.B. while(x < 0){}, kann es passieren, daß diese Schleife niemals durchlaufen wird.
-
finix schrieb:
chrische5 schrieb:
Wenn ich ehrlich bin, verstehe ich das nicht. Kannst du das mal an einem Beispiel zeigen.
Ich glaube er meint sowas:
// foo.cpp #include <algorithm> using std::find_if; // version 2 // foo.cpp //#include <algorithm> #include "foo_algo.hpp" //using std::find_if; using foobar::find_if;Jupp !
Wesentlich ist, dass im "eigentlichen Code" nichts mehr zu ändern ist. Sonst musst Du bei jeder Verwendung von find_if (in diesem Beispiel) "std::find_if" durch "foobar::find_if" ersetzen musst.
Besonders lästig, wenn es in vielen unterschiedlichen Modulen ist (die evtl. alle Deinen Header mit der using-Clause einbinden).Gruß,
Simon2.