unterricht vom 22.11.
This commit is contained in:
@ -4,6 +4,10 @@ class kunde {
|
|||||||
kunde([string]$name) {
|
kunde([string]$name) {
|
||||||
$this.name = $name
|
$this.name = $name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kunde([string]$vorname, [string]$nachname) {
|
||||||
|
$this.name = $vorname + " " + $nachname
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class konto {
|
class konto {
|
||||||
@ -11,7 +15,7 @@ class konto {
|
|||||||
[double]$guthaben
|
[double]$guthaben
|
||||||
[datetime]$erstelldatum
|
[datetime]$erstelldatum
|
||||||
|
|
||||||
static ueberweisen([konto]$von, [konto]$nach, [double]$menge) {
|
static überweisen([konto]$von, [konto]$nach, [double]$menge) {
|
||||||
$stand_von = $von.guthaben
|
$stand_von = $von.guthaben
|
||||||
$stand_nach = $nach.guthaben
|
$stand_nach = $nach.guthaben
|
||||||
try {
|
try {
|
||||||
@ -25,8 +29,8 @@ class konto {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ueberweisen([konto]$nach, [double]$menge) {
|
überweisen([konto]$nach, [double]$menge) {
|
||||||
[konto]::ueberweisen($this, $nach, $menge)
|
[konto]::überweisen($this, $nach, $menge)
|
||||||
}
|
}
|
||||||
|
|
||||||
konto([kunde]$kunde) {
|
konto([kunde]$kunde) {
|
||||||
@ -58,8 +62,8 @@ class konto {
|
|||||||
|
|
||||||
class bank {
|
class bank {
|
||||||
[string]$name
|
[string]$name
|
||||||
[System.Collections.Generic.List[konto]]$konten
|
[System.Collections.Generic.List[konto]]$konten = @()
|
||||||
[System.Collections.Generic.List[kunde]]$kunden
|
[System.Collections.Generic.List[kunde]]$kunden = @()
|
||||||
|
|
||||||
bank([string]$name) {
|
bank([string]$name) {
|
||||||
$this.name = $name
|
$this.name = $name
|
||||||
@ -73,8 +77,8 @@ class bank {
|
|||||||
$konto.einzahlen($menge)
|
$konto.einzahlen($menge)
|
||||||
}
|
}
|
||||||
|
|
||||||
überweisen([konto]$von, [konto]$nach, [double]menge) {
|
überweisen([konto]$von, [konto]$nach, [double]$menge) {
|
||||||
$konto.überweisen($nach, $menge)
|
$von.überweisen($nach, $menge)
|
||||||
}
|
}
|
||||||
|
|
||||||
[kunde]neukunde([string]$vorname, [string]$nachname) {
|
[kunde]neukunde([string]$vorname, [string]$nachname) {
|
||||||
@ -89,4 +93,60 @@ class bank {
|
|||||||
return $konto
|
return $konto
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
[void]übersicht() {
|
||||||
|
foreach ($kunde in $this.kunden) {
|
||||||
|
Write-Host $kunde.name
|
||||||
|
foreach ($konto in $this.konten) {
|
||||||
|
if ($konto.kunde -eq $kunde) {
|
||||||
|
Write-Host $konto.guthaben
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class cui {
|
||||||
|
[int]$state = 0
|
||||||
|
[bank]$bank
|
||||||
|
|
||||||
|
cui() {
|
||||||
|
$this.bank = [bank]::new("defaultbank")
|
||||||
|
}
|
||||||
|
|
||||||
|
[konto]select_konto([string]$use) {
|
||||||
|
Write-Host "Wähle ein Konto" $use
|
||||||
|
for ($i = 0; $i -lt $this.bank.konten.count; $i += 1) {
|
||||||
|
Write-Host "Konto" $i "("$this.bank.konten[$i].guthaben") von" $this.bank.konten[$i].kunde.name
|
||||||
|
}
|
||||||
|
return $this.bank.konten[$(Read-Host "Auswahl")]
|
||||||
|
}
|
||||||
|
|
||||||
|
run() {
|
||||||
|
$bname = Read-Host "Wähle einen Banknamen:"
|
||||||
|
$this.bank = [bank]::new($bname)
|
||||||
|
while ($this.state -ne -1) {
|
||||||
|
Write-Host "Wähle eine Aktion aus:"
|
||||||
|
Write-Host "1: Kunde anlegen"
|
||||||
|
Write-Host "2: Konto anlegen"
|
||||||
|
Write-Host "3: Einzahlen"
|
||||||
|
Write-Host "4: Auszahlen"
|
||||||
|
Write-Host "5: Überweißen"
|
||||||
|
Write-Host "0: Beenden"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#Tests
|
||||||
|
$bank = [bank]::new("Benannte Bank")
|
||||||
|
$kunde1 = $bank.neukunde("Kunde", "Kundengesicht")
|
||||||
|
$konto1 = $bank.konto_erstellen($kunde1)
|
||||||
|
$kunde2 = $bank.neukunde("Anderes", "Kundengesicht")
|
||||||
|
$konto2 = $bank.konto_erstellen($kunde2)
|
||||||
|
|
||||||
|
$bank.überweisen($konto1, $konto2, 150)
|
||||||
|
$bank.übersicht()
|
||||||
|
|
||||||
|
$cui = [cui]::new()
|
||||||
|
$cui.bank = $bank
|
||||||
|
$cui.select_konto("Test")
|
||||||
Reference in New Issue
Block a user