elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:19  


Tema destacado: [Overclocking] Récords de overclock del foro

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Retos .Net
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Retos .Net  (Leído 4,675 veces)
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Retos .Net
« Respuesta #15 en: 26 Septiembre 2010, 07:45 »

Si, voy a postear la respuesta y a poner otro ejercicio :) pero mañana, que ahora estoy revisando el regristro -.-


En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.507


El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos .Net
« Respuesta #16 en: 26 Septiembre 2010, 17:35 »

Cierto... tienes otra anecdota de aprendiendo a base de palos. ;D


En línea

criskapunk

Desconectado Desconectado

Mensajes: 255



Ver Perfil
Re: Retos .Net
« Respuesta #17 en: 28 Septiembre 2010, 18:43 »

Con autorizacion de [D4N93R] posteo un nuevo reto :)

Reto #9
Dada una fraccion, simplificarla hasta llegar a su irreductible.

Un saludo ;)
En línea
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.507


El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos .Net
« Respuesta #18 en: 28 Septiembre 2010, 19:57 »

Respuesta al Reto#9:
Código
using System;
 
namespace fraccion
{
class MainClass
{
public static void factorizar (ref int a,ref int b)
{
for(int i=2;i<b+1;i++)if(a%i==0 && b%i==0)
{
a/=i;
b/=i;
i--;
}
}
 
public static void Main (string[] args)
{
string fraccion;
string[] split;
int[] valor = new int[2];
 
Console.WriteLine("Introduzca la fraccion en el formato a/b : ");
fraccion = Console.ReadLine();
split = fraccion.Split(char.Parse("/"));
for(int i=0;i<2;i++) valor[i] = Int32.Parse(split[i]);
 
if(valor[0]>=valor[1])factorizar(ref valor[0],ref valor[1]);
else factorizar(ref valor[1],ref valor[0]);
 
Console.WriteLine("{0}/{1}",valor[0],valor[1]);
}
}
}
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.507


El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos .Net
« Respuesta #19 en: 29 Septiembre 2010, 07:08 »

Reto #10: Realizar una agenda telefonica.

Nota sobre el reto: Se debe crear una base de datos SQL desde el programa en la cual se guardara nombre. apellido, sexo, edad, telefono. El programa debe contar con las siguientes opciones...

1)Agregar nuevo contacto.
2)Eliminar contacto.
3)Buscar contacto.
4)Editar contacto.
« Última modificación: 29 Septiembre 2010, 07:15 por Lord R.N.A. » En línea

final_frontier
Wiki

Desconectado Desconectado

Mensajes: 574


WOLOLOOO! Deal with it x)


Ver Perfil
Re: Retos .Net
« Respuesta #20 en: 6 Diciembre 2010, 03:26 »

@Lord R.N.A.

Cacho de ca**** yo no descansaba si no daba con la tecla :xD :xD :xD :xD

Mi solución propuesta

Antes que nada, la tabla que he utilizado

Código
CREATE TABLE contacto(
 
 nombre  VARCHAR(50) NOT NULL,
 sexo    CHAR(1),
 edad    INT,
 tlf     CHAR(9) NOT NULL,
 
 CONSTRAINT KeyAgenda PRIMARY KEY (nombre, tlf),
 CONSTRAINT CaracterSexo CHECK sexo IN ('H', 'M')
);

Y aquí el programa

Código
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Para conectar con base de datos
using MySql.Data.MySqlClient;
 
 
namespace Agenda
{
   class Program
   {
       private bool abierto = false;
       private MySqlDataReader Reader;
       private MySqlConnection connection;
       private MySqlCommand command;
       private int numContactos = 0;
       private string MyConString;
       private bool encontrar(string nom, string tel)
       {
           bool ret = false;
 
           if (numContactos != 0)
           {
               string comando = "SELECT * FROM contacto "
                                + "WHERE nombre = '" + nom + "' AND "
                                + "tlf = '" + tel + "';";
               //Comando de selección para la búsqueda
               command.CommandText = comando;
               Reader = command.ExecuteReader();
 
               while ((Reader.Read()) && (ret == false))
                   ret = true; //Si llega a entrar en el bucle es que por lo menos
               //ha encontrado un dato. Al estar buscando por la
               //clave primaria de la relación, sólo debería devolver
               //un único valor, el buscado.
               Reader.Dispose();
           }
 
           return ret;
       }
 
