Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Sixtoex en 13 de Octubre 2014, 19:42
-
Aquí un pequeño "aporte" en C#, no es nada del otro mundo pero por si alguien tiene la duda de como se hace un programa así
Escriba un programa que pida dos números enteros y escriba qué números son pares y cuáles impares desde el primero hasta el segundo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace mispruebas2
{
class Program
{
static void Main(string[] args)
{
Console.Write("Dime el primer numero entero: ");
string leerlineauno = Console.ReadLine();
int convertirenterouno = int.Parse(leerlineauno);
Console.Write("Dime el primer numero entero: ");
string leerlineados = Console.ReadLine();
int convertirenterodos = int.Parse(leerlineados);
int resta = convertirenterodos - convertirenterouno;
double resultado = 0;
for (int i = 0; i <= resta;i++ )
{
if(convertirenterouno <= convertirenterodos)
{
resultado = convertirenterouno % 2;
}
if (resultado != 0)
{
Console.WriteLine(convertirenterouno + " es impar");
}
else
{
Console.WriteLine(convertirenterouno+" es par");
}
convertirenterouno = convertirenterouno + 1;
}
}
}
}
Me cuesta mucho darle nombres a las variables, es decir, no se como llamarlas jeje, y quiero saber como podrían mejorar ese códido haciendolo mas corto :P
Gracias amigos
-
Hola, lo veo bien planteado excepto los nombres de variables, pero no te preocupes por eso porque irás dándole nombres adecuados a medida que vayas programando más.
En este caso unos nombres de variables más adecuados podrían ser estos:
Console.Write("Dime el primer numero entero: ");
string dato1String = Console.ReadLine();
int dato1Int = int.Parse(dato1String);
Console.Write("Dime el primer numero entero: ");
string dato2String = Console.ReadLine();
int dato2Int= int.Parse(dato2String);
int resta = dato2Int- dato1Int;
double resultado = 0;
for (int i = 0; i <= resta;i++ )
{
if(dato1Int <= dato2Int)
{
resultado = dato1Int % 2;
}
if (resultado != 0)
{
Console.WriteLine(dato1Int + " es impar");
}
else
{
Console.WriteLine(dato1Int+" es par");
}
dato1Int = dato1Int + 1;
}
}
}
}
Hay otra cosa que podrías mejorar: ¿Qué ocurre si el usuario introduce el dato 1 y es mayor que el dato 2? Por ejemplo que introduzca dato1 : 44, dato 2: 15
En este caso resta = 15-44 y es un valor negativo, el bucle no se ejecutaría.
Puedes mejorarlo controlando qué número es mayor con un if y haciendo la resta del número mayor menos el menor.
Salu2
-
ya, lo modifique, gracias amigo,gracias a ti aprendí algo nuevo
Sorry por el doble post, no podía modificar :P
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace mispruebas2
{
class Program
{
static void Main(string[] args)
{
Console.Write("Dime el primer numero entero: ");
string leerlineauno = Console.ReadLine();
int convertirenterouno = int.Parse(leerlineauno);
Console.Write("Dime el primer numero entero: ");
string leerlineados = Console.ReadLine();
int convertirenterodos = int.Parse(leerlineados);
int resta = convertirenterodos - convertirenterouno;
double resultado = 0;
if (convertirenterouno > convertirenterodos)
{
resta = convertirenterouno - convertirenterodos;
}
for (int i = 0; i <= resta;i++ )
{
if(convertirenterouno <= convertirenterodos )
{
resultado = convertirenterouno % 2;
}
if (convertirenterouno > convertirenterodos)
{
resultado = convertirenterouno % 2;
}
if (resultado != 0)
{
Console.WriteLine(convertirenterouno + " es impar");
}
else
{
Console.WriteLine(convertirenterouno+" es par");
}
convertirenterouno = convertirenterouno + 1;