No puedo mostrar los resultado correctos en mi calculadora

Iniciado por DanielPy, 5 Mayo 2013, 17:20 PM

0 Miembros y 2 Visitantes están viendo este tema.

DanielPy

Hola a todos.
Debo aclarar en mi primer mensaje que tengo 61 años(me apasiona la programación) por lo tanto no tengo otra manera de aprender que con la ayuda de internet(manuales,tutoriales,videos etc.) y los foros a los que recurro en demasía ( según mi criterio) pero considero que muchas de las cosas que obtengo en las respuestas no están en los libros.-
Otra cosa para lo cual necesito mucha comprensión, me cuesta mucho hacerme entender por medio de la escritura.-

Bueno este es el caso que no puedo solucionar.-

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

namespace miswitch
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Ejemplo de switch";

Console.SetCursorPosition(02,02);
Console.Write("Ingresa un número...:");
double numeroUno = Convert.ToDouble(Console.ReadLine());
Console.SetCursorPosition(02, 04);
Console.Write("Ingresa otro........:");
double numeroDos = Convert.ToDouble(Console.ReadLine());
Console.SetCursorPosition(02, 06);
Console.Write("1:Suma 2:Resta 3:Multiplica 4:Divide...:");
byte eleccion = Convert.ToByte(Console.ReadLine());

Console.SetCursorPosition(02,08);
switch (eleccion)
{
case 1:
Console.Write("Resultado...: " + (numeroUno + numeroDos));
break;
case 2:
Console.Write("Resultado...: " + (numeroUno - numeroDos));
break;
case 3:
Console.Write("Resultado...: " + (numeroUno * numeroDos));
break;
case 4:
Console.Write("Resultado...: " + (numeroUno / numeroDos));
break;
default:
Console.Write("Elección incorrecta...");
break;
}

Console.SetCursorPosition(02,11);
Console.Write("Pulse una tecla para cerrar la aplicación...");
Console.ReadKey();
}
}
}


Bueno eso es todo, espero ayuda.-

Saludo a todos.
Daniel


abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-

engel lex

hola! nunca se usan foros en demasía jejeje, así se aprende, así hemos aprendidos muchos aquí...

podrías indicar que respuestas obtienes (que no concuerden)?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DanielPy

Hola engelx.
Si ingreso enteros todo funciona OK. el problema cuando ingreso un número con
decimales, no funciona.-
Ej: 12.5 + 4 = 129

Un gran abrazo.
Daniel

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-

engel lex

usando "," como separador supondré que da error, el caso debe estar en que el
Convert.ToDouble(Console.ReadLine())

no es la funcion adecuada

intenta con

decimal numeroUno =  decimal.Parse(Console.ReadLine());

y dime como te fue
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DanielPy

Hola a todos.
En realidad con tú línea de código me da el mismo error, pero descubrí que poniendo
coma por el punto funciona correctamente.-

12.5 x 10 incorrecto
12,5 x 10 correcto

Igual debe haber alguna manera como solucionarlo para ingresar los decimales separados con un punto, seguiremos investigando.-

Saludos.
Daniel
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-

Danyfirex

#5
Cita de: DanielC# en  5 Mayo 2013, 21:15 PM
Hola a todos.
En realidad con tú línea de código me da el mismo error, pero descubrí que poniendo
coma por el punto funciona correctamente.-

12.5 x 10 incorrecto
12,5 x 10 correcto

Igual debe haber alguna manera como solucionarlo para ingresar los decimales separados con un punto, seguiremos investigando.-

Saludos.
Daniel

hola tocayo...

para eso tendrías que cambiar algo en las configuraciones de tu PC.

cito las palabras BlackZeroX
Cita de: BlackZeroX (Astaroth) en 12 Abril 2013, 04:50 AM
Debes configurar tu PC, en el panel de control en la zona de configuracion regional... checha la configuracion.

Dulces Lunas!¡.


otra alternativa seria una función para remplazar . por ,



DanielPy

Hola Dani.
Si bien esa es una solución(que desconocía) me parece que el asunto es por este
lado.-

using System.Globalization;

Saludos a todos.
Daniel
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-

engel lex

me parece bien que hayas conseguido que el error era de nacionalizacion jejeje

te parece que ya tienes la solucion a este problema por completo?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DanielPy

Hola engelx
No para nada solucionado, si bien por lo que leí en Internet esa es la forma más correcta, pero no se implementarlo.-

Saludos.
Daniel
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.