es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Bucle de entrada del usuario y suma de todas las entradas.

Necesitaba obtener el total de todos los productos ingresados por el usuario, pero no puedo hacerlo. Necesito pedirle al usuario que elija el producto y su cantidad y luego preguntarle al usuario si desea agregar más productos o pagarlos. El usuario volverá a ingresar el producto y su cantidad. Después de ello, el programa preguntará nuevamente si agregar o pagar. Cuando el usuario elige pagar, debería mostrar el monto total de los productos. Por último, el programa preguntará al usuario si desea utilizar el programa nuevamente, si no, se cerrará.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para calcular el total de todos los productos ingresados por el usuario, es necesario llevar un control del total a medida que se recorre cada iteración del bucle. Aquí se muestra cómo se puede modificar el código existente para lograr esto:

    “`c#
    int eleccion, cantidad, decidir, total = 0, precio; // inicializar total en 0
    string w = “BIENVENIDO “;
    Console.SetCursorPosition((Console.WindowWidth – w.Length) / 2, Console.CursorTop);
    Console.WriteLine(w);
    Console.WriteLine(“”);

    System.Threading.Thread.Sleep(2000);

    string p = “¡ESTOS SON NUESTROS PRODUCTOS! “;
    Console.SetCursorPosition((Console.WindowWidth – p.Length) / 2, Console.CursorTop);
    Console.WriteLine(p);
    System.Threading.Thread.Sleep(2000);

    string[] productos = { “[1]BLACKPINK Lightstick “, “[2]DREAMCATCHER Seasons Greetings”,
    “[3]RED VELVET Summer Package”};

    for (int g = 0; g < productos.Length; g++)
    {
    Console.WriteLine(productos[g]);
    }

    while (true) // bucle infinito hasta que el usuario decida salir
    {
    Console.Write(“Elige tu producto: “);
    eleccion = int.Parse(Console.ReadLine());
    switch (eleccion)
    {
    case 1:
    Console.WriteLine(“BLACKPINK Lightstick 1500 php”);
    precio = 1500;
    break;

        case 2:
            Console.WriteLine("DREAMCATCHER Seasons Greetings 920 php");
            precio = 920;
            break;
    
        case 3:
            Console.WriteLine("RED VELVET Summer Package 980 php");
            precio = 980;
            break;
    
        default: // si la elección no es 1, 2 o 3, salir del programa
            Console.WriteLine("Elección inválida. Saliendo del programa.");
            return; 
    }
    
    Console.WriteLine("Cantidad del producto: ");
    cantidad = int.Parse(Console.ReadLine());
    
    total += precio * cantidad; // agregar el precio del producto actual al total
    
    Console.WriteLine("[1] Agregar más productos \t [2] Pagar: ");
    decidir = int.Parse(Console.ReadLine());
    
    if (decidir == 2)
    {
        Console.WriteLine($"Precio total: {total} php");
        Console.WriteLine("¡Gracias por comprar!");
        Console.WriteLine("¿Quieres usar el programa de nuevo? [s/n]: ");
        string respuesta = Console.ReadLine();
        if (respuesta.ToLower() != "s") // salir del programa si el usuario no quiere continuar
        {
            return;
        }
        else // resetear el total a 0 y empezar de nuevo
        {
            total = 0;
        }
    }
    

    }
    “`

    En el código modificado, se utiliza un bucle infinito para seguir pidiéndole al usuario que ingrese datos hasta que decida salir del programa. La variable total se inicializa en 0 al principio y se incrementa con el precio de cada producto a medida que el usuario hace sus selecciones. Cuando el usuario decide pagar, se imprime el total y se le pregunta si quiere usar el programa de nuevo. Si la respuesta es “s”, el total se reinicia a 0 y el bucle empieza de nuevo. Si la respuesta es cualquier otra cosa, el programa sale.

Comments are closed.