Hi!
Also, irgendwas stimmt da in deiner Beschreibung nicht! Erst sagst du
ich habe mir einen Rechner geschrieben,
der aus 5 Eingaben einen Wert errechnet.
Der sechste Wert, den der Benutzer eingibt
ist eine Obergrenze für das Ergebnis
Dann nennst du die Berechnungsformel
Hier die Rechnung mit den Variablen
var8 = ((var1 / 10) * (var2 / 10) * var3 * var4 * (var5 / 100)
* (var6 / 100)) / 10
Wenn ich richtig gezählt habe, stecken in der Berechnung 6 und nicht 5 Variablen.
Dann sind, soweit ich es verstanden habe, alle Variablen als Long deklariert. Das ist einerseits hochgradig riskant, weil es dir bei Multiplikationen relativ schnell den Speicherplatz zerreisst (es sei denn, du hast Obergrenzen für die einzelen Variablen festgelegt, die du hier nicht genannt hast), andererseits werden die Werte ungenau bei Divisionen, da du die Nachkommastellen verlierst (1234 / 100 ist als Long-Wert eine 12. 1289 / 199 ergibt 13. Die Nachkommastellen werden weggerundet).
Mit Werten wie
var1 = 500
var2 = 1000
var3 = 1500
var4 = 2500
var5 = 3500
var6 = 5000
reisst es var8 auseinander!
Tip: Zerleg die Berechnung in Einzelschritte, dann kannst du mit dem Debugger schnell herausfinden, wo es hakt:
var1 = var1 / 10
var2 = var2 / 10
var5 = var5 /100
var6 = var6 / 100
var1 = var1 * var2
var3 = var3 * var4
var5 = var5 * var6
var8 = var1 * var3 * var5
var8 = var8 / 10
Und deine „Select case“-Abfragen solltest du zu einem Select-case zusammenfassen, sonst machen die keinen Sinn als Select-case
Grüße
Heinrich