Eingabe von drei Zahlen mit Ausgabe
-
Ich bekomm es leider nicht hin.
Kann mir nicht jemand einen kleinen Lösungsansatz geben?
Ich habe mit dem >>-operator noch nicht gearbeitet. Wie muss das aussehen?
Wenn mir das jemand mit einer Zahl zeigt die in einer Variablen abgespeichert wird, bekomm ich den Rest bestimmt alleine hin.
-
Der_Ben81 schrieb:
Ich bekomm es leider nicht hin.
Kann mir nicht jemand einen kleinen Lösungsansatz geben?
Ich habe mit dem >>-operator noch nicht gearbeitet. Wie muss das aussehen?
Wenn mir das jemand mit einer Zahl zeigt die in einer Variablen abgespeichert wird, bekomm ich den Rest bestimmt alleine hin.Das habe ich ja bereits da oben..
Der >> Operator ist eine Stream Funktion, welche mehrfach überladen ist und Standardmässig alle nativen Datentypen unterstützt, sowie std::string.Benutzen tust du ihn eigentlich fast gleich, wie der << - Operator. (Das sieht man ja an meinem Beispiel.).
Der Unterschied ist aber, dass etwas von der Standardeingabe gelesen, statt geschrieben wird.
-
Ich habs jetzt mal so probiert:
#include <iostream> int main() { int Zahl[3]; Zahl [0] = 0; Zahl [1] = 0; Zahl [2] = 0; std::cout << "Gebe bitte drei Zahlen ein: " << std::flush; std::cin >> Zahl[0]; std::cout << "Der Wert ist: " << ((Zahl[0]+10)*Zahl[1])/Zahl[2] << std::endl; }Aber leider kein Erfolg. Das Programm stürzt ab.
Wie kann man nacheinander auffordern Zahlen einzugeben die dann in verschiedenen Variablen abgelegt werden?
-
#include <iostream> int main() { int Zahl[3]={0}; std::cout << "Gebe bitte drei Zahlen ein: " << std::flush; std::cin >> Zahl[0] >> Zahl[1] >> Zahl[2]; std::cout << "Der Wert ist: " << ((Zahl[0]+10)*Zahl[1])/Zahl[2] << std::endl; }Das schöne an dem >> - Operator ist, dass man ihn ebenfalls, wie den << - Operator verknüpfen kann.
-
Es funktioniert auch ohne dem ={0}, wenn ich das Array stehen lasse. Vielen Dank.
Erfolge tun immens gut.
Kann ich das ={0} immer setzen, wenn die Variablen leer sind?
-
Ohne das ist das Array noch nicht initialisiert, was beim auslesen z.B zu einem Fehler führen kann. (und sehr wahrscheinlich wird..)
-
Gibt es eine Möglichkeit die Quersumme von einer eingegebenen Zahl ausrechnen zu lassen?
-
Der_Ben81 schrieb:
Gibt es eine Möglichkeit die Quersumme von einer eingegebenen Zahl ausrechnen zu lassen?
Das musst du selbst machen.
Am besten machst du aus der Zahl einen string und dann gehst du da Zeichen für Zeichen durch, wandelst das Zeichen wieder in eine Zahl um und addierst es zur Summe.
-
Der_Ben81 schrieb:
Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe von drei Zahlen auffordert. ... Zum Umwandeln einer Zahl innerhalb eines Arrays vom Typ char benötigen Sie die Funktion atoi().
Diese 'Aufgabenstellung' schreit zum Himmel.

Daraus folgt, dass der Aufgabensteller von C++ keine Ahnung hat. Wo lernt man den sowas?drakon schrieb:
Ohne das ist das Array noch nicht initialisiert, was beim auslesen z.B zu einem Fehler führen kann. (und sehr wahrscheinlich wird..)
... was vor dem Einlesen in den Integerwerten gestanden ist, ist irrelevant, da das (korrekte) Einlesen den Wert ohnehin überschreibt.
Viel sinnvoller ist, das korrekte Einlesen der drei Zahlen zu prüfen:
int Zahl[3]; std::cout << "Gebe bitte drei Zahlen ein: "; if( std::cin >> Zahl[0] >> Zahl[1] >> Zahl[2] ) { // Zahlen sind korrekt gelesendrakon schrieb:
Der_Ben81 schrieb:
Gibt es eine Möglichkeit die Quersumme von einer eingegebenen Zahl ausrechnen zu lassen?
Am besten machst du aus der Zahl einen string und dann gehst du da Zeichen für Zeichen durch, wandelst das Zeichen wieder in eine Zahl um und addierst es zur Summe.
Versuche mal Modulo 10 und anschließende Division durch 10, solange das Ergebnis nicht 0 wird.
Gruß
Werner
-
Habs mal so probiert:
#include <iostream> int main() { int Zahl; int Quersumme; std::cout<<"Bitte gebe eine vierstellige Zahl ein: "<<std::flush; std::cin>>Zahl; while (Zahl > 0) { Quersumme += Zahl % 10; Zahl /= 10; } std::cout<<"Die Quersumme beträgt: "<<Quersumme<<std::endl; }Geht aber nicht. Bei Eingabe von 1234 kommt ein Ergebnis von 4246690.
-
Du rechnest mit der Variable Quersumme, obwohl du sie noch gar nicht initialisiert hast! Mach es so:
int Quersumme=0;
-
Vielen Dank euch allen. Bin für heute wieder ein bisschen schlauer geworden.
Schönen Abend noch!