Suche Problemlösungen



  • hier 2 aufgaben und meine 2lösungsansätze

    hab vor 2 Tagen damit angefangen mich intensiv mit C++ zu beschäftigen und bis mein bestelltes buch endlich kommt arbeite ich halt mit nem online buch das auch aufgaben stellt. hier die erste
    Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe von drei Zahlen auffordert. Das Programm soll den Wert 10 zur ersten eingegebenen Zahl hinzuaddieren, das Ergebnis mit der zweiten eingegebenen Zahl multiplizieren und dann durch die dritte eingegebene Zahl dividieren. Die Berechnung soll hierbei innerhalb einer einzigen Code-Zeile erfolgen. Das Ergebnis soll auf den Bildschirm ausgegeben werden. Hinweis: Zum Umwandeln einer Zahl innerhalb eines Arrays vom Typ char benötigen Sie die Funktion atoi(). Dieser Funktion übergeben Sie das Array zwischen den runden Klammern und erhalten als Rückgabewert eine Zahl vom Typ int

    Mein Lösungsansatz
    #include <iostream>
    #include <cstdlib>
    #include <algorithm>

    int main()
    {
    char a[10];
    char b[10];
    char c[10];
    std::cout << " Gib eine Zahl ein!!!!! " << std::endl;
    std::cin.get (a, sizeof(a));
    std::cout << " Gib noch eine Zahl ein!!!!!!" << std::endl;
    std::cin.get (b, sizeof(b));
    std::cout << " Gib noch eine Zahl ein!!!!!! " << std::endl;
    std::cin.get (c, sizeof(c));
    if (std::atoi(c) == 0)
    {
    std::cout << " Geben sie eine Zahl ein die größer als 0 ist!" << std::endl;
    }
    else
    {
    std::cout << (std::atoi(a) + 10) * std::atoi(b) / std::atoi(c) << std::endl;
    }
    }

    die zweite

    #include <iostream>
    #include <algorithm>

    int main()
    {
    char q[5];

    std::cout << "Geben sie eine 4stellige zahl ein" << std::flush;
    std::cin.get(q, size of(q));
    std:atoi(q[0]);
    std:atoi(q[1]);
    std:atoi(q[2]);
    std:atoi(q[3]);
    std:cout << std:atoi(q[]) + std:atoi(q[]) + std:atoi(q[]) + std:atoi(q[]) << std::endl;
    }

    Wäre schön wenn mir wer helfen könnte:D



  • beinahe die frage vergessen 😃

    Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe einer vierstelligen Zahl auffordert. Das Programm soll daraufhin die Quersumme der vierstelligen Zahl errechnen und das Ergebnis dann auf den Bildschirm ausgeben. Hinweis: Je nach Lösungsansatz benötigen Sie wie in Aufgabe 1 die Funktion atoi() zum Umrechnen von Zahlen innerhalb eines Arrays vom Typ char in Werte vom Typ int.



  • Ich sehe immernoch keine Frage..



  • Naja beim ersten programm war das problem dass immer en fehler warnung kam weil c ja nicht null sein darf. Stimmt das so wie ich es jetzt gemacht habe??
    Außerdem kann ich nur eine zahl eingeben dann kommt die aufforderung zur 2. zahl aber ich kann nix mehr eingeben. Was hab ich da falsch gemacht??

    beim 2. programm hab ich leider kp was falsch ist. Ich glaub aber die im array gespeicherten ziffern werden falsch aufgerufen oder so. stimmt das??



  • #include <iostream> 
    #include <cstdlib> 
    #include <algorithm> 
    
    int main() 
    { 
    char a[10]; 
    char b[10]; 
    char c[10]; 
    std::cout << " Gib eine Zahl ein!!!!! " << std::endl; 
    std::cin.get (a, sizeof(a)); 
    std::cout << " Gib noch eine Zahl ein!!!!!!" << std::endl; 
    std::cin.get (b, sizeof(b)); 
    std::cout << " Gib noch eine Zahl ein!!!!!! " << std::endl; 
    std::cin.get (c, sizeof(c)); 
    if (std::atoi(c) == 0) 
    { 
    std::cout << " Geben sie eine Zahl ein die größer als 0 ist!" << std::endl; 
    } 
    else 
    { 
    std::cout << (std::atoi(a) + 10) * std::atoi(b) / std::atoi(c) << std::endl; 
    } 
    } 
    
    die zweite 
    
    #include <iostream> 
    #include <algorithm> 
    
    int main() 
    { 
    char q[5]; 
    
    std::cout << "Geben sie eine 4stellige zahl ein" << std::flush; 
    std::cin.get(q, size of(q)); 
    std:atoi(q[0]); 
    std:atoi(q[1]); 
    std:atoi(q[2]); 
    std:atoi(q[3]); 
    std:cout << std:atoi(q[]) + std:atoi(q[]) + std:atoi(q[]) + std:atoi(q[]) << std::endl; 
    }
    

    Ist das so schwer die Tags zu bnützen?



  • ccfrosh schrieb:

    Wäre schön wenn mir wer helfen könnte:D

    Ja wenn du jetzt noch sagst bei was und weswegen du hier postest, wäre es nett^^.



  • Du machst da völligen Unsinn.

    So liest man eine Zahl ein:

    #include <iostream>
    ...
    
    int zahl;
    std::cin >> zahl;
    

    Dann noch überprüfen, ob überhaupt eine gültige Zahl eingegeben wurde:
    http://www.cplusplus.com/reference/iostream/ios/fail.html

    Und dann kannst du mit der Zahl arbeiten, wie du willst.

    Umwandlungen mittels atoi und ähnlichen Funktionen sind in C++ ungebräuchlich. Hier werden die Umwandlungen mittels std::stringstream vollzogen. Und da musst du dich nicht mal um die Typen kümmern. Das passiert automatisch aus den Operanden.



  • ich poste hierweil ich das lernen will xD und halt hilfe brauche^^ - fehler findne und sagen wies richtig geht



  • ccfrosh schrieb:

    ich poste hierweil ich das lernen will xD und halt hilfe brauche^^ - fehler findne und sagen wies richtig geht

    😕
    Aber sonst noch alles beisammen?! - Das ist ein freiwilliges Forum und Befehle werden keine angenommen. Im übrigen machst du so viel Mist da ist das ganze ein grosser Fehler.. Also lern es, wie man es richtig macht, oder lass es bleiben!



  • naja -fehler findenund vllt sagen wies richtig ist- omg wenn ich hier was poste das falsch ist was will ich dann : ich würd hoffen dass sich das jmd ankuckt und dann vllt sagt was falsch ist - das war ja von mir auch net arrogant oder os gemeint hast warscheinlch falshc verstanden


Anmelden zum Antworten