miércoles, 26 de septiembre de 2012

Ejercicio No.4 Realizar una clase en C# de nombre AdivinarNumero, Su objetivo será permitir que el usuario averigüe un número entero generado aleatoriamente y comprendido entre [0,100] que se almacenará, dentro del código de la clase, en una variable intero a la que se llamará numero. La clase recibirá un número ingresado por teclado como parámetro e informará de si el número que introduce el usuario es mayor o menor que el número generado aleatoriamente. Si no se acierta a la primera, no importa porque tiene 3 oportunidades de introducir números de forma ininterrumpida. Cuando el usuario acierte, se mostrará un mensaje de felicitación y el número de intentos empleados. Tener en cuenta: Si el usuario introduce un número no comprendido entre [0,100], el programa mostrará un mensaje informativo. Si el usuario teclea asterisco, el programa deberá finalizar. La generación aleatoria del número a adivinar se realizará con la clase Random y el método Next() del C#.


Clase Program

using System;

name space AdivinarNumero
{
class Program
{
public static void Main(string[] args)
{
int numer=0;
Console.SetCursorPosition(30,3);
Console.WriteLine(" ADIVINAR NUMERO ");
Console.SetCursorPosition(25,5);
Console.WriteLine("SOLO TENDRA 3  INTENTOS");

do{
Console.SetCursorPosition(25,7);
Console.WriteLine("INGRESE UN NUMERO ENTRE 1 - 100:  ");
Console.SetCursorPosition(59,7);
numer=int.Parse(Console.ReadLine());
if(numer>100){
Console.SetCursorPosition(25,9);
Console.WriteLine(" NUMERO FUERA DE RANGO ");
}

} while((numer>0) && (numer>100));

AdivinarNumero obj1=new AdivinarNumero();
obj1.Adivinar(numer);
obj1.generarnumero();
Console.ReadKey();
}

   }
}

           

Clase AdivinarNumero

using System;

namespace AdivinarNumero
{
     
      public class AdivinarNumero
{
private int numero;
public AdivinarNumero()
{
this.numero=0;
}
public void Adivinar(int c)
{
this.numero=c;
}
public void generarnumero()
{
int a=0;
int i=0;
int cont=0;
int veces=0;
Random obj2=new Random ();
for(i=0;i<1;i++){
a=obj2.Next(1,100);
}

if(this.numero == a ){
Console.SetCursorPosition(25,11);
Console.WriteLine("FELICITACIONES GANASTE EL NUMERO ERA EL {0}",a);
}
else{
if(this.numero >a){

Console.SetCursorPosition(25,13);
Console.WriteLine("EL NUMERO ES MAYOR AL GENERADO");
}
else{
Console.SetCursorPosition(25,13);
Console.WriteLine("EL NUMERO ES MENOR AL GENERADO");
}
}


if(this.numero != a){
do {
Console.SetCursorPosition(25,15);
Console.WriteLine("Ingrese de nuevo otro numero");
Console.SetCursorPosition(59,15);
int c=int.Parse(Console.ReadLine());
if(c == a ){
Console.SetCursorPosition(25,17);
Console.WriteLine("FELICITACIONES GANASTE EL NUMERO ERA EL {0}",a);
Console.WriteLine("INTENTO {0}", veces+2);
cont=2;
}
else{
if(c>a){
Console.SetCursorPosition(25,19);
Console.WriteLine("El numero es mayor al generado ");
}
else {
Console.SetCursorPosition(25,19);
Console.WriteLine("El numero es menor al generado ");
Console.SetCursorPosition(25,20);
Console.WriteLine("PERDISTE");
}
}
cont++;
veces=veces+1;
}while(cont<2);

      }
    }
  }
}






lunes, 17 de septiembre de 2012

Implementar una clase de nombre Ecuacion, la misma que permita resolver una ecuación de segundo grado y retorne el resultado. Realice un programa para probar dicha clase.


************ 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;
}
}
}
}
}
}

**********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;
}
}
}