Ich hoffe, dass die Berechnung richtig ist
Na dann.
//*
Die Source
//*
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FileOperations
{
public enum FamilienStand
{
ledig,
verheiratet
}
#region Person Definition
class Person
{
public double Erziel = 0.00;
//Untersuchung
//–> Familienstand und Kinderanzahl die Bausparprämie ermittelt.
private string name;
public string Name
{
get { return name;}
set { name = value;}
}
private string vorname;
public string Vorname
{
get { return vorname; }
set { vorname = value; }
}
private FamilienStand status;
public FamilienStand Status
{
get { return status; }
set { status = value; }
}
private int kinderzahl;
public int Kinderzahl
{
get { return kinderzahl; }
set { kinderzahl = value; }
}
private Double einzahlung;
public double Einzahlung
{
get { return einzahlung; }
set {
einzahlung = value;
BerechnenDenErzielenPrämieBetrag();
}
}
public void BerechnenDenErzielenPrämieBetrag()
{
double Berechnungsbetrag = einzahlung;
double DadurchErhöhteMaximalPrämie = 14;
if (status == FamilienStand.ledig)
{
// Für alleinstehende ist so oder so nur eine Einzahlung bis 400€ Maximale
if (einzahlung > 400.00)
{
Console.WriteLine(„Er bekommt eine Prämie höchst 14% von seiner Einzahlung (maximal {0:00.00 EUR}“, 400.00);
Berechnungsbetrag = 400.00;
}
}
else
// Er ist verheiratet (Kindr???)
{
double MaximalEinzahlungsbetrag = 800.00;
// 800/ 100 = 8
// 2% von 800 = 16
DadurchErhöhteMaximalPrämie = 14 + (2 * kinderzahl);
// wenn er keine Kinder hat, dann hat er sowieso 14%
// OK!!!
if (einzahlung > MaximalEinzahlungsbetrag)
{
Console.WriteLine(„Prämie höchst {1}% von seiner Einzahlung (maximal {0:00.00 EUR}“, 800.00, DadurchErhöhteMaximalPrämie);
Berechnungsbetrag = MaximalEinzahlungsbetrag;
// Also maximal kann er nur 800.00€ einzahlen
// oder wird nur 800€ angerechnet
}
}
//Nun wird berechnet
Erziel = DadurchErhöhteMaximalPrämie * (Berechnungsbetrag / 100);
}
}
#endregion
// Beim Bausparen erhalten Verheiratete für jährliche Sparbeträge (Einzahlungen) bis zu 800€ eine Prämie, Alleinstehende nur für Sparleistungen bis zur Hälfte dieses Betrages. Die Prämie beträgt 14% des Sparbetrages. Für jedes Kind wird die Prämie um je 2% erhöht.
//–> Analysieren sie den mathematischen Hintergrund des Programms.
//–> Schreiben sie ein Programm, das nach Eingabe von Sparbetrag,
// Das Haupprogramm
class Program
{
static void Main(string[] args)
{
string Eingabe;
Person Er = new Person();
BEGIN:
Console.WriteLine(„Bitte geben Sie die Eckdaten der Person ein“);
Console.Write (" Name : „) ; Er.Name = Console.ReadLine();
Console.Write (“ VorName : „) ; Er.Vorname = Console.ReadLine();
Console.WriteLine (“ Familienstand (0 = ledig) / (1 = verheiratet) ");
int WiederholungZähler = 0;
Wiederholung:
Console.Write (" Familienstand : ") ; string c = Console.ReadLine();
switch ©
{
case „0“:
Er.Status = FamilienStand.ledig;
break;
case „1“:
Er.Status = FamilienStand.verheiratet;
break;
default:
if (WiederholungZähler == 3) {goto ENDE;}
WiederholungZähler++;
goto Wiederholung;
}
Console.Write(" Kind(er) : ") ; Eingabe = Console.ReadLine();
Er.Kinderzahl = int.Parse(Eingabe);
Console.Write(" Einzahlung : "); Eingabe = Console.ReadLine();
Er.Einzahlung = Convert.ToDouble(Eingabe);
Console.WriteLine( " Erziele Prämie = {0:00.00 EUR}", Er.Erziel);
Console.WriteLine("");
Console.WriteLine(„Wollen Sie noch ein Mal“);
Eingabe = Console.ReadLine();
if (
(Eingabe.StartsWith(„J“)) ||
(Eingabe.StartsWith(„j“))
)
{
Console.Clear();
goto BEGIN;
}
ENDE:
Console.WriteLine(„Aufwiedersehen“);
}
}
}