WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 23.10.2003, 08:09   #11
premm
Newbie
 
Registriert seit: 17.02.2003
Beiträge: 4


Standard Leider stimmt das nicht ganz !

int 2Byte -+32768
long 4Byte -+2147483648
double 8Byte ±1.8·10e308

Das heist dein Code funktioniert nur für einen Wertebereich von
+-32768
premm ist offline   Mit Zitat antworten
Alt 23.10.2003, 09:02   #12
irrsinn
Veteran
 
Registriert seit: 05.04.2002
Beiträge: 331


Standard

kommt drauf an:

rein auf verdacht würd ich sagen, dass die int() funktion einen long zurückliefert. dann gehts ohne probleme.

auswendig weiß ichs aber net und find grad nix gscheites zum nachschaun
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm!
irrsinn ist offline   Mit Zitat antworten
Alt 23.10.2003, 11:15   #13
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Frage

Warum liest du die Eingabe nicht einfach in einen String und siehst nach, ob du ein Komma darin findest?
Mit sscanf kannst du die Zahl dann wieder in ein double einlesen.
Double-Zahlen sind ungenau. 0.9999999 könnte 1 bedeuten.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 23.10.2003, 16:13   #14
premm
Newbie
 
Registriert seit: 17.02.2003
Beiträge: 4


Standard

Zitat:
Original geschrieben von irrsinn
kommt drauf an:

rein auf verdacht würd ich sagen, dass die int() funktion einen long zurückliefert. dann gehts ohne probleme.

auswendig weiß ichs aber net und find grad nix gscheites zum nachschaun
int ist keine Funktion und auch kein Objekt, int ist ein einfacher Datentyp, der je nach System anderes definiert ist, meist jedoch 2 Byte also von -32767 -> 32768, long mit 4 Byte.

#include <cmath>
#include <iostream.h>

int main()
{
double a;

cout<<"Geben sie eine Zahl ein";
cin>>a;

if (a == floor(a))
cout<<"Ganze Zahl ";
else
cout<<"keine ganze Zahl ";
}
premm ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:58 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag