Skip to content

MarlonRobertoGomez/Laboratorio-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Laboratorio-1

int opcion; do { Console.Clear(); Console.WriteLine("Menú De La Lotería"); Console.WriteLine("1. Venta Diario"); Console.WriteLine("2. Venta Semanal"); Console.WriteLine("3. Venta Mensual"); Console.WriteLine("4. Juego Diario"); Console.WriteLine("5. Juego Semanal"); Console.WriteLine("6. Juego Mensual"); Console.WriteLine("7. Salir"); Console.Write("Seleccione una opción: ");

if (!int.TryParse(Console.ReadLine(), out opcion))
{
    Console.WriteLine(" Hay un error. Intente de nuevo.");
    Console.ReadLine();
    continue;
}

switch (opcion)
{
    case 1: VenderDiario(); break;
    case 2: VenderSemanal(); break;
    case 3: VenderMensual(); break;
    case 4: JuegoDiario(); break;
    case 5: JuegoSemanal(); break;
    case 6: JuegoMensual(); break;
    case 7: Console.WriteLine("Saliendo de la opciones..."); break;
    default: Console.WriteLine(" Esta Opción no es válida por favor Ingresa otra vez."); break;
}

Console.WriteLine("\n Presione Enter para continuar para jugar o venta......");
Console.ReadLine();

} while (opcion != 7); }

    static void VenderDiario()

{ Console.Write("\n Ingrese el nombre comprador o compradora: "); string nombre = Console.ReadLine();

if (ventasDiarias.ContainsKey(nombre))
{
    Console.WriteLine("Este nombre ya ha comprado un boleto diario.");
    return;
}

List<int> numeros = ObtenerNumeros(5);
ventasDiarias[nombre] = numeros;
Console.WriteLine($"Venta registrada para {nombre}: {string.Join(", ", numeros)}");

}

static void VenderSemanal() { Console.Write("\n Ingrese el nombre comprador o compradora:: "); string nombre = Console.ReadLine();

if (ventasSemanales.ContainsKey(nombre))
{
    Console.WriteLine("Este nombre de esta persona ya ha comprado un boleto semanal.");
    return;
}

List<int> numeros = ObtenerNumeros(2);
ventasSemanales[nombre] = numeros;
Console.WriteLine($" Esta Venta ya se encuentra registrada: {nombre}: {string.Join(", ", numeros)}");

}

static void VenderMensual() { Console.Write("\n Ingrese el nombre comprador o compradora:: "); string nombre = Console.ReadLine();

if (ventasMensuales.ContainsValue(nombre))
{
    Console.WriteLine("Este nombre de esta persona ya ha comprado un boleto semanal.");
    return;
}

int num;
do
{
    Console.Write("Ingrese un número único (0-100): ");
} while (!int.TryParse(Console.ReadLine(), out num) || num < 0 || num > 100 || ventasMensuales.ContainsKey(num));

ventasMensuales[num] = nombre;
Console.WriteLine($" Esta Venta ya se encuentra registrada:  {nombre}: Número {num}");

}

static List ObtenerNumeros(int cantidad) { List numeros = new List(); while (numeros.Count < cantidad) { Console.Write($"Ingrese el número {numeros.Count + 1} (0-100): "); if (int.TryParse(Console.ReadLine(), out int num) && num >= 0 && num <= 100 && !numeros.Contains(num)) { numeros.Add(num); } else { Console.WriteLine("Hay un error. Intenta de nuevo ."); } } return numeros; }

static void JuegoDiario() { Console.WriteLine("\n JUEGO DIARIO "); HashSet ganadores = GenerarNumerosGanadores(5); Console.WriteLine($" Los Números ganadores son: {string.Join(", ", ganadores)}");

List<string> ganadoresLista = new List<string>();
foreach (var jugador in ventasDiarias)
{
    int aciertos = jugador.Value.FindAll(n => ganadores.Contains(n)).Count;
    if (aciertos >= 3)
    {
        int premio = aciertos == 3 ? 5000 : aciertos == 4 ? 10000 : 100000;
        ganadoresLista.Add($"{jugador.Key} acertó {aciertos} números y gana {premio} Lps");
    }
}

Console.WriteLine(ganadoresLista.Count > 0 ? string.Join("\n", ganadoresLista) : "  Lo sentimos no hubo ganador en el sorteo sigue participando.");

}

static void JuegoSemanal() { Console.WriteLine("\n JUEGO SEMANAL "); int num1 = random.Next(0, 101); int num2 = random.Next(0, 101); Console.WriteLine($"Números ganadores: {num1}, {num2}"); }

static void JuegoMensual() { Console.WriteLine("\n JUEGO MENSUAL "); int numeroGanador = random.Next(0, 101); Console.WriteLine($"Número ganador: {numeroGanador}");

if (ventasMensuales.ContainsKey(numeroGanador))
{
    Console.WriteLine($"{ventasMensuales[numeroGanador]} es el ganador y recibe 10,000 Lps");
}
else
{
    Console.WriteLine("  Lo sentimos no hubo ganador en el sorteo sigue participando.");
}

}

static HashSet GenerarNumerosGanadores(int cantidad) { HashSet numeros = new HashSet(); while (numeros.Count < cantidad) { numeros.Add(random.Next(0, 101)); } return numeros; } } }

About

Tarea de Programacion II

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published