Veröffentlicht 8. August 200718 j hallo erstmal wie kann man den char speicher erhöhen, sodass z.B. 10 buchstaben erkannt werden. Normalerweise kann man ja nur 8 bit = 1 buchstaben eingeben gibt es dafür noch eien zusätzlichen befehl?
8. August 200718 j Ein char ist immer nur ein einzelnes Zeichen. Wenn du eine Zeichenkette speichern möchtest kannst du das zum Beispiel in einem Array von Chars machen. z.B. char Name[32] erzeugt dir ein Array für 32 Zeichen. Allerdings beginnt der Index bei 0 so dass du auf die Zeichen Name[0] bis Name[31] zugreifen kannst.
9. August 200718 j und Name[31] muss den Wert 0 haben (nicht das Zeichen '0') also entweder Name[31] = 0; oder Name[31] = '\0'; Sonst schießt du bei (fast) jeder Zeichenkettenoperation über das Array hinaus...
10. August 200718 j und Name[31] muss den Wert 0 haben (nicht das Zeichen '0') also entweder Name[31] = 0; oder Name[31] = '\0'; Sonst schießt du bei (fast) jeder Zeichenkettenoperation über das Array hinaus... Nein, nach dem letzten Zeichen der Zeichenkette muss eine binäre 0 kommen. Das heißt wenn da zum Beispiel Martin drin steht steht an 7. Stelle die 0 um das Ende zu markieren. Da das aber sowieso von fast allen String einlese Funktionen zu gemacht wird ist das erstmal nicht so wichtig für den Autor.
10. August 200718 j hab vor 2-3 Tagen mit C++ angefangen. Ich habe ein Programm geschrieben, dass nach Eingabe des Durchmessers bzw des Radius, den Flächeninhalt, Umfang etc. eines Kreises berechnet. Das Programm fragt, was ich angeben werde. Durchmesser oder Radius. Und ich möchte halt ddie Wörter ganz ausschreiben können. Wenn ich den Speicher von char erweiter, dann sagt das Programm, dass ich von Int nach char konvertieren soll..
10. August 200718 j Hi, Code ist immer hilfreich bei sowas. C++ bietet übrigens auch elegantere Möglichkeiten, als mit char und Zeigern zu hantieren.
10. August 200718 j Hi, Code ist immer hilfreich bei sowas. C++ bietet übrigens auch elegantere Möglichkeiten, als mit char und Zeigern zu hantieren. ist nicht ein profi code aber egal^^ #include <iostream.h> int main() { char wahl; double radius, durchmesser; double A, U; const double pi = 3.1415926535897932384626433832795; cout<<"Geben Sie den Durchmesser oder den Radius ein!"<<endl; cout<<"Geben Sie nur den Anfangsbuchstaben ein! "; cin>>wahl; if (wahl == 'D') { cout<<"\nDurchmesser = "; cin>>durchmesser; radius = durchmesser/2; A = radius * radius * pi; U = durchmesser * pi; cout<<"Der Flaecheninhalt des Kreises beträgt = "<<A<<endl; cout<<"Der Umfang des Kreises beträgt = "<<U<<endl<<endl; } if(wahl == 'R') { cout<<"\nRadius = "; cin>>radius; A = radius * radius * pi; U = radius * 2 * pi; cout<<"Der Flächeninhalt des Kreises beträgt = "<<A<<endl; cout<<"Der Umfang des Kreises beträgt = "<<U<<endl<<endl; } system("pause"); }
10. August 200718 j Und was ist jetzt das Problem? Was hoffst du zu erreichen, wenn du den "char speicher erhöhst"?
10. August 200718 j Nimm statt char std::string. Dafür brauchst du noch #include <string> iostreeam.h ist übrigens falsch, das .h muss weg. Dafür liegen cin und cout im Namespace std, d.h. entweder schreibst du jeweils std:: vor jedes cin oder cout, oder du verwendest eine using-Direktive: using namespace std; (vor deiner main-Funktion)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.