[ Foro de C# ]
No puedo realizar el ejercicio 2.1.3.1 de c#
Ya lo corrie en mi máquina pero no se para cuando introduzco 0 y me pide el otro número.
Muestra cómo es tu solución, para que se te pueda ayudar con el fallo.
Además, es interesante que incluyas el enunciado completo, porque los números de ejercicios pueden ir cambiando con el tiempo.
Crea un programa que multiplique dos números enteros de la siguiente forma: pedirá al usuario un primer número entero. Si el número que se que teclee es 0, escribirá en pantalla "El producto de 0 por cualquier número es 0". Si se ha tecleado un número distinto de cero, se pedirá al usuario un segundo número y se mostrará el producto de ambos.
Este es mi código C. Nacho
static void Main(string[] args)
{
int numero1, numero2, R;
string cadena;
Console.WriteLine("Dame el primer numero");
cadena = Console.ReadLine();
numero1 = Convert.ToInt32(cadena);
if (numero1 != 0)
{
Console.WriteLine("El producto de 0 por cualquier numero es 0");
}
Console.WriteLine("Dame el segundo numero");
cadena = Console.ReadLine();
numero2 = Convert.ToInt32(cadena);
R = numero1 * numero2;
Console.WriteLine("El resultado es {0}", R);
Console.ReadKey();
}
Te falta un "else" tras el "if", para que la segunda parte se realice sólo en el caso de que el número sea correcto.
Pero del libro aún no se ven los else, y en si no se cómo funcionan.
Y de hecho C. Nacho ese ejercicio es sin else
Entonces necesitarás una segunda orden "if" que tenga la condición contraria. ;-)
Lo dejé de esta manera con otro “if” pero aún cuando colocó el 0 me escribe en pantalla “ El producto de 0 por cualquier número es 0" y después me pide el otro número.
public static void Main()
{
int numero1, numero2, R;
string cadena;
Console.WriteLine("Dame el primer numero");
cadena = Console.ReadLine();
numero1 = Convert.ToInt32(cadena);
if (numero1 !=0)
{
Console.WriteLine("El producto de 0 por cualquier numero es 0");
}
if (numero1 > 0)
Console.WriteLine("Dame el segundo numero");
cadena = Console.ReadLine();
numero2 = Convert.ToInt32(cadena);
R = numero1 * numero2;
Console.WriteLine("El resultado es {0}", R);
Claro. La condiciones están mal. Para ver si es cero, no debes usar != sino ==. Y para ver si no es cero, no debes usar >, porque los negativos tampoco son cero, sino !=.
Muchas gracias C. Nacho ya corre mi programa, seguiré leyendo su libro.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)