Realisierung 11.12 | Realisierung 11.13 |
Option Explicit Sub zinsberechnung() ' Programm berechnet die monatliche Belastung ' bei einzugebendem Kaufpreis und Eigenkapital ' Dateiname: funktionen11 Dim eingabe As String Dim eigenkapital As Double Dim immobilienpreis As Double Dim aufzunehmenderBetrag As Double Dim monatlicheBelastung As Double Dim zinsKlasse As Integer Dim fehler As Boolean Gib_Programmbeschreibung_aus eingabe = Lies_den_Immobilienpreis_ein() Do While eingabe <> "beenden" Lies_restliche_und_ueberpruefe_alle_Benutzereingaben eingabe, _ immobilienpreis, _ eigenkapital, _ zinsKlasse, _ fehler If fehler Then Exit Sub End If fuehre_Berechnungen_durch eigenkapital, immobilienpreis, _ zinsKlasse, monatlicheBelastung, fehler If fehler Then Exit Sub End If ' Gib Ergebnisse aus MsgBox ("Ihre monatliche Belastung ist: " & monatlicheBelastung & " DM") eingabe = Lies_den_Immobilienpreis_ein() Loop End Sub Function berechne_Eigenkapitalquote(ByVal eigenkapital As Double, _ ByVal immobilienpreis As Double) _ As Boolean Dim eigenkapitalquote As Double berechne_Eigenkapitalquote = False eigenkapitalquote = (eigenkapital / immobilienpreis) * 100 If eigenkapitalquote < 30 Then MsgBox ("Ihre Eigenkapitalquote " & eigenkapitalquote & _ "% ist zu niedrig!") berechne_Eigenkapitalquote = True Exit Function End If End Function Function Monatliche_Belastung_berechnen(ByVal immobilienpreis As Double, _ ByVal eigenkapital As Double, _ ByVal zinsKlasse As Integer) _ As Double Const tilgung As Double = 1 Dim aufzunehmenderBetrag As Double Dim jahresBelastung As Double Dim eigenkapitalquote As Double aufzunehmenderBetrag = immobilienpreis - eigenkapital jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse + tilgung) Monatliche_Belastung_berechnen = jahresBelastung / 12 End Function Sub Gib_Programmbeschreibung_aus() MsgBox ("Bitte geben Sie Ihr Eigenkapital und den " _ & Chr$(13) & "Kaufpreis ein, sowie die Ihnen zugeteilte" _ & Chr$(13) & " Zinsklasse ein! Sie beenden das Programm," _ & Chr$(13) & " indem Sie beenden als Kaufpreis angeben") End Sub Function Lies_den_Immobilienpreis_ein() As String Lies_den_Immobilienpreis_ein = InputBox("Geben Sie jetzt den Kaufpreis ein!") End Function Sub Lies_restliche_und_ueberpruefe_alle_Benutzereingaben(ByVal eingabe As String, _ immobilienpreis As Double, _ eigenkapital As Double, _ zinsKlasse As Integer, _ fehler As Boolean) fehler = False If Not IsNumeric(eingabe) Then MsgBox ("Kaufpreis muß eine Zahl sein!") fehler = True Exit Sub End If immobilienpreis = CDbl(eingabe) eingabe = InputBox("Geben Sie nun ihr Eigenkapital ein!") If Not IsNumeric(eingabe) Then MsgBox ("Eigenkapital muß eine Zahl sein!") fehler = True Exit Sub End If eigenkapital = CDbl(eingabe) eingabe = InputBox("Geben Sie nun ihre Zinsklasse ein!") If Not IsNumeric(eingabe) Then MsgBox ("Zinsklasse muß eine Zahl sein!") fehler = True Exit Sub End If zinsKlasse = CInt(eingabe) End Sub Sub fuehre_Berechnungen_durch(ByVal eigenkapital As Double, _ ByVal immobilienpreis As Double, _ ByVal zinsKlasse As Integer, _ monatlicheBelastung As Double, _ fehler As Boolean) Const zinsKlasse1 As Double = 5.5 Const zinsKlasse2 As Double = 5.3 Const zinsKlasse3 As Double = 5.2 Const zinsKlasse4 As Double = 5# Const zinsKlasse5 As Double = 4.5 fehler = False fehler = berechne_Eigenkapitalquote(eigenkapital, _ immobilienpreis, fehler) If fehler Then Exit Sub End If Select Case zinsKlasse Case 1 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse1) Case 2 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse2) Case 3 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse3) Case 4 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse4) Case 5 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse5) Case Else MsgBox ("Sie haben eine falsche Zinsklasse eingegeben! " & _ "Zinsklasse muß kleiner gleich 5 sein!") fehler = True Exit Sub End Select End Sub |
Option Explicit Sub zinsberechnung() ' Programm berechnet die monatliche Belastung ' bei einzugebendem Kaufpreis und Eigenkapital ' Dateiname: funktionen12 Dim eingabe As String Dim eigenkapital As Double Dim immobilienpreis As Double Dim aufzunehmenderBetrag As Double Dim monatlicheBelastung As Double Dim zinsKlasse As Integer Dim fehler As Boolean MsgBox ("Bitte geben Sie Ihr Eigenkapital und den " _ & Chr$(13) & "Kaufpreis ein, sowie die Ihnen zugeteilte" _ & Chr$(13) & " Zinsklasse ein! Sie beenden das Programm," _ & Chr$(13) & " indem Sie beenden als Kaufpreis angeben") eingabe = InputBox("Geben Sie jetzt den Kaufpreis ein!") Do While eingabe <> "beenden" Lies_restliche_und_ueberpruefe_alle_Benutzereingaben eingabe, _ immobilienpreis, _ eigenkapital, _ zinsKlasse, _ fehler If fehler Then Exit Sub End If fuehre_Berechnungen_durch eigenkapital, immobilienpreis, _ zinsKlasse, monatlicheBelastung, fehler If fehler Then Exit Sub End If ' Gib Ergebnisse aus MsgBox ("Ihre monatliche Belastung ist: " & monatlicheBelastung & " DM") eingabe = InputBox("Geben Sie jetzt den Kaufpreis ein!") Loop End Sub Function berechne_Eigenkapitalquote(ByVal eigenkapital As Double, _ ByVal immobilienpreis As Double) _ As Boolean Dim eigenkapitalquote As Double berechne_Eigenkapitalquote = False eigenkapitalquote = (eigenkapital / immobilienpreis) * 100 If eigenkapitalquote < 30 Then MsgBox ("Ihre Eigenkapitalquote " & eigenkapitalquote & _ "% ist zu niedrig!") berechne_Eigenkapitalquote = True Exit Function End If End Function Function Monatliche_Belastung_berechnen(ByVal immobilienpreis As Double, _ ByVal eigenkapital As Double, _ ByVal zinsKlasse As Integer) _ As Double Const tilgung As Double = 1 Dim aufzunehmenderBetrag As Double Dim jahresBelastung As Double Dim eigenkapitalquote As Double aufzunehmenderBetrag = immobilienpreis - eigenkapital jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse + tilgung) Monatliche_Belastung_berechnen = jahresBelastung / 12 End Function Sub Lies_restliche_und_ueberpruefe_alle_Benutzereingaben(ByVal eingabe As String, _ immobilienpreis As Double, _ eigenkapital As Double, _ zinsKlasse As Integer, _ fehler As Boolean) fehler = False wandle_in_Double_um eingabe, immobilienpreis, fehler If (fehler) Then Exit Sub End If eingabe = InputBox("Geben Sie nun ihr Eigenkapital ein!") wandle_in_Double_um eingabe, eigenkapital, fehler If (fehler) Then Exit Sub End If eingabe = InputBox("Geben Sie nun ihre Zinsklasse ein!") wandle_in_Integer_um eingabe, zinsKlasse, fehler If (fehler) Then Exit Sub End If End Sub Sub wandle_in_Double_um(ByVal eingabe As String, rueckgabe As Double, _ fehler As Boolean) fehler = False If Not IsNumeric(eingabe) Then MsgBox ("Der von Ihnen eingegebene Wert muß eine Zahl sein!") fehler = True Exit Sub End If rueckgabe = CDbl(eingabe) End Sub Sub wandle_in_Integer_um(ByVal eingabe As String, rueckgabe As Integer, _ fehler As Boolean) fehler = False If Not IsNumeric(eingabe) Then MsgBox ("Der von Ihnen eingegebene Wert muß eine Zahl sein!") fehler = True Exit Sub End If rueckgabe = CInt(eingabe) End Sub Sub fuehre_Berechnungen_durch(ByVal eigenkapital As Double, _ ByVal immobilienpreis As Double, _ ByVal zinsKlasse As Integer, _ monatlicheBelastung As Double, _ fehler As Boolean) Const zinsKlasse1 As Double = 5.5 Const zinsKlasse2 As Double = 5.3 Const zinsKlasse3 As Double = 5.2 Const zinsKlasse4 As Double = 5# Const zinsKlasse5 As Double = 4.5 fehler = False fehler = berechne_Eigenkapitalquote(eigenkapital, _ immobilienpreis, fehler) If fehler Then Exit Sub End If Select Case zinsKlasse Case 1 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse1) Case 2 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse2) Case 3 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse3) Case 4 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse4) Case 5 monatlicheBelastung = Monatliche_Belastung_berechnen( _ immobilienpreis, eigenkapital, zinsKlasse5) Case Else MsgBox ("Sie haben eine falsche Zinsklasse eingegeben! " & _ "Zinsklasse muß kleiner gleich 5 sein!") fehler = True Exit Sub End Select End Sub |