************ CLASE
PROGRAM **************
using System;
namespace Tarea5
{
class Program
{
static void Main(string[] args)
{
//Inicialización de las variables que contienen los valores (coeficientes)
//introducidos por pantalla
double coefA = 0, coefB = 0, coefC = 0;
bool control = true;
while (control == true)
{
Console.Clear();
Console.ForegroundColor=ConsoleColor.Blue;
Console.WriteLine("Resolver ecuaciones de segundo grado.");
Console.ForegroundColor=ConsoleColor.DarkYellow;
Console.WriteLine("Ecuaciones del tipo: Ax^2 + Bx + C = 0");
//Usamos un try / Cath para que el
// usuario solo ingrese numeros
bool rep = true;
while (rep == true)
{
try
{
Console.ForegroundColor=ConsoleColor.Green ;
Console.WriteLine("\nIntroducir el valor para A:");
coefA = Double.Parse(Console.ReadLine());
Console.ForegroundColor=ConsoleColor.Cyan;
Console.WriteLine("\nIntroducir el valor para B:");
coefB = Double.Parse(Console.ReadLine());
Console.ForegroundColor=ConsoleColor.Magenta;
Console.WriteLine("\nIntroducir el valor para C:");
coefC = Double.Parse(Console.ReadLine());
rep = false;
}
catch (FormatException)
{
Console.Clear();
Console.WriteLine("¡ERROR!. Introducir solo valores numéricos.");
rep = true;
}
}
//Valores internos de la raiz cuadrada
double Bcuadrado = coefB * coefB;
double cuatroAC = 4 * coefA * coefC;
//Comprobamos si la raiz nos da un resultad negativo
// LA raiz solo pueden dar resultados positivos
if (Bcuadrado < cuatroAC && coefA > 0 && coefC > 0)
{
Console.Clear();
Console.ForegroundColor=ConsoleColor.Red;
Console.WriteLine("La ecuación no tiene solución." +
"\nEl resultado de la raiz cuadrada en negativo.");
}
else
{
//Creamos el Objeto de la Clase
Ecuacion ecu = new Ecuacion(coefA, coefB, coefC);
//Llamada a los métodos de calculo de clase ECgrado2
Console.WriteLine("\nValor 1 = {0}",ecu.raizpositiva());
Console.WriteLine("Valor 2 = {0}",ecu.raiznegativa());
}
Console.ForegroundColor=ConsoleColor.Yellow;
Console.WriteLine("\n¿Desea seguir calculando? (y/n)");
//Este último bloque se repite siempre que el usuario no introduzca el
//formato correcto (y/n) para la pregunta anterior
bool repSwitch = true;
while (repSwitch == true)
{
string SioNO = Console.ReadLine();
switch (SioNO)
{
case "y": case "Y":
control = true; //Repite el bloque principal del programa
repSwitch = false;
break;
case "n": case "N":
control = false; //Termina el bucle principal del programa
repSwitch = false;
break;
default:
Console.WriteLine(
"\nLa entrada no es correcta. Pulse \"y\" o \"n\".");
repSwitch = true;
break;
}
}
}
}
}
}
namespace Tarea5
{
class Program
{
static void Main(string[] args)
{
//Inicialización de las variables que contienen los valores (coeficientes)
//introducidos por pantalla
double coefA = 0, coefB = 0, coefC = 0;
bool control = true;
while (control == true)
{
Console.Clear();
Console.ForegroundColor=ConsoleColor.Blue;
Console.WriteLine("Resolver ecuaciones de segundo grado.");
Console.ForegroundColor=ConsoleColor.DarkYellow;
Console.WriteLine("Ecuaciones del tipo: Ax^2 + Bx + C = 0");
//Usamos un try / Cath para que el
// usuario solo ingrese numeros
bool rep = true;
while (rep == true)
{
try
{
Console.ForegroundColor=ConsoleColor.Green ;
Console.WriteLine("\nIntroducir el valor para A:");
coefA = Double.Parse(Console.ReadLine());
Console.ForegroundColor=ConsoleColor.Cyan;
Console.WriteLine("\nIntroducir el valor para B:");
coefB = Double.Parse(Console.ReadLine());
Console.ForegroundColor=ConsoleColor.Magenta;
Console.WriteLine("\nIntroducir el valor para C:");
coefC = Double.Parse(Console.ReadLine());
rep = false;
}
catch (FormatException)
{
Console.Clear();
Console.WriteLine("¡ERROR!. Introducir solo valores numéricos.");
rep = true;
}
}
//Valores internos de la raiz cuadrada
double Bcuadrado = coefB * coefB;
double cuatroAC = 4 * coefA * coefC;
//Comprobamos si la raiz nos da un resultad negativo
// LA raiz solo pueden dar resultados positivos
if (Bcuadrado < cuatroAC && coefA > 0 && coefC > 0)
{
Console.Clear();
Console.ForegroundColor=ConsoleColor.Red;
Console.WriteLine("La ecuación no tiene solución." +
"\nEl resultado de la raiz cuadrada en negativo.");
}
else
{
//Creamos el Objeto de la Clase
Ecuacion ecu = new Ecuacion(coefA, coefB, coefC);
//Llamada a los métodos de calculo de clase ECgrado2
Console.WriteLine("\nValor 1 = {0}",ecu.raizpositiva());
Console.WriteLine("Valor 2 = {0}",ecu.raiznegativa());
}
Console.ForegroundColor=ConsoleColor.Yellow;
Console.WriteLine("\n¿Desea seguir calculando? (y/n)");
//Este último bloque se repite siempre que el usuario no introduzca el
//formato correcto (y/n) para la pregunta anterior
bool repSwitch = true;
while (repSwitch == true)
{
string SioNO = Console.ReadLine();
switch (SioNO)
{
case "y": case "Y":
control = true; //Repite el bloque principal del programa
repSwitch = false;
break;
case "n": case "N":
control = false; //Termina el bucle principal del programa
repSwitch = false;
break;
default:
Console.WriteLine(
"\nLa entrada no es correcta. Pulse \"y\" o \"n\".");
repSwitch = true;
break;
}
}
}
}
}
}
**********CLASE ECUACION***********
using System;
namespace Tarea5
{
class Ecuacion
{
private double A, B, C;
public Ecuacion(double a, double b, double c)
{
A = a;
B = b;
C = c;
}
public double raizpositiva() //Método que resuelve la raiz positiba
{
double result = ((-B + System.Math.Sqrt (B * B - 4 * A * C)) / (2 * A));
return result;
}
public double raiznegativa() //Método que resuelve la raiz negativa
{
double result = ((-B - System.Math.Sqrt(B * B - 4 * A * C)) / (2 * A));
return result;
}
}
}
namespace Tarea5
{
class Ecuacion
{
private double A, B, C;
public Ecuacion(double a, double b, double c)
{
A = a;
B = b;
C = c;
}
public double raizpositiva() //Método que resuelve la raiz positiba
{
double result = ((-B + System.Math.Sqrt (B * B - 4 * A * C)) / (2 * A));
return result;
}
public double raiznegativa() //Método que resuelve la raiz negativa
{
double result = ((-B - System.Math.Sqrt(B * B - 4 * A * C)) / (2 * A));
return result;
}
}
}
No hay comentarios:
Publicar un comentario