Hallo
Bin Programmieranfänger und erst mal bei den Basisdingen angelangt (d.h. noch keine Arrays, Klassen usw.).
Da ich aber gerne dann selber ausprobiere und mir Ziele setze, wollte ich mal ein Programm schreiben, welches erkennt, ob man eine Integer-Zahl eingegeben hat oder nicht.
Mit "cout" kann ich ja eine Ausgabe mit einer bestimmten Dezimalstellenanzahl erzwingen. Wenn also z.B. 2 eingegeben wird, wird 2.0 oder 2.00 angezeigt.
Ein Programm habe ich bereits schreiben können, welches Werte wie 2.5 als Nicht-Integer erkennt und eine 2 als Integer. Allerdings wird eine 2.0 auch als Integer bekannt, da anscheinend intern im Speicher, eine 2.0 als 2 dargestelt wird, auch wenn 2.0 eingegeben wird.
Frage: Gibt es eine Möglichkeit mit "cin" oder auf eine andere Weise, eine eingegebene Zahl auf eine solche Null-Dezimalstelle zu prüfen oder diese genau so abzuspeichern, wie sie eingetippt wurde, also nicht als 2, sondern 2.0? Ich möchte nämlich, dass auch diese als Nicht-Integer erkannt werden.
Bitte (wenn es geht) die einfachste Lösung. Falls es keine einfache Lösung gibt, werde ich wohl zuerst noch etwas weiterlernen müssen ;-)
Danke und Gruss
Thomas
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Völlig korrekt.
@Chre
Ich glaube, deine Lösung ist tatsächlich die Simpelste und sollte wunderbar funktionieren. Allerdings, falls ich zu einem späteren Zeitpunkt mit dem Wert rechnen möchte, müsste ich dann den String ja nach Int oder Float konvertieren
@xafford
Erreichen will ich damit nichts, aber ich stelle mir gerne Aufgaben, wenn ich am Programmieren lernen bin. Und solche Dinge reizen mich halt, auch wenn es schliesslich keinen Sinn macht. :-)
Gruss und Dank
Thomas