Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Delikatovic

#1
Mira este es el código en total. En la 3º opcion debo hacer uso del ref para un texto, y volverá repetido X veces. Las funciones parecen estar bien, pero me falla algo, solo funciona la opc1, me lo chequeas?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            char op = '\0';
            string texto1;
            string texto2;
            string tex;
            int cant;
            string resultado;
            int res;
            do
            {

                Console.WriteLine("Elija una opcion:");
                op = Console.ReadKey().KeyChar;

                switch (op)
                {
                    case '1':
                        Opcion1();
                        break;
                    case '2':
                        Console.WriteLine(Environment.NewLine);
                            Console.WriteLine("Introduce texto 1:");
                            texto1 = Console.ReadLine();
                            Console.WriteLine("Introduce texto 2:");
                            texto2 = Console.ReadLine();
                            Opcion2(texto1, texto2);
                       
                        break;
                    case '3':
                        Console.WriteLine(Environment.NewLine);
                            Console.WriteLine("Introduce texto:");
                            tex = Console.ReadLine();
                            Console.WriteLine("Introduce cantidad:");
                            cant = Console.ReadLine();

                        resultado = Opcion3(ref tex, cant.ToString);
                        Console.WriteLine(tex);   
                        break;
                    case '4':
                       
                        break;
                }
                Console.ReadLine();
            }
            while (op != 4);
           
        }
        public static void Opcion1()
        {


            Random rdn = new Random();
            int a = rdn.Next(10, 31);
            int b = rdn.Next(10, 31);
            Console.WriteLine(Environment.NewLine);
           
            for (int i= a; i<= b; i++)
            {
                Console.WriteLine(i);
            }

        }


        public static void Opcion2(string a, string b)
        {
            int c = 0;
            c = string.Compare(a, b);
            switch (c)
            {
                case -1:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("{0} y {1} --> {2}", a.ToLower(), b.ToLower(), "MENOR");
                    break;
                case 0:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("{0} y {1} --> {2}", a.ToLower(), b.ToLower(), "MAYOR");
                    break;
            }
        }

        public static int Opcion3(ref string x, int y)
        {
            int z;
           
                for(int i=0; i<y; i++)
                {
                Console.Write(x);
                }

            x = String.Concat(Enumerable.Repeat(x, y));

            z = x.Length;

            return z;
        }
    }
}
#2
La verdad es que los ref y out no los tengo claro..
#3
Cita de: Slava_TZD en 25 Noviembre 2016, 19:41 PM
Código (csharp) [Seleccionar]
bool? isit_greater(string a, string b)
{
if (a.Length == b.Length)
return null;
return a.Length > b.Length ? true : false;
}


No es exactamente lo que pides, pero es tu tarea casi resuelta :D googlea mas la próxima vez.

Lo tengo a media.. cuando elijo la opcion2 ni me pregunta por el texto a escribir, que hago??
Codigo del main

case '2':
                    Console.WriteLine("Introduce texto:");
                    texto1= Console.ReadLine();
                    Console.WriteLine("Introduce texto:");
                    texto2= Console.ReadLine();
                    Opcion2(ref texto1, ref texto2, out compara);

Codigo de la funcion Opcion2

public static void Opcion2( ref string a, ref string b, out int c)
        {
            Console.WriteLine(a.ToLower());
            Console.WriteLine(b.ToLower());
            c = string.Compare(a, b);
            Console.WriteLine(c);
        }


me echan un cable?
#4
si supieras cuanto googleo...

Estoy creando el código, ahora lo paso a ver si alguien me ayuda
#5
muchas gracias!! le he añadido un do...while para que me siga preguntando opciones :)
Mira.. tengo otro problemilla, en la opción 2:
Desde el main pedir dos cadenas de caracteres (string).La función deberá convertir las dos cadenas a minúsculas, comparar-las, y devolver, por el tercer parámetro(no con return), la palabra "MENOR" si la 1ª cadena es inferior a la 2ª (alfabéticamente), un "MAYOR", si es mayor alfabéticamente, y un "IGUAL" si son la misma.

No tengo ni idea por donde empezar.. algun enlace de referencia?
#6
.NET (C#, VB.NET, ASP) / Ayuda números aleatorios
24 Noviembre 2016, 19:18 PM
No entiendo en qué fallo, para que al elegir Opcion1 me muestre los números aleatorios... Sera por la llamada a la funcion? hago algo mal en Opcion1???

    class Program
    {
        static void Main(string[] args)
        {
            string op = null;
            int num;
            Console.WriteLine("Elija una opcion:");
            op = Console.ReadKey().ToString();

            switch (op)
            {
                case "1":
                    Opcion1();
                   
                    break;
                case "2":
                    Opcion2();

                    break;
                case "3":

                    break;
                case "4":
                    break;

            }
            Console.ReadLine();
        }
        static void Opcion1()
        {
           
            Random rdn = new Random();
            int a = rdn.Next(10, 30);
            int b = rdn.Next(10, 30);
            Console.WriteLine("Números aleatorios: {0} y {1}", a, b);
           
        }

        static string Opcion2()
        {

        }
    }
}
#7





Mod: Los códigos deben ir en etiquetas GeSHi, no hagas doble post
#8
.NET (C#, VB.NET, ASP) / Problema C# (estudiando)
8 Noviembre 2016, 16:36 PM
Tengo un ejercicio de clase(clases a distancia), donde el profesor ayuda lo más mínimo.
Este es el enunciado:
El abuelo de Quique es el dueño de una tienda en la esquina de mi calle. Este verano ha pedido a su nieto que le ayude encargándose de cobrar. Quique está muy preocupado, porque su abuelo tiene muchas manías. Para empezar no tiene caja registradora, sino que realiza las cuentas de cabeza. Además para agradar a sus clientes les entrega siempre el menor número posible de monedas para que no se les llene el bolsillo.
Como a Quique no se le da muy bien eso de las cuentas, ha decidido llevarse su ordenador sin que se entere su abuelo. Ahora necesita un programa que le calcule cuántas monedas de cada tipo debe dar de cambio.
Entrada
La entrada comienza con un entero que indica el número de casos de prueba que vendrán a continuación. Cada caso consta de dos valores. El primero indica el coste de la compra expresado en céntimos de euro y el segundo el dinero entregado por el cliente, expresado también en céntimos de euro.
Salida
Para cada caso de prueba se indicará en una línea independiente el número de monedas de 2 euros, 1 euro, 50 cts, 20 cts, 10 cts, 5 cts, 2 cts y 1 céntimo que debe entregar Quique al cliente. En caso de que el dinero entregado no cubra el coste de la compra se escribirá en la salida DEBE seguido de la cantidad que queda por pagar.

Me sé la sintaxis del programa, los comandos, las variables, pero en la practica fallo un huevo, no se como expresar este problema en un Switch/case o en un else if... necesito ayuda, comprensión..


Mod: c# no es C/C++... es .net, movido