Hiiilfe cih komme nicht mehr klar



  • Ich bin im ersten Semester Informatik und hätte eine frage bezüglich einer Kombinierte Umformung.

    Die Aufgabenstellung lautet:

    Aufgabe INF-WI-2.05: (Kombinierte Umrechnung)

    Schreiben Sie ein C++ Programm, welches die Umrechnungen der vorigen
    drei Aufgaben in einem einzigen Programm zusammenfasst.
    Das Programm soll einen double Fließkomma-Eingabewert einlesen und
    dann die gewünschte Umrechnung als Integer-Zahl auswahl erfragen.
    Anschließend soll der umgerechnete Wert ausgegeben werden.
    Das Programm darf kein if, case, ?-Operator oder andere Kontrollfluss-
    Konstrukte (z.B. Schleifen) benutzen. Ferner dürfen keine
    Datenstrukturen verwendet werden, die noch nicht in der Vorlesung
    behandelt wurden (Arrays o.ä.). Stattdessen dürfen nur Eingabe,
    Ausgabe, Wertzuweisung, Variablen der einfachen Datentypen sowie die
    Grundrechenarten benutzt werden. Alle drei vorherigen Umwandlungs-
    Berechnungen müssen daher in einer einzigen Berechnung zusammengefasst
    werden, die auch die Zahl auswahl (zur Auswahl der Umrechnungsform)
    einbezieht.
    Hinweise:
     Die resultierende Berechnungsformel ist eine Summe, in deren drei
    Summanden sich die drei einzelnen Umrechnungsformeln
    wiederfinden.
     Jeder Summand besteht aus einem Produkt (Multiplikation). Der
    eine Teil des Produkts ist die jeweilige Umrechnungsformel. In den
    anderen Teil des Produkts muss der Wert auswahl einbezogen
    werden.
     Wenn man einen Wert mit Null multipliziert, so ergibt sich Null. Der
    Wert Null trägt nicht zu einer Summe bei, d.h. er wird „nicht
    berücksichtigt“. Nutzen Sie dies, um die „gerade nicht gefragten
    Teilformeln“ zu „eliminieren“.

    Testläufe (Benutzereingaben sind zur Verdeutlichung unterstrichen):

    Ihre Eingabe: ? 12.3
    Ihre Auswahl der Umwandlung:
    1 - Celsius in Fahrenheit
    2 - Meter in Fuss
    3 - Euro in US Dollar
    1
    Das Ergebnis lautet: 54.14
    Drücken Sie eine beliebige Taste . . .

    Ihre Eingabe: ? 23.4
    Ihre Auswahl der Umwandlung:
    1 - Celsius in Fahrenheit
    2 - Meter in Fuss
    3 - Euro in US Dollar
    2
    Das Ergebnis lautet: 76.7707
    Drücken Sie eine beliebige Taste . . .

    Ihre Eingabe: ? 34.5
    Ihre Auswahl der Umwandlung:
    1 - Celsius in Fahrenheit
    2 - Meter in Fuss
    3 - Euro in US Dollar
    3
    Das Ergebnis lautet: 44.7017
    Drücken Sie eine beliebige Taste . . .



  • Paradox schrieb:

    Ich ... hätte eine frage bezüglich einer Kombinierte Umformung.

    Und zwar?



  • ich weiß nicht wie ich die Aufgabe lösen soll



  • Spannende Aufgabe.

    Darf der Operator "==" verwendet werden?
    Wenn ja, ist es recht einfach (denk dran, dass int(false)=0 und int(true)=1 ist).

    Wenn du == nicht nutzen darfst, kannst du die mal überlegen, was die Eingabe geteilt durch 3 ergibt - und ob dir ggf. die Werte (eingabe+1)/3 und (eingabe+2)/3 noch weiterhelfen können.



  • Kein Bock oder wie?
    Der "Hinweis" ist doch schon die Lösung.



  • der Operator "==" darf glaube ich nicht verwendet werden weil wir sowas noch nicht hatten. Die andere Methode habe schon mal wo gelesen doch das alles hier ist für mich Neuland deswegen bräuchte ich eine schritt für schritt Anleitung wenn es natürlich keine umstände bereitet.

    ich soll die drei Umrechnungen zusammnfassen in ein Programm:

    #include <iostream>

    using namespace std;

    int main()
    {

    double d = 0;

    cout << "Bitte geben Sie Die Temparatur in Grad Celsius ein: ? ";
    cin >> d;
    cout << "Die Temperatur in Fahrenheit lautet " << d * 1.8 + 32 << endl << endl;

    system("PAUSE");
    return 0;

    }

    #include <iostream>
    using namespace std;

    int main()
    {
    double d = 0.0;

    cout << "Bitte geben Sie die Laenge in Metern ein: ? ";
    cin >> d;
    cout << "Die Laenge in Fuss lautet: " << d * 3.2808 << endl << endl;

    system("PAUSE");
    return 0;
    }

    #include <iostream>
    using namespace std;

    int main()
    {
    double d = 0.0;

    cout << "bitte geben Sie die Geldmenge in Euro ein: ? ";
    cin >> d;
    cout << "Die Geldmenge in US Dollar lautet:" << d * 1.2957 << endl << endl;

    system("PAUSE");
    return 0;
    }



  • Also bitte, du wirst es doch wohl noch hinkriegen, ein Produkt hinzuschreiben, was für x = 2 oder x = 3 Null wird.
    Das ist 7te Klasse.

    Das wäre wenigstens schonmal ein Anfang.



  • Es kommt vlt bisschen blöd rüber aber ich komme bei dem Ansatz nicht weiter. Was soll ich hier jetzt deklarieren und wie soll ich das gesamte aufbauen. Soll ich den Ansatz wie ähnlich bei den anderen nutzen und weiter bearbeiten oder soll ich jetzt komplett etwas anderes schreiben.



  • Sag doch einfach mal, wie eine Funktion f(x) aussieht, mit
    f(2)=f(3)=0 und f(0) != 0

    Und zwar die kanonische Funktion f. Nicht irgendwas kompliziertes.

    Edit:
    Hab Feierabend.
    Also f finden, 1 einsetzen, gucken wie man das auf 1 skalieren kann, mit erster gewünschten Funktion multiplizieren, erster Summand fertig.
    Die anderen entsprechend.



  • Haben die Semester angefangen, oder warum ploppen hier ploetzlich so viele fragen auf, die mithilfe eines anfaengerbuches zu loesen waeren?!



  • Paradox schrieb:

    Alle drei vorherigen Umwandlungs-
    Berechnungen müssen daher in einer einzigen Berechnung zusammengefasst
    werden, die auch die Zahl auswahl (zur Auswahl der Umrechnungsform)
    einbezieht.

    Du brauchst erstmal einen Term, der nach der Vorgabe, die Berechnung macht. Das ist Mathematik.

    Den solltest du dann einfach hinschreiben können (ist nur etwas länger als die Fahrenheit Berechnung).



  • Ich hätte dir gerne geholfen ,aber mir fällt die AUfgabe auch schwer 😃
    Studierst du Informatik?



  • Ihr müsst einfach nur lesen, was hier geschrieben wurde!

    Ich habe eine Lösung vorgeschlagen, die auf dem Ausnutzen von ganzzahliger Division basiert, Jockelx schlägt eine Funktion mit 2 passend gelegten Nullstellen vor (Parabel?!). Also wenn das nicht genug Hilfe ist, dann weiß ich es auch nicht...


Log in to reply