vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Ergebniss wird nicht immer richtig angezeigt 
Autor: Franki
Datum: 22.08.14 00:39

Hallo Alex,

Zitat:

Wenn mehrere Berechnungen hintereinander folgen, Bsp.
9-3*2, wird fälschlicherweise nur die letzte Berechnung
ausgeführt, also 3*2


Wenn es sich tatsächlich um die letzte Berechnung handelt, dann würde ja auch bei z.B. 1+2+3+4 als Ergebnis 7 heraus kommen weil 3+4 die letzte Rechenoperation ist. Ist dem so bei deinem Rechner?

Zitat:


Punkt vor Strich muss nicht
berücksichtigt werden und Klammaerung von Rechenoperationen
muss nicht implementiert werden.


Warum meinst du dass du bei deinem Rechner mathematische Regeln nicht berücksichtigen musst?

Zitat:


- Das Teilen durch 0 sollte nicht möglich sein, leider kommt
nur eine Fehlermeldung.


Was erwartest du denn? Durch 0 zu teilen ist nicht möglich und es muss zwingend eine Fehlermeldung kommen wenn die Usereingaben so sind, dass durch 0 geteilt werden soll. Das musst du abfangen, das macht jeder Billigtaschenrechner für unter einem Euro.

Zitat:


- Nach dem Drücken der Ergebnistaste sollte eine neue
Berechnung erfolgen.


Hmm, also nach der Ergebnistaste sollte eigentlich das Ergebnis für den User angezeigt werden, dann kann er über C oder von mir aus Menüpunkt "Neue Berechnung" oder was auch immer eine neue Berechnung starten.

Hier wurde ja schon von einem anderen User der Verdacht geäussert, dass es sich evtl. um eine Hausaufgabe handeln könnte. Mag sein, aber welche Schule welcher Ausbildungsbetrieb schult heutzutage noch in VB6? Aber selbst wenn, die mathematischen Grundlagen müssen doch Voraussetzung sein, egal mit welcher Programmiersprache man die Aufgabe zu lösen hat. Wenn die nicht vorhanden sind, dann kann man einfach die Aufgabe nicht lösen. Punkt vor Strich ist ja noch die simpleste Grundregel, was machst du erst wenn es wenn es um Potenzieren / Multiplizieren geht oder um Bruchrechnung usw.?

Die mathematischen Regeln musst du kennen wenn du eine "Taschenrechner" programmierst, denn der ist ja dafür da, dass die User dort Eingaben machen können und sich darauf verlassen, dass das Ergebnis richtig ist.

Also schreib mal worum es überhaupt geht bei deinem Projekt!

Gruß
Frank

PS, ich habe mir dein Projekt nicht ansehen können.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Ergebniss wird nicht immer richtig angezeigt 
Autor: AnfangsStadium
Datum: 20.08.14 19:04

Guten Abend Zusammen,

mit Visual Basic 6 erstelle ich einen Taschenrechner, der bisher folgende Fehler aufweist:

- KeyCode für Operatoren Buttons funktionieren nicht -> (Textbox muss ReadOnly sein)
- Wenn mehrere Berechnungen hintereinander folgen, Bsp. 9-3*2, wird fälschlicherweise nur die letzte Berechnung ausgeführt, also 3*2 -> -> Punkt vor Strich muss nicht berücksichtigt werden und Klammaerung von Rechenoperationen muss nicht implementiert werden.
- Beim erneuten Drücken der PlusMinus-Taste (cmdPM) sollte das Minus wieder entfernt werden, was leider nicht passiert.
- Das Teilen durch 0 sollte nicht möglich sein, leider kommt nur eine Fehlermeldung.
- Nach dem Drücken der Ergebnistaste sollte eine neue Berechnung erfolgen.

[B]Wie muss ich meinen Code ändern, damit diese Fehler nicht passieren?

Ich bin euch zutiefst dankbar für eure Hilfe.[/B]


Das VB6 Projekt könnt ihr sehr gerne hier herunterladen.

Schöne Grüße,
Alex

Leider kann ich den ganzen Code nicht hier reinschreiben, da das Forum mir die Fehlermeldung ausgibt, dass der Nachrichtentext zu lang sein.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ergebniss wird nicht immer richtig angezeigt 
Autor: effeff
Datum: 21.08.14 11:02

Es wäre hilfreich, würdest Du die relevanten Codezeilen hier posten. Also:

1. Wie sieht Dein Code für die "Operatoren Buttons" aus, welcher nicht funktioniert?

2. Wie sieht Dein Code für die Berechnung aus?

3. Wie sieht Dein Code aus, um ein Berechnungszeichen (Plus, Minus etc.) wieder zu entfernen?

4. Wie sieht Dein Code aus, um die Division durch Null abzufangen?

5. Das ist aber ja wieder der Code von 2...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ergebniss wird nicht immer richtig angezeigt 
Autor: Manfred X
Datum: 21.08.14 11:42

Hallo!

Du schreibst .....
[I]Wenn mehrere Berechnungen hintereinander folgen, Bsp. 9-3*2, wird fälschlicherweise
nur die letzte Berechnung ausgeführt, also 3*2 -> -> Punkt vor Strich muss nicht
berücksichtigt werden und Klammaerung von Rechenoperationen muss nicht implementiert werden.[/I]

Wenn (von links nach rechts) mehrere mathematische Operationen durchgeführt werden sollen,
ist das aber kein einfacher Taschenrechner!

In dem Fall mußt Du nämlich die Eingabe detailliert kontrollieren und diese Zeichenfolge
zunächst in eine Folge von (ggf. vorzeichenbehafteten) Zahlen und Rechen-Operatoren umwandeln.

Oder geht es nur darum, nach jeder Berechnung die Eingabe durch das ermittelte Resultat zu ersetzen,
damit dieses direkt weiterverwendet werden kann?

Beitrag wurde zuletzt am 21.08.14 um 11:44:24 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ergebniss wird nicht immer richtig angezeigt 
Autor: Blackbox
Datum: 21.08.14 18:29

Hallo,

ich vermute ja ganz stark, dass es mal wieder um eine Hausaufgabe geht.
Mathematische Ausdrücke können in VB ganz einfach gehandelt werden.
Dazu macht man über Projekte->Verweis einen Verweis auf das ScriptingControl.
Genau: "Microsoft Script Control 1.0"

dann ist es ganz easy:

Dim sc As New ScriptControl

sc.Language = "VBScript"
Debug.Print sc.Eval("(9-3)*2")

Ja, man muss Klammern setzen, wie in Mathe üblich ;)
Dann kommt nämlich eine 12 heraus. Sonst wäre es Punkt vor
Strich somit: 9-6 = 3.

Beitrag wurde zuletzt am 21.08.14 um 18:39:13 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel