Funktion schreiben 2



  • Stimmt, entgegen meinem ersten Instinkt geht das aufgrund der genauen Reihenfolge ja doch. Dir ist aber klar, dass 5/9 alleine für sich gleich 0 ist? Und das beispielsweise 5 / 9 * (tempFa - 32) nicht mehr funktionieren würde? Probier es mal aus, wenn du es nicht glaubst.

    Ja, ich denke aus dem Grund, weil es eine integerdivision ist oder ?

    Was kommt bei dir denn derzeit raus, wenn du 0 Werte rein tust? Und was passiert überhaupt, wenn man durch 0 teilt? Probier es doch mal aus.

    Ich kriege die Funktion nicht ganz gestartet muss noch ein bisschen tüfteln, aber hauptsache man hat spaß 😃 🙄


  • Mod

    heyal schrieb:

    Ja, ich denke aus dem Grund, weil es eine integerdivision ist oder ?

    So ist es. Ist dir auch klar, wieso die Reihenfolge wichtig ist und deine jetzige Variante wie gewünscht funktioniert? Und weiter gedacht: Wie du es so machen könntest, dass die Reihenfolge egal ist?



  • [So ist es. Ist dir auch klar, wieso die Reihenfolge wichtig ist und deine jetzige Variante wie gewünscht funktioniert? Und weiter gedacht: Wie du es so machen könntest, dass die Reihenfolge egal ist?

    wieso sie funktioniert ja, da das Programm ja erst die Klammer mit der 5 multipliziert und anschließend erst durch die 9 teilt,
    aber was ich machen kann damit die Reihenfolge egal ist fällt mir leider nicht ein 🙄


  • Mod

    Wenn die 5 und/oder die 9 ein double wären (also 5. oder 9.), dann ist es auf jeden Fall eine double-Division.



  • SeppJ schrieb:

    Wenn die 5 und/oder die 9 ein double wären (also 5. oder 9.), dann ist es auf jeden Fall eine double-Division.

    heißt ich müsste einfach nur die 5 & die 9 als double deklarieren und dann ginge es ?

    double 5,9;
    

  • Mod

    heyal schrieb:

    SeppJ schrieb:

    Wenn die 5 und/oder die 9 ein double wären (also 5. oder 9.), dann ist es auf jeden Fall eine double-Division.

    heißt ich müsste einfach nur die 5 & die 9 als double deklarieren und dann ginge es ?

    double 5,9;
    

    Jain. Die 5 und/oder die 9 müssen doubles sein. Wie schon gesagt, aber vielleicht nicht klar geworden: 5.0 , oder kurz einfach nur 5. , ist ein double.

    Dein Vorschlag ist hingegen totaler Quatsch. Weder kann man den Typ von Variablen umdefinieren:

    int i;
    double i; // geht nicht
    

    Und erst recht nicht kann man Literale umdefinieren:

    1 = 2;  // Netter Versuch, aber nein.
    if (1 + 1 == 4) ...
    


  • Alles klar ich habe es verstanden _

    einfach der Punkt macht es zum double

    (sorry wie gesagt ist mein erstes semester 🙄 )



  • heyal schrieb:

    (sorry wie gesagt ist mein erstes semester 🙄 )

    Darf ich fragen, welches Studienfach?



  • Schlangenmensch schrieb:

    heyal schrieb:

    (sorry wie gesagt ist mein erstes semester 🙄 )

    Darf ich fragen, welches Studienfach?

    Maschinenbau, wir haebn auch nur ein Modul Informatik im Studiengang, aber ich finde Programmiersprachen geil 😃



  • Alles klar.

    Das erklärt so ein bisschen die Aufgabenstellung mit C++ in C Syntax und so. Meiner Erfahrung nach, von Freunden die Maschinenbau, E-Technik o.ä. Ingeneurswesen studieren (bzw. studiert haben), kommt es in den Studiengängen häufiger vor, dass Sprachelemente nicht sauber getrennt und für Informatiker ungewöhnlich unterrichtet werden.

    Aber immerhin ist es bei dir C/C++. Ich kenne auch Maschinenbaustudenten die VBA (Visual Basic for Application) in ihrem Informatik Modul gemacht haben.


Anmelden zum Antworten