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ú

Temas - palentino12

#1
Buenas tengo un problema con este ejercicio en C#, el programa no me sale del todo bien.

Es este.


Realizar un programa que dado un número de 4 cifras introducido por teclado, indique los dígitos de éste por separado.

Poniendo un ejemplo esto es lo que tiene que hacer el programa.


Le metemos un valor de 4 cifras por ejemplo 1586

Y se mostrara por pantalla lo siguiente:

La cuarta cifra del número 1586 es 1

La tercera cifra del número 1586 es 5

La segunda cifra del número 1586 es 8

La primera cifra del número 1586 es 6


Yo he realizado esto, fallo en la cuarta y tercera cifra.


Código (csharp) [Seleccionar]

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

namespace Ejercicio_83
{
   class Program
   {
       static void Main(string[] args)
       {
           int numero, auxiliar, cifra1, cifra2, cifra3, cifra4;

           Console.WriteLine("Introduce un número");

           Console.WriteLine("");

           numero = Int16.Parse(Console.ReadLine());

           if ((numero > 999) && (numero < 10000))
           {
               Console.WriteLine("");

               cifra1 = numero % 10;  // El operador de % calcula el resto después de dividir el primer operando por el segundo.

               auxiliar = numero / 10;

               cifra2 = auxiliar % 10;

               auxiliar = auxiliar % 10;

               cifra3 = auxiliar % 10;

               cifra4 = auxiliar / 10;

               
               Console.WriteLine("La cuarta cifra del número " + numero + " es " + cifra4);

               Console.WriteLine("La tercera cifra del número " + numero + " es " + cifra3);

               Console.WriteLine("La segunda cifra del número " + numero + " es "  + cifra2);

               Console.WriteLine("La primera cifra del número " + numero + " es " + cifra1);
           

           }
           else
           {
               Console.WriteLine("");
               Console.WriteLine("Número fuera de rango");
           }

           
           Console.ReadKey();


           
       }
   }
}




Muchas gracias
#2
El ejercicio es el siguiente

Crea un programa que lleve el stock de bolígrafos y lapices de una papelería y que por tanto haga los siguientes pasos:

- El programa pedirá inicialmente cuantos bolígrafos y cuantos lapices hay en stock. Éste paso sólo se realizará una vez.

- Entonces el programa debe pedir al usuario una letra mientras exista stock de bolígrafos o lapices.

- Después de pedir la letra, si está es B o L, el programa pedirá al usuario que introduzca una cantidad,

- Se deberá restar la cantidad introducida del stock total de bolígrafos o lapices dependiendo de la letra introducida.

- El programa volverá a pedir la letra y stock hasta que se termine el stock de algunos de los productos. Entonces debe finalizar el programa mostrando la cantidad de bolígrafos y lapices que quedan en la tienda.


Osea cuando le de a ejecutar el programa, me tendría que salir por ejemplo esto.

Stock de bolígrafos?
30

Stock de lapices?
20

Introduce producto?
B

Introduce Cantidad?
15

Introduce producto?
L

Introduce Cantidad?
5

Introduce producto?
B

Introduce Cantidad?
15

Fin del programa
Quedan 0 boligrafos y 15 lapices.

Este es el código que hice, pero no es que me de error, es que simplemente no me da el resultado esperado, osea no me repite el proceso hasta que la que condición se cumpla.

Código (csharp) [Seleccionar]

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

namespace stocks__boligrafos_lapices
{
   class Program
   {
       static void Main(string[] args)
       {
           int boligrafos, lapices, cantidad1, cantidad2, resultado1 = 0, resultado2 = 0;

           char respuesta;


           Console.WriteLine("Stock de bolígrafos?");
           Console.WriteLine("");

           boligrafos = Int16.Parse(Console.ReadLine());
           Console.WriteLine("");

           Console.WriteLine("Stock de lapices?");
           Console.WriteLine("");

           lapices = Int16.Parse(Console.ReadLine());
           Console.WriteLine("");



           do
           {
               Console.WriteLine("Introduce producto");
               Console.WriteLine("");

               respuesta = char.Parse(Console.ReadLine());
               Console.WriteLine("");

               if ((respuesta == 'B') || (respuesta == 'L'))
               {
                   Console.WriteLine("Introduce cantidad");
                   Console.WriteLine("");
                   cantidad1 = Int16.Parse(Console.ReadLine());
                   resultado1 = boligrafos - cantidad1;
                   Console.WriteLine("");
                   Console.WriteLine("Introduce producto");
                   Console.WriteLine("");
                   respuesta = char.Parse(Console.ReadLine());
                   Console.WriteLine("");
                   Console.WriteLine("Introduce cantidad");
                   Console.WriteLine("");
                   cantidad2 = Int16.Parse(Console.ReadLine());
                   resultado2 = lapices - cantidad2;
                   Console.WriteLine("");
               }
               else
               {
                   Console.WriteLine("Error");
               }



           }
           while ((resultado1 <= 0) || (resultado2 <= 0));

           Console.WriteLine("");
           Console.WriteLine("Fin del programa");
           Console.WriteLine("Quedan " + resultado1 + " boligrafos" + " y " + resultado2 + " lapices.");

           Console.ReadKey();



       }
   }
}



Alguien puede ayudarme?

Gracias y un saludo.

Mod: Tema movido
#3
.NET (C#, VB.NET, ASP) / Duda con ejercicio C#
6 Septiembre 2015, 17:37 PM
A ver si me puede ayudar con este ejercicio, el ejercicio es el siguiente.

Programa que obtenga el cociente y el resto de la división entera de dos números enteros y positivos mediante restas sucesivas, y los imprima.

Código (csharp) [Seleccionar]

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

namespace Ejercicio_59
{
   class Program
   {
       static void Main(string[] args)
       {
           int numero1, numero2, resultado = 0, contador = 0;

           Console.WriteLine("Introduce dos números enteros y positivos");
           Console.WriteLine("");

           numero1 = Int16.Parse(Console.ReadLine());

           numero2 = Int16.Parse(Console.ReadLine());

           Console.WriteLine("La división entre " + numero1 + " y " + numero2 + " es: ");

           while (numero2 <= numero1);
           {
               numero1 -= numero2;

               contador++;
           }
           

           Console.WriteLine("");

           Console.WriteLine("El resto es " + contador + numero1);

           Console.ReadKey();

       }
   }
}





Muchas gracias