Advertisement
TeRackSito

nao

Dec 21st, 2023
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. function CheckType ($dato, [type]$tipo){
  2. switch ($tipo){
  3. int {
  4. if ($dato -as $tipo){
  5. return [int]$dato
  6. }
  7. else{
  8. write-host "Menos luces que una patera"
  9. $dato = read-host "Ahora que sea un número porfa "
  10. CheckType $dato int
  11. }
  12. }
  13.  
  14. string {
  15. if ($dato -as [int]){
  16. write-host "Menos luces que una patera"
  17. $dato = read-host "Ahora que sea texto porfa "
  18. CheckType $dato string
  19. }
  20. else{
  21. return [string]$dato
  22. }
  23. }
  24.  
  25. }
  26. }
  27.  
  28. function CalcularRetencion ($empleado){
  29. if ($empleado -gt 50000){
  30. $retencion = $empleado * 0.2
  31. }
  32.  
  33. else{
  34. $retencion = $empleado * 0.1
  35. }
  36.  
  37. return $retencion
  38.  
  39. }
  40.  
  41. function Categoria ($empleado){
  42. if ($emplado -lt 40000) {
  43. $cat ='BAJA'
  44. }
  45.  
  46. elseif ($emplado -gt 40000 -and $empleado -lt 70000) {
  47. $cat = 'MEDIA'
  48. }
  49. else {
  50. $cat = 'ALTA'
  51. }
  52.  
  53. return $cat
  54. }
  55.  
  56. function CargarEmpleado{
  57. $seguir = $true
  58. while ($seguir){
  59.  
  60. $nombre = (CheckType -dato (read-host "Nombre del empleado ") -tipo string).ToUpper()
  61.  
  62. $edad = CheckType -dato (read-host "Edad del empleado ") -tipo int
  63.  
  64. $sueldo = CheckType -dato (read-host "Sueldo del empleado ") -tipo int
  65.  
  66. $retencion = CalcularRetencion -empleado $sueldo
  67. $categoria = Categoria -empleado $sueldo
  68.  
  69. $empleados = [ordered]@{
  70.  
  71. NOMBRE = $nombre;
  72.  
  73. "EDAD $nombre" = $edad;
  74.  
  75. "SUELDO $nombre" = $sueldo;
  76.  
  77. "RETENCION $nombre" = $retencion;
  78.  
  79. "CATEGORIA $nombre" = "$categoria";
  80.  
  81. "--------" = ''
  82. }
  83.  
  84. [array]$todos += $empleados
  85.  
  86.  
  87. if ((Read-Host "Quieres añadir otro empleado? (S/N) ") -eq 'N'){
  88. $seguir = $false
  89. }
  90.  
  91. else{
  92.  
  93. }
  94. }
  95. return $todos
  96. }
  97.  
  98. write-output (CargarEmpleado)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement