unter und oberprogramme was falsch?
-
Andrey schrieb:
irgendwelche alten erinnerungen werden wach... para, in welcher sprache hast du bisher programmiert? dieser syntax erinnert mich an irgendetwas, aber ich weiß nicht was...

Das vielleicht?

Public Function Arith(z1 As Double, z2 As Double) As Double Dim summe As Double = z1 + z2 Arith = summe \ 3 Exit Function End Function
-
LordJaxom schrieb:
Das vielleicht?

Public Function Arith(z1 As Double, z2 As Double) As Double Dim summe As Double = z1 + z2 Arith = summe \ 3 Exit Function End FunctionWarum Backslash? Das ist ne Integer-Division. ('Exit Function' kann man sich auch schenken.) Anyway, für C++ wurde das doch auch mal vorgeschlagen, um NRVO zu vereinfachen. Letztendlich ist das zwar unnötig aber es gab mal ein GOTW, welches erklärt hat, wieso dieser Stil aus Gründen der Lesbarkeit trotzdem Vorteile hätte.
-
ach jaaa, richtig, der gute alte Q-basic oder sowas in der art!

*omg, ist das lange her* :pDigger182 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
