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

Informatiker Board » Themengebiete » Praktische Informatik » Kehrwert berechnen (C++) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Kehrwert berechnen (C++)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
hüliet
unregistriert
Kehrwert berechnen (C++) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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."
11.04.2013 00:34
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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)

__________________
Syntax Highlighting fürs Board (Link)
11.04.2013 08:12 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
hüliet
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
11.04.2013 11:27
hüliet
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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;
11.04.2013 11:35
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
11.04.2013 12:06 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Kehrwert berechnen (C++)