AW: Da muessen die Profis ran,...
01.12.2012 20:11:45
schauan
Hallo Aksu,
so richtig vba ist das nicht ....
Hier mal ein erster Ansatz:
Option Explicit
'Variablendefinition Byte
DefByte B
Sub Ausfuehren_Programm()
'Variablendeklarationen
'Integer
Dim i As Integer 'Schleifenzaehler
Dim Aufgaben_zu_Loesen As Integer '
Dim strAufgabe As String 'Aufgabenstring fuer Anzeige in Inputbox
'Byte
Dim bzufall_1, bzufall_2, bzufall_3 'Zufallszahlen fuer Zahlen und Operator
Dim bErgebnis, bErgebnisE 'Berechnungs- und Rechenergebnis
'Abfrage Anzahl Aufgaben
Aufgaben_zu_Loesen = InputBox("Wieviele Aufgaben wollen Sie Lösen:")
'Schleife entsprechend Anzahl Aufgaben
For i = 1 To Aufgaben_zu_Loesen
'Zufallszahl initialisieren
Randomize
'Zahl 1
bzufall_1 = CByte(Rnd() * 100)
'Zufallszahl initialisieren
Randomize
'Zahl 2
bzufall_2 = CByte(Rnd() * 100)
'Zufallszahl initialisieren
Randomize
'Zahl fuer Operator 3: 0 oder 1
bzufall_3 = Round(CByte(Rnd()), 0)
'Wenn Operatorzahl = 1, dann
If bzufall_3 = 1 Then
'Aufgabenstring mit + bilden
strAufgabe = bzufall_1 & " + " & bzufall_2
'Ergebnis berechnen
bErgebnis = bzufall_1 + bzufall_2
'Oder nicht Wenn Operatorzahl = 1, dann
Else
'Aufgabenstring mit - bilden
strAufgabe = bzufall_1 & " - " & bzufall_2 & ":"
'Ergebnis berechnen
bErgebnis = bzufall_1 - bzufall_2
'Ende Wenn Operatorzahl = 1, dann
End If
'Ergebniseingabe
bErgebnisE = InputBox(strAufgabe)
'Wenn Berechnungsergebnis = Recheneingabe, dann
If bErgebnis = bErgebnisE Then
'Meldung Richtig
MsgBox "Richtig"
'Oder nicht Wenn Berechnungsergebnis = Recheneingabe, dann
Else
'Meldung Falsch
MsgBox "Falsch"
'Ende Wenn Berechnungsergebnis = Recheneingabe, dann
End If
'Naechste Schleife entsprechend Anzahl Aufgaben
Next
End Sub