Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Voxxii

Páginas: [1]
1
¿Porqué el foro no esta ordenado en distintos hilos según para cada lenguaje en vez de tener esa vorágine de post en el mismo hilo?

PD: Solo es una pregunta constructiva, abstenerse comentarios que no sean del mismo tipo.

2
Te hize una solución a lo que pides, eso sí no controlé que cuando pides coste o lo que entregas metas un entero. Es decir, si donde pone "introduce el coste" pones algo que no sea de tipo int te dará una excepción no controlada, Ej meter 'a'.

Tampoco te controlé los casos pues es hacer un while (caso > 0) que englobe el codigo disminuyendo uno "caso--;" al final de cada vuelta al bucle.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MinimoMonedas
{
    class ConversionMonedas
    {
        static void Main(string[] args)
        {
            int[] totalMonedas = new int[8]; //Aqui guardamos el total de monedas. Abajo se pone que posición ocupa cada moneda.
            string[] nombreMonedas = { "2 Euros", "1 Euro", "50 Céntimos", "20 Céntimos", "10 Céntimos", "5 Céntimos", "2 Céntimos", "1 Céntimo" }; //Guardamos el nombre de cada moneda en este array.

            //Las monedas no cambiarán, por lo tanto  guardamos el valor como constante. (Se podría utilizar otro array para esto pero creo que así se ve más claro).
            const int MONEDA2E = 200;   //totalMonedas [0]
            const int MONEDA1E = 100;   //totalMonedas [1]
            const int MONEDA50C = 50;   //totalMonedas [2]
            const int MONEDA20C = 20;   //totalMonedas [3]
            const int MONEDA10C = 10;   //totalMonedas [4]
            const int MONEDA5C = 5;     //totalMonedas [5]
            const int MONEDA2C = 2;     //totalMonedas [6]
            const int MONEDA1C = 1;     //totalMonedas [7]




            int coste;
            int entrega;
            int vuelta = 0;
            int auxVuelta = 0; //Para aplicar las cuentas y dejar el valor de vuelta almacenado.

            Console.Write("Introduce el precio del artículo: ");
            coste = int.Parse(Console.ReadLine());
            Console.Write("\nIntroduce cuanto entrega el cliente: ");
            entrega = int.Parse(Console.ReadLine());
            {

                if (entrega > coste)
                {
                    vuelta = entrega - coste;
                    auxVuelta = vuelta;

                    do
                    {
                        if (auxVuelta >= MONEDA2E)
                        {
                            auxVuelta -= MONEDA2E; //Restamos a la vuelta la moneda que vamos a dar.
                            totalMonedas[0]++; //Sumamos 1 a la posicion de la moneda de 2€ en el array de int.
                            continue; //Con cada continue volvemos a la condición booleana del DO WHILE, y volvemos a iniciar el bucle desde el principio.
                        }
                        if (auxVuelta >= MONEDA1E)
                        {
                            auxVuelta -= MONEDA1E;
                            totalMonedas[1]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA50C)
                        {
                            auxVuelta -= MONEDA50C;
                            totalMonedas[2]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA20C)
                        {
                            auxVuelta -= MONEDA20C;
                            totalMonedas[3]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA10C)
                        {
                            auxVuelta -= MONEDA10C;
                            totalMonedas[4]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA5C)
                        {
                            auxVuelta -= MONEDA5C;
                            totalMonedas[5]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA2C)
                        {
                            auxVuelta -= MONEDA2C;
                            totalMonedas[6]++;
                            continue;
                        }
                        if (auxVuelta >= MONEDA1C)
                        {
                            auxVuelta -= MONEDA1C;
                            totalMonedas[7]++;
                            continue;
                        }
                    } while (auxVuelta != 0);
                    Console.WriteLine("\nEntrega {0} centimos y el coste es {1} centimos por lo tanto la vuelta es {2} centimos.", entrega, coste, vuelta);
                    Console.WriteLine("\nPara devolver {0} Céntimos con el mínimo de monedas hay que dar:", vuelta);
                }
                else
                    Console.WriteLine("\nEntrega {0} centimos y el coste es {1} centimos por lo tanto DEBE {2} centimos", entrega, coste, coste - entrega);

                for (int i = 0; i < totalMonedas.Length; i++) //Recorremos el array de monedas para ver cuantas hay.
                {
                    if (totalMonedas[i] != 0) //Si hay mas de 0 monedas de esa clase, las escribimos, sino, pasamos al siguiente tipo de moneda.
                        if (totalMonedas[i] == 1) //Controlamos el plural y singular en las monedas con este if.
                            Console.WriteLine("[{0}] moneda de {1}\n", totalMonedas[i], nombreMonedas[i]);
                        else
                            Console.WriteLine("[{0}] monedas de {1}\n", totalMonedas[i], nombreMonedas[i]);
                }

                Console.WriteLine("\nPulsa Enter para salir."); //Para poder leer las monedas al final sin que acabe la ejecución. Con el caso saltaría al otro caso.
                Console.ReadLine();
            }
        }
    }
}


Espero que te sea de ayuda.

3
Aqui está en c#.
Código: [Seleccionar]
            int nota = 0;
            Console.Write("ingrese la nota del alumno: ");

            if (int.TryParse(Console.ReadLine(), out nota))
                if (nota >= 8 && nota <= 10)
                    Console.WriteLine("sobresaliente");
                else if (nota <8 && nota <= 6)
                    Console.WriteLine("Bien");
                else if (nota >= 5 && nota < 6)
                    Console.WriteLine("suficiente");
                else if (nota < 5 && nota >= 0)
                    Console.WriteLine("Insificiente");
                else
                    Console.WriteLine("La nota no está entre 0 y 10.");
            else
                Console.WriteLine("El valor introducido no es correcto.");

            Console.ReadLine();

4
Código: [Seleccionar]
            string dato = string.Empty;

            Console.Write("Ingrese Dato: ");
            dato = Console.ReadLine();

            for (int i = 0; i < dato.Length; i++) //Recorremos el string.
            {
                if (Char.IsLetter((char)dato[i])) //Hacemos un casting a tipo char y usamos la clase Char para preguntar qué es.
                    Console.WriteLine("{0} es una letra.",dato[i]);

                else if (Char.IsNumber((char)dato[i]))
                    Console.WriteLine("{0} es un número.", dato[i]);

                else if (Char.IsSeparator((char)dato[i]))
                    Console.WriteLine("{0} es un espacio.",dato[i]);

            }
            Console.ReadLine();

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".