Zum Inhalt springen

char problem


baris

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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..

Link zu diesem Kommentar
Auf anderen Seiten teilen

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");

}


Link zu diesem Kommentar
Auf anderen Seiten teilen

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...