Feladat: Egyszerű tárgylista kezelő – Készíts egy programot, ami segít kezelni egy bevásárlólistát vagy teendőlistát.

# Lista inicializálása
$lista = @()

function ElemHozzaadasa {
    param ([string]$elem)
    $global:lista += $elem
    Write-Host "'$elem' hozzáadva a listához."
}

function ElemTorlese {
    param ([string]$elem)
    $global:lista = $global:lista | Where-Object { $_ -ne $elem }
    Write-Host "'$elem' törölve a listából."
}

function ListaMegjelenitese {
    Write-Host "Jelenlegi lista tartalma:"
    $global:lista | ForEach-Object { Write-Host "- $_" }
}

function Menu {
    do {
        Write-Host "1. Elem hozzáadása"
        Write-Host "2. Elem törlése"
        Write-Host "3. Lista megjelenítése"
        Write-Host "4. Kilépés"
        $valasztas = Read-Host "Válasszon egy opciót"
        
        switch ($valasztas) {
            "1" {
                $elem = Read-Host "Adja meg a hozzáadandó elemet"
                ElemHozzaadasa $elem
            }
            "2" {
                $elem = Read-Host "Adja meg a törlendő elemet"
                ElemTorlese $elem
            }
            "3" {
                ListaMegjelenitese
            }
            "4" {
                Write-Host "Viszlát!"
                break
            }
            default {
                Write-Host "Érvénytelen választás"
            }
        }
    } while ($valasztas -ne "4")
}

# Program indítása
Menu

Ebben a scriptben:

  • Egy globális változót használunk ($lista), amely kezdetben üres, és a listánk elemeit fogja tartalmazni.
  • A ElemHozzaadasa függvény hozzáad egy elemet a listához.
  • A ElemTorlese függvény eltávolít egy elemet a listáról.
  • A ListaMegjelenitese függvény kiírja a jelenlegi lista tartalmát.
  • A Menu függvény egy egyszerű menüt jelenít meg, amely lehetővé teszi a felhasználó számára, hogy válasszon a listakezelési opciók közül: elem hozzáadása, elem törlése, lista megjelenítése, vagy kilépés a programból.