Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Kehrwert berechnen (C++) » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 5 Beiträge
Karlito

Hallo,

ich denke man soll einen String einlesen und mit strtof prüfen, ob es sich um eine Fließkommazahl handelt. So kompliziert ist das nicht auch wenn es für einen Anfänger eine kleine Hürde darstellt, da man hier mit Zeigern arbeiten muss. Wurden Zeiger bereits behandelt?

VG,

Karlito
hüliet

also konkret:

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

int main() {

double a,b;

cout << "Bitte eine Fließkommazahl eingeben." << endl;

cin >> a;

if(a != 0 ) {
   b = 1/a;
   cout << "Der Kehrwert der von Ihnen eingegebenen Zahl lautet " << b << "." << endl;
}

else cout << "0 hat keinen Kehrwert." << endl;
hüliet

hey

das mit den zeichenketten scheint wohl etwas schwieriger zu sein (und ich glaube nicht, dass wir das machen müssen, denn es ist ein anfängerkurs).

du meinst also ich müsste erstmal nur den Fall abfangen, dass der benutzer die zahl 0 eingegeben hat?
eulerscheZahl

Bei Zeichenketten allgemein kommt Unsinn heraus, die abzufangen ist aber etwas aufwendiger.
Aber bei einer Zahl ist es offensichtlich, dass der Kehrwert keinen Sinn macht: 0

code:
1:
if(a == (double)a )

a ist vom Typ double, somit stimmt der Vergleich immer, du hast also geschrieben if(true)
hüliet Kehrwert berechnen (C++)

Meine Frage:
Schreiben Sie ein Programm kehrwert, das eine Fließkommazahl von der Standardeingabe erwartet und den Kehrwert der Zahl ausgibt. Überprüfen Sie mit einer if-Anweisung, ob eine gültige Zahl eingegeben wurde.

Meine Ideen:
Ich habs erstmal so gemacht, weiß aber nicht, ob man das so machen kann. Mit der if-Anweisung habe ich Probleme, denn ich weiß nicht genau, wie die Bedingung lauten muss.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
#include <iostream>
using namespace std;

int main() {

double a,b;

cout << "Bitte eine Fließkommazahl eingeben." << endl;

cin >> a;

if(a == (double)a ) {
   b = 1/a;
   cout << "Der Kehrwert der von Ihnen eingegebenen Zahl lautet " << b << "." << endl;
}

else cout << "Sie haben keine Fließkommazahl eingegeben." << endl;

}


Hm... das ist bestimmt nicht korrekt.

Wenn ich zum Beispiel a eingebe, steht dort

"Der Kehrwert ist inf."