       public void agregarCon(string nom, char sex, int edad, string tlf)
       {
           if (!encontrar(nom, tlf))
           {
               string agrega = "INSERT INTO contacto VALUES('" + nom + "','" + sex + "','" + edad + "','" + tlf + "');";
               command.CommandText = agrega;
               command.ExecuteNonQuery();
               numContactos++;
           }
           else
           {
               System.Console.WriteLine("Contacto previamente accesible en la tabla");
           }
       }
       public void imprimeAgenda()
       {
           if (numContactos != 0)
           {
               command.CommandText = "SELECT * FROM contacto;";
 
               Reader = command.ExecuteReader();
               while (Reader.Read())
               {
                   for (int i = 0; i < Reader.FieldCount; i++)
                       System.Console.Write(Reader.GetValue(i).ToString() + " ");
                   System.Console.Write("\n");
               }
 
               Reader.Dispose();
           }
       }
       public void editarContacto(string nom, string tel)
       {
           if (numContactos != 0)
           {
               //Variables para la edición
               string nnom;
               char nsex;
               int nedad;
               string ntel;
 
               System.Console.WriteLine("Nuevo nombre: ");
               do
               {
                   nnom = System.Console.ReadLine();
                   System.Console.WriteLine();
               }while(nnom.Length>50);
 
               System.Console.WriteLine("Nuevo sexo: ");
               do
               {
                   string aux = System.Console.ReadLine();
                   nsex = aux[0];
                   System.Console.WriteLine();
               } while ((nsex != 'M') && (nsex != 'H'));
 
               System.Console.WriteLine("Nueva edad: ");
               do
               {
                   try
                   {
                       nedad = Convert.ToInt32(System.Console.ReadLine());
                   }
                   catch (InvalidCastException)
                   {
                       nedad = -1;
                   }
               } while (nedad == -1);
 
               System.Console.WriteLine("Nuevo teléfono: ");
               do
               {
                   ntel = System.Console.ReadLine();
                   System.Console.WriteLine();
               } while (ntel.Length > 9);
 
               eliminaContacto(nom, tel);
               agregarCon(nnom, nsex, nedad, ntel);
           }
       }
       public void eliminaContacto(string nom, string tel)
       {
           if (encontrar(nom, tel))
           {
               string comando = "DELETE FROM contacto "+
                                "WHERE nombre = '"+nom+"' AND tlf = '"+tel+"';";
               command.CommandText = comando;
               command.ExecuteNonQuery();
               System.Console.WriteLine("Contacto modificado satisfactoriamente");
           }
           else
           {
               System.Console.WriteLine("Contacto no encontrado...");
           }
       }
       public int getNumContactos()
       {
           return numContactos;
       }
 
       ~Program()
       {
           if (abierto)
           {
               Reader.Close();
               connection.Close();
           }
       }
       Program()
       {
           MyConString = "SERVER=localhost;" +
               "DATABASE=agenda;" +
               "UID=usuario;" +
               "PASSWORD=user;";
           connection = new MySqlConnection(MyConString);
           command = connection.CreateCommand();
           connection.Open();
           abierto = true;
           command.CommandText = "SELECT * FROM contacto;";
           Reader = command.ExecuteReader();
           while (Reader.Read())
               numContactos++;
 
           Reader.Dispose();
       }
 
       public static void menu()
       {
           System.Console.WriteLine("---------MENU---------");
           System.Console.WriteLine("1.- Agregar contacto");
           System.Console.WriteLine("2.- Modificar contacto");
           System.Console.WriteLine("3.- Eliminar contacto");
           System.Console.WriteLine("4.- Ver Base actual");
           System.Console.WriteLine("5.- Salir");
           System.Console.Write("Elija una opción: ");
       }
 
