FUNDAMENTOS DE PROGRAMACION
Luis Arturo Sarmiento Aguilera
Ingeniería de Sistemas
Universidad Nacional Abierta y a Distancia (UNAD)
CEAD José Acevedo y Gómez
Bogotá D.C- Cundinamarca
12/03/2023
Tabla 2. Tabla de Requerimientos – Problema # 4
Identificación del Descripción Entradas Resultados
requerimiento (salidas)
RQ001 Permitir al cliente Cantidad de peras, Registra la cantidad
ingresar la cantidad manzanas, asignada en cada
de cada fruta que ciruelas, bananos y variable
desea comprar piñas que el cliente correspondiente
desea comprar
RQ002 Conocer el precio - Muestra el precio de la
de cada fruta fruta por unidad,
dependiendo de la
opción que haya
elegido
RQ003 Calcular el costo Cantidad de cada fruta Costo total de la
total de la compra que el compra
cliente desea comprar
y su precio respectivo
RQ004 Aplicar un Costo total de la Costo total de la
descuento del 10% compra compra con descuento
al costo
total de la compra
si ésta supera los
$20.000
RQ005 Mostrar el costo Costo total de la Costo total de la
total de la compra compra a pagar
compra al cliente con o sin descuento
Diagrama de flujo – Problema # 4
Código Fuente
//Nombre del estudiante: Luis Arturo Sarmiento Aguilera
// Grupo 268
// Programa: Compra Fruta
//Codigo fuente: Autoría propia
public class compraFruta
{
public static void Main()
{
//Las variables constantes reflejan que el precio de los productos no cambiarán durante el flujo de este
programa
const int pera = 450;
const int manzana = 560;
const int ciruela = 30;
const int banano = 80;
const int piña = 1000;
String opcion;
int percentOff = 10; // descuento del 10%
int discount; // realiza la formula del descuento
int discountedPrice; // Guarda el total con el descuento aplicado
bool opcionValida = false;
while (!opcionValida)
{
Console.WriteLine("Seleccion el numero de la fruta que desees comprar: ");
Console.WriteLine("1. Pera");
Console.WriteLine("2. Manzana");
Console.WriteLine("3. Ciruela");
Console.WriteLine("4. Banano");
Console.WriteLine("5. Piña");
Console.WriteLine("6. Salir");
opcion = Console.ReadLine();
switch (opcion)
{
case "1":
Console.WriteLine("Precio de la pera $450 c/u");
Console.WriteLine("¿Cuantas unidades de quieres?");
int cantPera = int.Parse(Console.ReadLine());
int pricePera = cantPera * pera;
if (pricePera >= 20000)
{
discount = (pricePera * percentOff) / 100;
discountedPrice = pricePera - discount;
Console.WriteLine("***Descuento del 10% aplicado por compras mayores a $20.000***");
Console.WriteLine("Tu saldo a pagar con descuento es: " + discountedPrice);
}
else
{
Console.WriteLine("Tu saldo a pagar es: " + pricePera);
}
opcionValida = true;
break;
case "2":
Console.WriteLine("Precio de la manzana $560 c/u");
Console.WriteLine("¿Cuantas unidades de quieres?");
int cantManz = int.Parse(Console.ReadLine()); //el metodo ReadLine() devuelve un string, entonces se
debe hacer un casting para convertir esta entrada a entero
int priceManz = cantManz * manzana;
if (priceManz >= 20000)
{
discount = (priceManz * percentOff) / 100;
discountedPrice = priceManz - discount;
Console.WriteLine("***Descuento del 10% aplicado por compras mayores a $20.000***");
Console.WriteLine("Tu saldo a pagar con descuento es: " + discountedPrice);
}
else
{
Console.WriteLine("Tu saldo a pagar es: " + priceManz);
}
opcionValida = true;
break;
case "3":
Console.WriteLine("Precio de la ciruela $30 c/u");
Console.WriteLine("¿Cuantas unidades quieres?");
int cantCir = int.Parse(Console.ReadLine());
int priceCir = cantCir * ciruela;
if (priceCir >= 20000)
{
discount = (priceCir * percentOff) / 100;
discountedPrice = priceCir - discount;
Console.WriteLine("***Descuento del 10% aplicado por compras mayores a $20.000***");
Console.WriteLine("Tu saldo a pagar con descuento es: " + discountedPrice);
}
else
{
Console.WriteLine("Tu saldo a pagar es: " + priceCir);
}
opcionValida = true;
break;
case "4":
Console.WriteLine("Precio de la banana $80 c/u");
Console.WriteLine("¿Cuantas unidades quieres?");
int cantBan = int.Parse(Console.ReadLine());
int priceBan = cantBan * banano;
if (priceBan >= 20000)
{
discount = (priceBan * percentOff) / 100;
discountedPrice = priceBan - discount;
Console.WriteLine("***Descuento del 10% aplicado por compras mayores a $20.000***");
Console.WriteLine("Tu saldo a pagar con descuento es: " + discountedPrice);
}
else
{
Console.WriteLine("Tu saldo a pagar es: " + priceBan);
}
opcionValida = true;
break;
case "5":
Console.WriteLine("Precio de la piña $1000 c/u");
Console.WriteLine("¿Cuantas unidades quieres?");
int cantPin = int.Parse(Console.ReadLine());
int pricePin = cantPin * piña;
if (pricePin >= 20000)
{
discount = (pricePin * percentOff) / 100;
discountedPrice = pricePin - discount;
Console.WriteLine("***Descuento del 10% aplicado por compras mayores a $20.000***");
Console.WriteLine("Tu saldo a pagar con descuento es: " + discountedPrice);
}
else
{
Console.WriteLine("Tu saldo a pagar es: " + pricePin);
}
opcionValida = true;
break;
case "6":
Console.WriteLine("Saliendo del programa...");
opcionValida = true;
break;
default:
Console.WriteLine("Opción no válida. Seleccione una opción del menú.");
break;
}
}
}
}