Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.05.2012, 15:19

Datentyp char

Hallo
habe ein kleines Problem wo ich mir den Kopf zerbreche :dash:
Möchte gerne das man einen Nahmen eingeben kann und er danach auch ausgegeben wird.
Vermute das ich den falschen Datentypen habe, nur was ist der richtige?

verwende c++
und bin anfänger bitte habt Nachsicht :whistling:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;

int main ()
{
    char chName;  //Name des Spielers
    
    cout << "Schoen dich zu sehen, wie war noch mal dein Name?\n ";
    cin >> chName;
    cout << chName << " ... ah stimmt ja.\n";
    cout << chName << " waehle mal bitte die Rechenart.\n";
        
    cin.ignore();
    cin.get();
}

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

29.05.2012, 15:38

Char ist ein Datentyp für ein einzelnen Zeichen. Was du suchst wäre dann wohl String.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

3

29.05.2012, 16:32

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    string chName;  //Name des Spielers
    cout << "Schoen dich zu sehen, wie war noch mal dein Name?\n ";
    cin >> chName;
    cout << chName << " ... ah stimmt ja.\n";
    cout << chName << " waehle mal bitte die Rechenart.\n";
        
    cin.ignore();
    cin.get();
}


Freundliche Grüße
Stazer

4

29.05.2012, 16:46

Vielen dank für die Hilfe.
Da hätte ich noch lange suchen können.
Werde mich da mal etwas einlesen da ich eigentlich noch gar nichts mit dem Begriff String anfangen kann.

FSA

Community-Fossil

  • Private Nachricht senden

5

29.05.2012, 18:59

Verbesserungsvorschlag:

C-/C++-Quelltext

1
string chName;  //Name des Spielers
chName sollten man doch eher sName nennen. Es ist zwar eine Aneinanderreihung von Zeichen, aber sieht besser aus ;)

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

6

29.05.2012, 22:29

Wieso nicht gleich "name"? Ungarische Notation ist veraltet und unnötig. Besonders hier erkennt man aus dem Kontext, um welchen Datentyp es sich handelt. Bei "Name" wird niemand einen integer oder float erwarten. ;)

Falls du auch Strings mit Leerzeichen entgegennehmen möchtest kannst du std::getline verwenden:
std::getline(std::cin, name);
anstelle von std::cin >> name;
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

7

30.05.2012, 12:09

Verstehe ich das richtig das man mit
cin -> ein Buchstaben
string -> ein Wort
getline -> komplette Sätze
und natürlich der damit verbundene Speicherverbrauch
und hat dieser zusätzliche Speicherverbrauch Auswirkungen ?

habe jetzt aber erst mal getline genommen da es für meine Anwendung von Vorteil ist.

FSA

Community-Fossil

  • Private Nachricht senden

8

30.05.2012, 13:56

Mit cin kannst du auch Wörter einlesen. Du brauchst dann aber ein Char Array. String kann auch komplette Sätze speichern.
@NachoMan: Wer sagt das Name aus Text bestehen muss? Was ist wenn du einen Namen aus Zahlen hast? Klar kann man das auch ID oder so nennen.
Also ich persönlich verwende immer ungarische Notation. Das kann schon hilfreich sein. Aber in dem Kontext ist es wirklich egal.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige