Datentyp Vergleich
-
HI,
bin ein Neuling in C++ und wollte mal nachfragen wie ich folgendes machen kann.
Mit welchem Befehl kann ich 2 datentypen von Variablen vergleichen?
Variable a wird eingelesen. Jetzt will ich, dass wenn ich eine Zahl eingebe, die variable den Datentyp float bekommt, wenn ich einen Buchstaben einlese, die Variable a den Datentyp char bekommt.Ich möchte, dass
if <datentyp von variable a> == <datentyp float>
dann <<cout "OK" <<endl;funktioniert. Mir ist kar, dass die syntax hier nicht stimmt, wollte auch nur klarmachen was ich meine.
-
Datentypen lassen sich in C++ nur umständlich bestimmen (RTTI bei Klassen mit virtuellen Funktionen).
Liest du eine Variable ein musst du wissen welchen Typ sie hat.
Zuerst handelt es sich ja nur um einen String (Zeichenkette) im Eingabepuffer, der dann je nach Ziel-Datentyp umgewandelt wird.So wird aus der Eingabe "12" vielleicht eine Integer Zahl (Wert: 12), eine Double Zahl (Wert 12.0), ein String(Wert: "12") oder irgendein selbstdefinierter Typ (Bsp: ComplexNumber).
Was willst du denn besonderes damit erreichen?
Gruß
Don06
-
ich will, dass wenn ich eine zahl eingebe, er mit z.b. den umfang eines kreises ausrechnet und wenn ich buchstabe eingebe, er mir eine fehlermeldung bringt.
Da dachte ich mir ich könnte das irgendwie mit 2 If Bedingungen lösen in der überprüft wird ob ich ne zahl oder nen buchstaben eingebe.
-
double radius = 0; cin >> radius; if(!cin.fail()) // fail() == true, wenn I/O Fehler, dh wenn zb 'a' versucht in nen double { // rechnen blabla } else { cin.clear(); string temp; getline(cin,temp); cout << "Error"; }