Skip to content

Latest commit

 

History

History
88 lines (70 loc) · 2.06 KB

File metadata and controls

88 lines (70 loc) · 2.06 KB

ASIR2.ASO.Script_Powershell_18.ps1

Objetivo

Crear una tabla hash que contenga el siguiente par de valores:

Titulo → será la clave de la tabla hash
	Valor →  será una tabla, con los siguientes datos:
		Autor, Editorial, Número de páginas, Precio, Género

Por ejemplo
$libros = @{"El Quijote"=@("Miguel de Cervantes","Planeta",1345,18.5,"Caballeria"); 
"La Fundación"=@("Isaac Asimov","ERB",130,10.4,"Ciencia Ficción");
"El señor de los anillos"=@("J.R.R. Tolkien","Planeta",3201,54,"Fantasia");
"Ala de dragón"=@("Margareth Weis","Timun Mas",385,28,"Fantasia")} 

Se pide:
-	Añadir nuevos libros a la tabla
-	Mostrar todos los datos de los libros contenidos en la tabla
-	Mostrar el título de los libros de un género solicitado por teclado

Código

function falta(){
    $lib = @()
    $titulo    = Read-Host("título")
    $autor     = Read-Host("Autor")
    $editorial = Read-Host("Editorial")
    $paginas   = Read-Host("Número de páginas")
    $precio    = Read-Host("Precio")
    $genero    = Read-Host("Género")

    $lib += $autor
    $lib += $editorial
    $lib += $paginas
    $lib += $precio
    $lib += $genero

    $libros.Add($titulo,$lib)

    Write-Host($libros | Out-String)
    $x = Read-Host(" ")
}

function flibros(){
    foreach ($clave in $libros.Keys){
        Write-Host $clave
        for ($i = 0; $i -lt $libros[$clave].Count;$i++){
            Write-Host $libros[$clave][$i]
        }
        Write-Host "--------------------------"
    }
    $x = Read-Host(" ")
}

function fgenero(){
    $genero = Read-Host("Género")
    foreach ($clave in $libros.Keys){
        if ($libros[$clave][4] -ieq $genero){
            Write-Host $clave
            }
    }
  $x = Read-Host(" ")
}

$op = 0
While ($op -ne 4){
    Write-Host "1. Añadir libros"
    Write-Host "2. Mostrar datos de libros"
    Write-Host "3. Mostrar libros por género"
    Write-Host "4. Salir"

    $op = Read-Host("Seleccione opción")

    Write-Host($libros | Out-String)

    switch ($op){
        1 {falta}
        2 {flibros}
        3 {fgenero}
    }
}