switch case Verständnis Problem...
-
AlternativEnde ungeloggt schrieb:
Aber getch ist doch kein Standard...
Hat auch niemand behauptet, aber ich sehe in deinem Code keine Verwendung von getch().
AlternativEnde ungeloggt schrieb:
Also meinst du ich sollte cin >> eingabe wieder durch eingabe = getch (); bzw. getchar(); ersetzen und es mit #define zu machen ?
Das hab ich nicht gesagt. Da ich die Anforderungen deiner Anwendungen nicht kenne, kann ich dir auch nicht sagen, wie du es nun machen sollst.
cin hat den Nachteil, dass man immer mit Enter bestätigen muss. Andererseits bietet der Standard keine Möglichkeit, zumindest ist mir nichts bekannt, direkt auf Tastendrücke zu reagieren. Wenn du sowas benötigst, dann musst du auf plattformspezifische Sachen zurückgreifen, wie zB getch(). Kapselung heisst dann hier das Zauberwort.
Wenn du bei cin bleiben willst, dann vergiss das mit ESC, und mach es so, dass zB bei eingegebener "0" das Programm beendet wird.
-
Ok habs nun geschafft...
Vielen DAnk den Code gibts nachher muss gleich weiter arbeiten.
Aber eine andere Frage kam auf die in meinem buch zu kurz erwähnt wurde..Strings... Wie kann ich große Zahlenreihen, Werte aus rechnungen da rein schreiben ?
Also ich habe einen Wert der größer ist, als der Speicherbereich von double.
Wie ist es möglich den in einen String schreiben zu lassen.. ?Schreibe mir gerade kleine Testprogramme damit ich später noch weiß wie das alles funktioniert.
Vielen Dank in Eile
Alternativ Ende
-
AlternativEnde ungeloggt schrieb:
Also ich habe einen Wert der größer ist, als der Speicherbereich von double.
Ich welcher Form liegt denn der Wert vor?
-
Ok habe nun in einem alten C Buch hier geblättert und foldendes getan.
#include <iostream.h> #include <string> #include <conio.h> // wieder mal M$ #include <stdlib.h> using namespace std; int main () { char stringtest[80]; int arsch; cin >> stringtest; cout <<stringtest; arsch = atoi (stringtest); cout << endl << arsch; getch(); // Scheiß Microsoft "Verbesserung" ... return 0; }
Dann hab ich mir zwei testprogramme geschrieben..
#include <iostream.h> #include <string> #include <conio.h> // wieder mal M$ #include <stdlib.h> int main () { char stringtest[80]; int arsch; cin.getline (stringtest, 80); cout <<stringtest; cout << "Einzelnde Zeichen aus dem String ausgeben.\n"; cout << "Zeichen Nr: 5 " << stringtest[5] ; getch(); // Scheiß Microsoft "Verbesserung" ... return 0; }
und
#include <stdio.h> #include <iostream.h> #include <conio.h> // M$ "Verbesserung" int main () { cout <<"Dies ist ein Programm, welches mittels der Methode"<<endl; cout <<"cin.getline (Variablenname,Anzahl der Speicherstellen)" <<endl; cout <<"eine Zeile einliest und mit cin.gcount() spaeter zaehlt"<<endl; cout << endl; cout << endl; cout << endl; char zk[100]; // Variable zk cin.getline (zk,100); cout << cin.gcount() << " Zeichen gelesen" << endl << endl << endl; cout << "Die da waeren :" << zk << endl; getch (); // M$ "Verbesserung" return 0; }
meine Frage nun ist kann ich cin.getline in Verbindung mit einer int Variablen oder string mit einer Case Anweisung verwenden ?
Wenn nicht bleibe ich bei cin >> eingabe und über 0 oder ähnliches raus.
Danke