Verstehe ich nicht...
-
Hi Leute. Ich hab ein vollgendes Problem. Ich hab einen Code geschrieben. Nichts schweres eigentlich. Ich meine mit Klassen usw. hab ich auch schon zu tun gehabt, aber irgendwie habe ich am Anfang meines Erlernversuches nicht richtig aufgepasst oder sowas. Warum fuktioniert vollgender Code nicht :
#include <iostream.h> #include <stdlib.h> void main(void) { char text[8]; cout << "Hallo !" << endl << "Dieses Programm ermoeglicht eine Texteingabe und anschliesend eine wiedergabe.\n"; cout << "\nBitte geben Sie den Text ein :\n\n"; cin >> text[8]; cout << text[8] << endl; system ("PAUSE"); }
Das Programm startet, aber ich kann nur eine Zahl/Buchstabe speichern bzw. anzeigen lassen.Ich meine daß mit [8] die Variablenlänge deklariert. Oder ?
Danke im vorraus und cu.
-
So geht's :
#include <iostream.h> #include <stdlib.h> void main(void) { char text[8]; cout << "Hallo !" << endl << "Dieses Programm ermoeglicht eine Texteingabe und anschliesend eine wiedergabe.\n"; cout << "\nBitte geben Sie den Text ein :\n\n"; cin >> text; cout << text << endl; system ("PAUSE"); }
Also, cu.
PS Was ein einfacher bilck in ein C++ Buch bewirken kann...
-
is ja irgendwie logisch, oder? duspeichserst ja so nur in das 9. element von text was rein (das eigentlich gar nicht vorhanden sein dürfte). und nich in den string!
-
#include <iostream> // seit 1998 verwenden wir die neuen Header #include <cstdlib> #include <string> using namespace std; int main() // void als rückgabtyp von main ist nicht erlaubt und in c++ wird keine angabe als kein Parameter angesehen, im gegensatz zu C, wo es hieß, das die Anzahl unbestimmt ist. { string text; // verwende std::string aus <string>. Das macht das Leben leichter cout << "Hallo !\nDieses Programm ermoeglicht eine Texteingabe und anschliesend eine wiedergabe.\n"; cout << "\nBitte geben Sie den Text ein :\n\n"; cin >> text; cout << text << endl; system ("PAUSE"); }
-
Wie meinst du das Hunter666 ? Wie würdest du das machen...
Und Danke für den Tipp Helium. Ich bin noch nicht lange am C++ erlernen.....:p
-
Piotrek schrieb:
Wie meinst du das Hunter666 ? Wie würdest du das machen...
Und Danke für den Tipp Helium. Ich bin noch nicht lange am C++ erlernen.....:pMit
char Irgendwas[10];
gibst du an, dass 'Irgendwas' 10 Elemente vom Typ 'char' speichern kann. Es gibt aber
kein Element an der Stelle 'Irgendwas[10]', das ist bereits ausserhalb deines
Reservierten Speicherbereichs, denn deine 10 Elemente gehen von 0-9. Das erste Zeichen
in 'Irgendwas' bekommst du mit 'Irgendwas[0]' und das letzte mit 'Irgendwas[9]'.Aber schau dir doch mal die Stringklasse von C++ an (std::string - muesste in deiner
Doku beschrieben sein), die kann dir viel Arbeit abnehmen und Fehlern vorbeugen.mfg
v R
-
Und mit char Irgendwas[10][8]; hätte ich dann 10 Variable mit einer Länge von 8 Zeichen ???
-
Piotrek schrieb:
Und mit char Irgendwas[10][8]; hätte ich dann 10 Variable mit einer Länge von 8 Zeichen ???
Korrekt. Wuerdest du die 10 Zeichenketten durchlaufen wollen, wuerdest du zwei
Schleifen benoetigen, eine laeuft von 0-9 und die andere von 0-7:for(int i = 0; i < 10; ++i) { for(int j = 0; j < 8; ++j) std::cout << Irgendwas[i][j]; std::cout << std::endl; }
mfg
v R
-
Aja. Ok. Danke virtuell Realisticer. Vieleicht kannst du mir ja irrgend wan wieder helfen. Darum, bis dann......Cu.