Jeo Posted March 27, 2015 Report Share Posted March 27, 2015 Pues bueno estoy aprendiendo C# y bueno en este Debes iniciar sesión para ver el contenido del enlace en esta publicación. vi los ciclos while's y al final suelen dar ejercicios y los etsaba haciendo y vi este: En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500, realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos empleados cobran entre $100 y $300 y cuántos cobran más de $300. Además el programa deberá informar el importe que gasta la empresa en sueldos al personal. Es bastante sencillo, y yo hice esto: float sueldos; int empleados; float total = 0; int x; x = 0; String linea; String linea2; Console.Write("Cuantos empleados son? :"); linea = Console.ReadLine(); empleados = int.Parse(linea); while(x <= empleados); { Console.WriteLine("Dime un Sueldo: "); linea2 = Console.ReadLine(); sueldos = float.Parse(linea2); if(sueldos < 300 ) { Console.WriteLine("Cobra menos de 300 euros"); } else { Console.WriteLine("Cobra más de 300 euros"); } total = total + sueldos; x = x+1; } Console.WriteLine("La empresa se gasta "+total+" Euros en sueldos de empleados"); luego volvi a leer el problema y me di cuenta que no hice exactamente lo que pedía el problema peor bueno, el caso es que no ejecuta el ciclo while y no da errores. ¿Alguien tiene idea de cual es el fallo?He visto el ejercicio resuelto y no es muy diferente al mio. PD: Se que es C# que no tiene nada que ver con metin2, pero vamos que es muy muy parecido a java y es algo básico, en cualquier lenguaje hay whiles e if's xD Link to comment Share on other sites More sharing options...
PACI Posted March 27, 2015 Report Share Posted March 27, 2015 while(x <= empleados); No soy experto en C#, pero no será este el problema? En C++ para hacer un while-loop no le pones el ; al final: while (x <= empleados) { // do smth } Por cierto, no indicas q tipo de var es la variable sueldos. Jeo 1 Link to comment Share on other sites More sharing options...
pepineitor Posted March 27, 2015 Report Share Posted March 27, 2015 Supongo que float total = 0; debería ser float total; total = 0; falta indicar tipo de variable sueldos int sueldos; En cuanto al bucle, creo que no te lo ejecuta porque a while(x <= empleados); le sobra el ';' En cuanto al ejercicio, la parte de los sueldos tienes algun error de planteamiento ya que no pide mostar si el empleado cobra más o menos, sino cuantos empleados cobran x e y. Jeo 1 Link to comment Share on other sites More sharing options...
Jeo Posted March 27, 2015 Author Report Share Posted March 27, 2015 Cierto cierto las ; el vs no me lo indicó como error y me despisté xD Y sueldos la tenía declarada como float. Supongo que float total = 0; debería ser float total; total = 0; Me puede alguien decir el por que hay que ponerlo de esa manera, incluso la variable x si que le di valor de esa manera xD pero no se puede asiganr un valor directamente? Y si Pepineitor, tube un error de planteamiento del problema por no leerlo detenidamente Thank u Link to comment Share on other sites More sharing options...
pepineitor Posted March 27, 2015 Report Share Posted March 27, 2015 Cierto cierto las ; el vs no me lo indicó como error y me despisté xD Y sueldos la tenía declarada como float. Me puede alguien decir el por que hay que ponerlo de esa manera, incluso la variable x si que le di valor de esa manera xD pero no se puede asiganr un valor directamente? Y si Pepineitor, tube un error de planteamiento del problema por no leerlo detenidamente Thank u No se puede asignar directamente porque la sintaxis no lo permite, primero se declaran las variable y luego se les asigna el valor. Lo que si se puede hacer, si no me equivoco: int sueldos, total, otravariable; Y luego, en la parte que tu quieras del código les asignas el valor. Jeo 1 Link to comment Share on other sites More sharing options...
Jeo Posted March 27, 2015 Author Report Share Posted March 27, 2015 Ah vale, entendido #Solved. Link to comment Share on other sites More sharing options...
Recommended Posts