Ayuda con c# Console aplication

Publicado en 'Programación' por joel094, 4 May 2013.





  1. joel094

    joel094 Miembro frecuente

    Registro:
    14 Oct 2012
    Mensajes:
    213
    Likes:
    7




    Buen dia tengo un trabajo de 20 problemas solo me falta este no me sale =( recien estamos en lo nasico pero el profesor nos dejo esta tarea y hay temas que aun no emos echo pero bueno espero que alguien me pueda ayudar

    Un distribuidor de material eléctrico vende alambre en rollos de 500, 300 y 75 metros. Escriba un programa en lenguaje de Programación C# que pida al usuario, la longitud total de alambres en metros que se requiere e imprima la menor cantidad de rollos de alambre de 500, 300 y 75 metros y el número de metros de alambre que tendría el ultimo rollo

    solo emos tenido 4 clases osea estamos en basico U.u ayuda porfavor
     


  2. eduar2083

    eduar2083 Miembro frecuente

    Registro:
    26 Jul 2011
    Mensajes:
    224
    Likes:
    46
    Hola. El algoritmo es simple, sólo se tiene que dividir e ir aplicando residuo.
    Código:
    int totalMetros;
    int resto;
    int r500;
    int r300;
    int r75;
    
    leer totalMetros;
    
    r500 = totalMetros / 500;
    resto = totalMetros % 500;
    
    r300 = resto / 300;
    resto = resto % 300;
    
    r75 = resto / 75;
    resto = resto % 75;
    
    imprimir r500, r300, r75, resto
    
    Saludos.
     
    Última edición: 4 May 2013
  3. joel094

    joel094 Miembro frecuente

    Registro:
    14 Oct 2012
    Mensajes:
    213
    Likes:
    7
    grcias por su respuesta me dio una buena idea y lo hice asi
    static void solucion10()
    {
    int a, b, c, d, x = 0, z = 0, y = 0,l=0;
    Console.WriteLine("Ingrese numero de emtros");
    a = int.Parse(Console.ReadLine());
    b = 500;
    c = 300;
    d = 75;

    if (b <= a && c <= a && d <= a)
    x = a / b;
    a = a - (b * x);
    y = a / c;
    a = a - (c * y);
    z = a / d;
    l = a - (d * z);



    Console.WriteLine("El numero de rollos de alambre de 500m:{0}",x);
    Console.WriteLine("El numero de rollos de alambre de 300m:{0}",y);
    Console.WriteLine("El numero de rollos de alambre de 75m:{0}",z);
    Console.WriteLine("El nultimo rollo de alambre tendra :{0}",l+"metro(s)");
    Console.ReadKey();
    }

    no ovlides que el ultimo me pide cuantos metros tendra el ultimo rollo =) gracias
     
    Última edición: 4 May 2013
  4. eduar2083

    eduar2083 Miembro frecuente

    Registro:
    26 Jul 2011
    Mensajes:
    224
    Likes:
    46
    Hola. Acostúmbrate a utilizar nombres de identificadores significativos, de esa manera será más sencillo de comprender el código, es bien sabido que es una buena práctica de programación.
    Código:
    using System;
    using System.IO;
    
    namespace TestAlambre
    {
        class Program
        {
            static void Main(string[] args)
            {
                int totalMetros;
                int resto;
                int r500;
                int r300;
                int r75;
    
                Console.Write("Ingrese metros: ");
                totalMetros = Convert.ToInt32(Console.ReadLine());
    
                r500 = totalMetros / 500;
                resto = totalMetros % 500;
    
                r300 = resto / 300;
                resto = resto % 300;
    
                r75 = resto / 75;
                resto = resto % 75;
    
                Console.WriteLine("\n{0} metros de puede repartir en:\n\n" +
                                  "{1} rollos de 500 metros\n" +
                                  "{2} rollos de 300 metros\n" +
                                  "{3} rollos de 75 metros\n" +
                                  "Sobrando {4} metros\n", totalMetros, r500, r300, r75, resto);
    
                Console.ReadKey();
            }
        }
    }
    
    Como ves no se necesita ninguna condición, no al menos para el proceso de cálculo.

    Claro el último rollo podría ser el de 500, 300, 75 o resto; en este último caso cuando la repartición no sea exacta.
     
    A San Diablo le gustó este mensaje.