String über Tastatur eingeben
-
Dennis93 schrieb:
Ich habe nun aus dem "string neuBeenden" ein char neuBeenden gemacht, dann funktioniert es wunderbar. Trotzdem würde es mich interessieren warum es mit dem string nicht geht.
Mit string muss das was du hier zeigst funktionieren, mit char darf das nicht funktionieren. Das darf nicht einmal compilieren. Du zeigst uns nicht das richtige Programm, sondern nur etwas was so ähnlich aussieht.
Hast du auch den Header
stringeingebunden?
-
Ja so sieht es aus mit char neuBeenden
if (neuBeenden == 'j') { neu(); continue; } else if (neuBeenden == 'n') { exit(0); }
-
Sorry für Doppelpost, aber der Header string ist auch eingebunden.
-
Steht das #include <string> vor dem #include <iostream>?
-
Nein so:
#include <iostream> #include <conio> #include <string> using namespace std;
-
Dann probiers mal so rum:
#include <string> #include <iostream> #include <conio>using namespace std gilt übrigens als schlechter Stil: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5
-
Also um das mal zu klären: Dieses Programm ist das aus deinem ersten Beitrag um die richtigen Header ergänzt:
#include <iostream> #include <string> using namespace std; int main() { string neuBeenden; cin>>neuBeenden; if (neuBeenden == "j") { } else if (neuBeenden == "n") { } }Das ist fehlerfrei. Irgendwo muss ein entscheidender Unterschied zu deinem eigentlichen Programm sein.
-
rean schrieb:
Dann probiers mal so rum:
#include <string> #include <iostream> #include <conio>Was soll die Reihenfolge damit zu tun haben? Die ist immer vollkommen egal.
using namespace std gilt übrigens als schlechter Stil: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5
Nein, so wie es hier verwendet wird ist das absolut in Ordnung.
-
Danke SeppJ für deine Antwort.
Was mir aufgefallen ist, wenn ich "cin>>neuBeenden"(neuBeenden in dem Fall ein string) auskommentiere, erscheint kein Fehler mehr...
-
Dennis93 schrieb:
Was mir aufgefallen ist, wenn ich "cin>>neuBeenden"(neuBeenden in dem Fall ein string) auskommentiere, erscheint kein Fehler mehr...
Vielleicht ein Semikolon vergessen?
Tippst du den Code hier im Forum immer von Hand ein? Falls ja: Benutze unbedingt Copy&Paste damit keine Übertragungsfehler stattfinden können.
-
Nein immer mit Copy&Paste.