none
Error 1 Use of unassigned local variable 'puesto2 RRS feed

  • Pregunta

  •  static void Main(string[] args)
            {
                int nume,sueldo, puesto2;
                string nom, puesto,infonavit;

                Console.Write("Ingrese el numero de empleado: ");
                nume = int.Parse(Console.ReadLine());
                Console.Write("Ingrese el nombre del empleado: ");
                nom = Console.ReadLine();               
                Console.Write("Ingrese su puesto: ");
                puesto = Console.ReadLine();
                if (puesto == "Gerente") { puesto2 = 35458; }
                if(puesto=="Supervisor") { puesto2= 17698;  }
                if(puesto=="Ejecutivo")  { puesto2= 9500;   }
                if(puesto=="Otro")       { puesto2= 4058;   }            
                Console.Write("¿Cuenta con credito Infonavit? SI o NO ");
                infonavit = Console.ReadLine();
                if(infonavit=="SI")
                {

                    sueldo =  puesto2 * 20 / 100 + puesto2; AQUI ES DONDE MARCA ESE ERROR Y NO SE COMO CORREGIRLO
                    Console.Write("Salario quincenal es: "+ puesto2);
                    Console.Write("El descuento seria de: ");
                    Console.Write("Salario neto a pagar es: " + puesto2);
                }
                Console.Read();
            }

    viernes, 23 de febrero de 2018 19:25

Respuestas

  • Hola.

    Ese error te aparece porque estas declarando un variable a la cual no le estas asignado ningún valor una de las soluciones es declarar las variables como private static o Asignarle un valor por defecto puesto2=0

     private static int nume, sueldo, puesto2;
     private static string nom, puesto, infonavit;
            static void Main(string[] args)
            {
                
    
                Console.Write("Ingrese el numero de empleado: ");
                nume = int.Parse(Console.ReadLine());
                Console.Write("Ingrese el nombre del empleado: ");
                nom = Console.ReadLine();
                Console.Write("Ingrese su puesto: ");
                puesto = Console.ReadLine();
                if (puesto == "Gerente") { puesto2 = 35458; }
                if (puesto == "Supervisor") { puesto2 = 17698; }
                if (puesto == "Ejecutivo") { puesto2 = 9500; }
                if (puesto == "Otro") { puesto2 = 4058; }
                Console.Write("¿Cuenta con credito Infonavit? SI o NO ");
                infonavit = Console.ReadLine();
                if (infonavit == "SI")
                {
    
                    sueldo = puesto2 * 20 / 100 + puesto2;// AQUI ES DONDE MARCA ESE ERROR Y NO SE COMO CORREGIRLO
                    Console.Write("Salario quincenal es: " + puesto2);
                    Console.Write("El descuento seria de: ");
                    Console.Write("Salario neto a pagar es: " + puesto2);
                }
                Console.Read();
            }

    Espero te sirva de ayuda.

    Saludos.



    • Editado osrol viernes, 23 de febrero de 2018 20:11
    • Marcado como respuesta monkeeneitor viernes, 23 de febrero de 2018 21:49
    viernes, 23 de febrero de 2018 20:09