unter und oberprogramme was falsch?



  • ach jaaa, richtig, der gute alte Q-basic oder sowas in der art! 😃
    *omg, ist das lange her* :p

    Digger182 schrieb:

    gewöhn dir einen besseren stil an! 😡

    ne, wirklich kein grund sich aufzuregen, wenn man berücksichtigt, dass para von sowas wie (q)Basic direkt auf c++ umgestiegen ist, sieht es schon ganz gut aus: klammer sind vorhanden, es fehlen keine semikolons, und der OP schmeisst netterweise nicht mit "goto"'s um sich 🤡 👍

    edit: hab eigentlich keinen blassen schimmer ahnung, was das für ein basic ist, wahrscheinlich doch nicht "q", da gabs sowas wie "public" imho nie...
    ich hab aber ausser "qBasic" keine andere "basics" gesehen... 🤡



  • Konrad Rudolph schrieb:

    Warum Backslash? Das ist ne Integer-Division.

    Hast Recht, die beiden verwechsel ich gerne.

    ('Exit Function' kann man sich auch schenken.)

    Stimmt, hätte das Beispiel etwas ausführlicher wählen sollen. Wollte damit nur deutlich machen dass man für einen Rücksprung mitten in der Funktion das return durch zwei Anweisungen ersetzen musste (Zuweisung und Exit).

    EDIT (und OT):
    Bei uns @work hätte die Funktion in nem älteren Programm eh so ausgesehen 😃

    Public Function Arith(z1 As Double, z2 As Double) As Double 
        Dim summe As Double
    
        On Error Goto FehlerExit
    
        Arith = 0
    
        summe = z1 + z2 
        Arith = summe / 3 
        Exit Function 
    
    FehlerExit:
        m_fehlertext = "Blablubsülz: " + Err.Description
    End Function
    


  • Eins muss ich noch erwähnen:
    Es ist immer wieder erstaunlich, wie doch Programmieranfänger ihre Variablen benennen: z1, z2, a5, b, d, g4, ...
    Wie lange ist es her, dass man bei der Namenvergabe für Variablen auf 2 Buchstaben beschrenkt war.

    Naja, ich versteh, dass irgendwie nicht.

    Ach ja, diese Syntax bei den Funktionen, die gibt es auch in Pascal.

    // edit: deutsch Sprache schwere Sprache

    Gruß
    Don06



  • #include "stdafx.h" 
    #include <iostream> 
    using namespace std; 
    
    void arith(float & z1, float & z2, float & z3) 
    { 
       float summe; 
       summe=z1+z2+z3; 
       return summe/3; 
    } 
    
    int main() 
    { 
      float arith; 
    
      cout<<endl<<"Gib zahl eins ein: "; 
      cin >> z1; 
      cout << endl << "Zahl zwei: "; 
      cin >> z2; 
      cout << endl << "zahl3: "; 
      cin >> z3; 
      cout << endl; 
    
      arith = arith(); 
    
      cout << "Das Ergebnis ist: " << arith << endl; 
    
      return 0; 
    }
    


  • hab eigentlich keinen blassen schimmer ahnung, was das für ein basic ist

    dürfte sich um visual basic (aber bis max. version 6) handeln.

    void arith(float & z1, float & z2, float & z3) 
    {
      // ...
      arith = summe/3;
      // ...
    }
    
    // ...
    
      arith = arith();
    

    wie soll das bitte funktionieren?

    wenn dann so:

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    float arith(float & z1, float & z2, float & z3)
    {
      return (z1 + z2 + z3) / 3;
    }
    
    int main()
    {
      float z1;
      float z2;
      float z3;
    
      cout << endl << "Gib zahl eins ein: ";
      cin >> z1;
      cout << endl << "Zahl zwei: ";
      cin >> z2;
      cout << endl << "zahl3: ";
      cin >> z3;
      cout << endl;
    
      cout << "Das Ergebnis ist: " << arith(z1, z2, z3) << endl;
    
    return 0;
    }
    


  • dot schrieb:

    dürfte sich um visual basic (aber bis max. version 6) handeln.

    Nö, funktioniert bis VB.NET 8 immernoch genauso. Allerdings gibt es seit 7 auch Try..Catch (statt On Error Goto) und Return.



  • LordJaxom schrieb:

    Allerdings gibt es seit 7 auch Try..Catch (statt On Error Goto) und Return.

    deswegen mein ich ja:

    dot schrieb:

    dürfte sich um visual basic (aber bis max. version 6) handeln.



  • Und wegen dem "(aber bis max. version 6)" schreibe ich "nö, geht auch noch in 8".

    Wo ist das Verständnisproblem? 😉



  • dachte der Herr hätte z1-z3 dekalriert.. naja hab ich übersehen..



  • LordJaxom schrieb:

    Wo ist das Verständnisproblem?

    naja, das dient dort vermutlich zur abwärtskompatibilität...ich würds mit vb > 6 nicht so machen...:p

    aber lassen wir das, das hat nix mit dem thema zu tun 😉


Anmelden zum Antworten