static void Main(string[] args) { var result = -1; var pedidos = new List <IHelado>(); var pedidoActual = 0; while (result == -1) { Console.Clear(); Console.WriteLine("Bienvenodo a la maquina de helados!!!"); Console.WriteLine("Vamos rapido con tu eleccion"); Console.WriteLine("Mire tengo estos recipientes para tu helado"); Console.WriteLine("1. Vaso $0.0"); Console.WriteLine("2. Barquillo $0.5"); Console.WriteLine("3. Canasta $ 1.0"); //pedidos.Add() var key = Console.ReadKey(); if (char.IsDigit(key.KeyChar)) { if (int.Parse(key.KeyChar.ToString()) == 1 || int.Parse(key.KeyChar.ToString()) == 2 || int.Parse(key.KeyChar.ToString()) == 3) { result = int.Parse(key.KeyChar.ToString()); //break; } } switch (result) { case 1: pedidos.Add(new Vaso()); break; case 2: pedidos.Add(new Barquillo()); break; case 3: pedidos.Add(new Canasta()); break; } pedidoActual = pedidos.Count - 1; int numeroBoalas = 0; result = -1; while (result != 7 && numeroBoalas < 6) { Console.Clear(); Console.WriteLine("Toca elegir el # de bolas maximo 5"); Console.WriteLine("Los Sabores:"); Console.WriteLine("1. Limon $5.0"); Console.WriteLine("2. Fresa $5.0"); Console.WriteLine("3. Mango $6.0"); Console.WriteLine("4. Chocolate $8.0"); Console.WriteLine("5. ChocoChips $8.0"); Console.WriteLine("6. Vainilla $7.0"); Console.WriteLine("7. No mas bolas"); key = Console.ReadKey(); if (char.IsDigit(key.KeyChar)) { if (int.Parse(key.KeyChar.ToString()) >= 1 && int.Parse(key.KeyChar.ToString()) <= 7) { result = int.Parse(key.KeyChar.ToString()); } } switch (result) { case 1: pedidos[pedidoActual] = new Limon(pedidos[pedidoActual]); numeroBoalas += 1; break; case 2: pedidos[pedidoActual] = new Fresa(pedidos[pedidoActual]); numeroBoalas += 1; break; case 3: pedidos[pedidoActual] = new Mango(pedidos[pedidoActual]); numeroBoalas += 1; break; case 4: pedidos[pedidoActual] = new Chocolate(pedidos[pedidoActual]); numeroBoalas += 1; break; case 5: pedidos[pedidoActual] = new ChocoChips(pedidos[pedidoActual]); numeroBoalas += 1; break; case 6: pedidos[pedidoActual] = new Vainilla(pedidos[pedidoActual]); numeroBoalas += 1; break; case 7: break; } } result = -1; int numeroExtras = 0; while (result != 7 && numeroExtras < 4) { Console.Clear(); Console.WriteLine("Toca elegir el # de ingredientes extra maximo 5"); Console.WriteLine("Los Extras:"); Console.WriteLine("1. Chocolate Liquido $0.0"); Console.WriteLine("2. ChocoKrispis $0.50"); Console.WriteLine("3. Lunetas $0.70"); Console.WriteLine("4. Chispas de Colores $0.20"); Console.WriteLine("5. Fresas $7.0"); Console.WriteLine("6. Platano $5.0"); Console.WriteLine("7. No mas extras"); key = Console.ReadKey(); if (char.IsDigit(key.KeyChar)) { if (int.Parse(key.KeyChar.ToString()) >= 1 && int.Parse(key.KeyChar.ToString()) <= 7) { result = int.Parse(key.KeyChar.ToString()); } } switch (result) { case 1: pedidos[pedidoActual] = new ChocolateLiquido(pedidos[pedidoActual]); numeroExtras += 1; break; case 2: pedidos[pedidoActual] = new ChocoKrispis(pedidos[pedidoActual]); numeroExtras += 1; break; case 3: pedidos[pedidoActual] = new Lunetas(pedidos[pedidoActual]); numeroExtras += 1; break; case 4: pedidos[pedidoActual] = new ChispasColores(pedidos[pedidoActual]); numeroExtras += 1; break; case 5: pedidos[pedidoActual] = new Fresas(pedidos[pedidoActual]); numeroExtras += 1; break; case 6: pedidos[pedidoActual] = new Platano(pedidos[pedidoActual]); numeroExtras += 1; break; case 7: break; } } Console.Clear(); Console.WriteLine("Ya está tu helado amigo!!!"); Console.WriteLine("Elige:"); Console.WriteLine("1. Otro helado"); Console.WriteLine("2. Ya nada, gracias"); //pedidos.Add() key = Console.ReadKey(); if (char.IsDigit(key.KeyChar)) { if (int.Parse(key.KeyChar.ToString()) == 1 || int.Parse(key.KeyChar.ToString()) == 2) { result = int.Parse(key.KeyChar.ToString()); } } switch (result) { case 1: result = -1; break; case 2: result = 99; break; } } foreach (var helado in pedidos) { Console.WriteLine($"{helado.ObtenerDescripcion()}....${helado.ObtenerCosto()}"); } }
static void Main(string[] args) { int c; double total = 0; int pedidos = 0; char more = '1'; var pedido = new List <IHelado>(); var vasos = new List <IHelado> { new Barquillo(), new Canasta(), new Vaso() }; while (more != 's') { Console.Clear(); c = 0; Console.WriteLine("Helados"); Console.WriteLine("Recipiente"); foreach (var vaso in vasos) { c++; Console.WriteLine($"{c}: {vaso.GetDescripcion()}......{vaso.GetCosto()}"); } var read = int.Parse(Console.ReadKey().KeyChar.ToString()); switch (read) { case 1: pedido.Add(new Barquillo()); break; case 2: pedido.Add(new Canasta()); break; case 3: pedido.Add(new Vaso()); break; } Console.Clear(); Console.WriteLine("Cuantos Sabores de nieve?, Max 5 bolas"); var val = int.Parse(Console.ReadKey().KeyChar.ToString()); while (val > 5) { Console.Clear(); Console.WriteLine("Max 5 bolas, otra vez"); val = int.Parse(Console.ReadKey().KeyChar.ToString()); } for (int i = 0; i < val; i++) { Console.Clear(); Console.WriteLine($"Bola {i + 1}"); Console.WriteLine($"1. Limon...........$5.0"); Console.WriteLine($"2. Fresa...........$5.0"); Console.WriteLine($"3. Mango...........$6.0"); Console.WriteLine($"4. Chocolate.......$8.0"); Console.WriteLine($"5. ChocoChips......$8.0"); Console.WriteLine($"6. Vainilla........$7.0"); read = int.Parse(Console.ReadKey().KeyChar.ToString()); switch (read) { case 1: pedido[pedidos] = new Limon(pedido[pedidos]); break; case 2: pedido[pedidos] = new Fresa(pedido[pedidos]); break; case 3: pedido[pedidos] = new Mango(pedido[pedidos]); break; case 4: pedido[pedidos] = new Chocolate(pedido[pedidos]); break; case 5: pedido[pedidos] = new ChocoChips(pedido[pedidos]); break; case 6: pedido[pedidos] = new Vainilla(pedido[pedidos]); break; } } Console.Clear(); Console.WriteLine("Ingredientes Extras? [s][n]"); var extra = Console.ReadKey().KeyChar; if (extra is 's') { Console.Clear(); Console.WriteLine("Cuantos Ingredientes extras?,3 Max"); val = int.Parse(Console.ReadKey().KeyChar.ToString()); while (val > 3) { Console.Clear(); Console.WriteLine("Max 3, otra vez"); val = int.Parse(Console.ReadKey().KeyChar.ToString()); } for (int i = 0; i < val; i++) { Console.Clear(); Console.WriteLine($"Ingrediente Extra {i + 1}"); Console.WriteLine($"1. Chocolate Liquido...... $0.0"); Console.WriteLine($"2. ChocoKrispis............$0.50"); Console.WriteLine($"3. Lunetas.................$0.70"); Console.WriteLine($"4. ChispasColores..........$0.20"); Console.WriteLine($"5. Fresas..................$7.0"); Console.WriteLine($"6. Platano.................$5.0"); read = int.Parse(Console.ReadKey().KeyChar.ToString()); switch (read) { case 1: pedido[pedidos] = new ChocolateLiquido(pedido[pedidos]); break; case 2: pedido[pedidos] = new ChocoKrispis(pedido[pedidos]); break; case 3: pedido[pedidos] = new Lunetas(pedido[pedidos]); break; case 4: pedido[pedidos] = new ChispasColores(pedido[pedidos]); break; case 5: pedido[pedidos] = new Fresas(pedido[pedidos]); break; case 6: pedido[pedidos] = new Platano(pedido[pedidos]); break; } } } Console.Clear(); Console.WriteLine("Desea Finalizar su compra? [s][n]"); more = Console.ReadKey().KeyChar; if (more != 's') { pedidos++; } } Console.Clear(); Console.WriteLine("Su Pedido"); foreach (var ped in pedido) { total += ped.GetCosto(); Console.WriteLine($"{ped.GetDescripcion()}...............${ped.GetCosto()}"); } Console.WriteLine($"Total ${total}"); }