       static void Main(string[] args)
       {
           Program obj = new Program();
           int opcion;
           string nnom;
           char nsex;
           int nedad;
           string ntel;
           try
           {
               do
               {
                   Console.Clear();
                   Program.menu();
                   try
                   {
                       opcion = Convert.ToInt32(System.Console.ReadLine());
                   }
                   catch (InvalidCastException)
                   {
                       opcion = 0;
                   }
 
                   System.Console.WriteLine();
                   switch (opcion)
                   {
                       case 1:
                           System.Console.WriteLine("Nombre: ");
                           do
                           {
                               nnom = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (nnom.Length > 50);
 
                           System.Console.WriteLine("Sexo: ");
                           do
                           {
                               string aux = System.Console.ReadLine();
                               nsex = aux[0];
                               System.Console.WriteLine();
                           } while ((nsex != 'M') && (nsex != 'H'));
 
                           System.Console.WriteLine("Edad: ");
                           do
                           {
                               try
                               {
                                   nedad = Convert.ToInt32(System.Console.ReadLine());
                               }
                               catch (InvalidCastException)
                               {
                                   nedad = -1;
                               }
                           } while (nedad == -1);
 
                           System.Console.WriteLine("Teléfono: ");
                           do
                           {
                               ntel = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (ntel.Length > 50);
 
                           obj.agregarCon(nnom, nsex, nedad, ntel);
                           System.Console.ReadLine();
                           break;
 
                       case 2:
                           System.Console.WriteLine("Nombre: ");
                           do
                           {
                               nnom = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (nnom.Length > 50);
 
                           System.Console.WriteLine("Teléfono: ");
                           do
                           {
                               ntel = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (ntel.Length > 50);
 
                           obj.editarContacto(nnom, ntel);
 
                           System.Console.ReadLine();
                           break;
                       case 3:
                           System.Console.WriteLine("Nombre: ");
                           do
                           {
                               nnom = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (nnom.Length > 50);
 
                           System.Console.WriteLine("Teléfono: ");
                           do
                           {
                               ntel = System.Console.ReadLine();
                               System.Console.WriteLine();
                           } while (ntel.Length > 50);
 
                           obj.eliminaContacto(nnom, ntel);
                           System.Console.ReadLine();
                           break;
                       case 4:
                           obj.imprimeAgenda();
                           System.Console.ReadLine();
                           break;
                       case 5:
                           break;
 
                       default:
                           System.Console.WriteLine("Opción incorrecta");
                           System.Console.ReadLine();
                           break;
                   }
 
               } while (opcion != 5);
           }
           catch (MySqlException e)
           {
               System.Console.WriteLine("Excepción: " + e.Message);
           }
           finally
           {
               System.Console.WriteLine("Presione una tecla para salir");
               System.Console.ReadLine();
           }
       }
   }
}

Reto 11: A partir de una clase base llamada Polígono, generar las clases Esfera, Círculo, Rectángulo y Triángulo que permita en todos los casos obtener el área y perímetro de las figuras que representa cada clase.

Feliz navidad :B
« Última modificación: 6 Diciembre 2010, 05:30 por final_frontier » En línea

Sie ist der hellste Stern von allen und wird nie vom Himmel fallen...
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Wargame] 23 Retos !! Sencillos y Medios !! -- 23 Retos !!
Desafíos - Wargames
niñoweb 7 4,133 Último mensaje 19 Marzo 2009, 14:43
por niñoweb
Retos
Desafíos - Wargames
Daemon Freedom 8 4,312 Último mensaje 13 Junio 2010, 04:24
por Daemon Freedom
Retos C/C++ « 1 2 ... 5 6 »
Ejercicios
[L]ord [R]NA 85 13,290 Último mensaje 3 Octubre 2010, 16:57
por Komodo
cuando consigo nuevos retos?
WarZone
Tyrz 11 1,531 Último mensaje 15 Junio 2011, 23:11
por [-Franko-]
Desarrollo de Retos Informaticos
Desarrollo Web
Sinedra 0 1,271 Último mensaje 23 Febrero 2011, 19:23
por Sinedra
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines