Strings vergleichen
-
ups, den hab ich mir nicht richtig angeschaut
(weil keine codetags)
peterthemasters ist auch in ordnung
-
also das buch was ich habe ist zum lernen eigentlich sehr gut da steht nur nichts von der stl und containern drin. mit strcmp klappt die sache eigentlich ganz gut, ist vieleicht nicht die beste und unaufwendigste lösung.
Aber hier erst mal danke an alle die mir helfen wollten.
-
auserdem stehen die string funktionen nicht in string sondern in cstring oder bei c in string.h. strings wurden schon beschrieben.
-
ok hattest doch rcht die header strin gibt es sorry da war ich wohl etwas voreilig
-
also in <cstring> stehen operationen, die auf C-Strings anwendbar sind, also auf char-Felder. in <string> ist eine Klasse definiert, die einen String repräsentiert. Das vereinfacht den Umgang ungemein.
Statt
strcpy(dest, source);
einfach
dest = source;
also so, wie man es erwartet. Ein Aneinanderhängen ist mit + bzw. += möglich, ...
-
hey danke
ich dachte c++ wäre immer noch so unflexibel mit strings wie c gut zu wissen
-
wer weigert sich denn die ganze zeit, neues anzunehmen?
-
@PeterTheMaster: ich
-
Die Antwort von linux ist in Ordnung.
Mit dem Vorschlag hat man die Möglichkeit, zunächst mit der if-Anweisung eine unendliche Zahl von Varianten abzuprüfen (und im Beispiel mit a zu kategorisieren). Im Anschluss werden die Varianten auf eine begrenzte Zahl von "case-Fällen" zurückgeführt.
Besser geht's ja wohl nicht.
Ich glaube aber, dass sieht für einige nur zu einfach aus. Ist eben das naheliegenste.
-
Naja, hat sein Programm unendliche Anzahl an Befehlen? Nein...
Von daher:if(...) { ... }
else if(...) { ... }
else { ... }
-
hey was soll das denn wer schreibt denn da unter meinem namen
der letzte post vor diesem hier stammt nicht von mir.
-
"Naja, hat sein Programm unendliche Anzahl an Befehlen? Nein..."
In deinen else if Anweisungen aber schon. Und dann müsstest du die ganzen Befehle die unter case stehen evtl. 50 mal wiederholen.
Mit der switch-Anweisung jedoch nur 3 mal. Unter else if steht ja immer nur a=1 oder a=2 usw.
-
ich habs jetz erst mal so gelöst das ich unter else if direkt die anweisung geschrieben habe da diese in meinem programm nie länger als 3 zeilen sind.
-
In deinen else if Anweisungen aber schon. Und dann müsstest du die ganzen Befehle die unter case stehen evtl. 50 mal wiederholen.
Mit der switch-Anweisung jedoch nur 3 mal. Unter else if steht ja immer nur a=1 oder a=2 usw.Versehe ich nicht. Erklär das bitte nochmal für Dumme (mich).