Programacion UTN-FRA
Septiembre 10, 2010, 11:07:27 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Ingresar Registrarse  
Páginas: [1]
  Agregar a favoritos  |  Imprimir  
Autor Tema: Lab II Turno Noche - Ejercicio de médicos (repaso 1° parcial)  (Leído 458 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Severino
Moderador Global
*****
Mensajes: 3.001



« : Septiembre 30, 2009, 12:50:54 pm »

Les paso 2 versiones del ejercicio que hicimos en la clase de repaso. Una es con los métodos buscar y mostrar en el program y la otra con los métodos adentro de la clase.

Versión 1:

Versión 2:

Saludos
En línea

Solo los usuarios registrados pueden ver links.
Resgistrate o Inicia sesion
kiwii
Trainee
*
Mensajes: 5


« Respuesta #1 : Octubre 01, 2009, 08:59:45 am »

 Cheesy Gracias!!
En línea
christian
Junior
*
Mensajes: 65


« Respuesta #2 : Octubre 03, 2009, 04:21:48 pm »

Como va Severino!!!! aca te dejo mi codigo para ver si me podes dar una opinion. O sea si sirve para el parcial , hice todo lo que pedian. gracias!!!. Perdona que no lo deje como vos ya que me tira error de sercvidor cuando lo quiero previsualizar!!!!!! Gracias!!!





* Parcial 1.rar (22.45 KB - descargado 14 veces.)
« Última modificación: Octubre 03, 2009, 04:27:37 pm por christian » En línea
Severino
Moderador Global
*****
Mensajes: 3.001



« Respuesta #3 : Octubre 04, 2009, 03:14:44 pm »

Como va Severino!!!! aca te dejo mi codigo para ver si me podes dar una opinion. O sea si sirve para el parcial , hice todo lo que pedian. gracias!!!. Perdona que no lo deje como vos ya que me tira error de sercvidor cuando lo quiero previsualizar!!!!!! Gracias!!!

Todo tranqui. Ahí va:

Errores grandes tenes estos:
La clase médico no debe tener ningún atributo público. No estas respetando el encapsulamiento. Fijate que tenes como público los atributos nombre, apellido y el vector de obras sociales.
Nombre y apellido te pide ingresarlos por el constructor. Entonces, a diferencia del resto de los atributos no vas a tener una propiedad de get y set porque el "set" lo harías desde el constructor. En este caso tenes que hacerle el Get sólo, es decir una propiedad de solo lectura. Porque que lo ingreses por el constructor no quiere decir que lo puedas poner público. Entonces para esos atributos tendrías una propìedad de sólo lectura que te permite consultar estos valores desde el progam:
Código
Lenguaje: csharp
 
private string nombre;
private string  apellido;
 
public string Nombre
     {
         get {return nombre;}
     }
 
public string Apellido
     {
         get {return apellido;}
     }
 
 

PAra las obras sociales lo mismo....que sea un vector no te impide hacerle una propiedad:

Código
Lenguaje: csharp
private  string[] oSoc;
public string[] OSOC
     {
         set { oSoc = value; }
         get { return oSoc; }
     }

Y para usar este vector desde el program llamas a su propiedad. Después veo que le estas poniendo una dimensión fija al vector (3). Eso está mal, la consigna no decía que cada médico trabaja 3 obras sociales sino que puede trabajar varias. Tenes que tratarlo dinámicamente:

Código
Lenguaje: csharp
Console.WriteLine("Ingrese la cantidad de obras sociales que tendrá el médico");
                    int cantobras = int.Parse(Console.ReadLine());
                    vector[i].OSOC = new string[cantobras];
 

Luego tenes algunas cosas que estan de más o tienen mucha vuelta....te recomiendo que mires el ejemplo que puse. Por ejemplo:
1-El menú no va dentro de la clase, sino que se hace desde el program.
2-Es muy redundante hacer un método por cada valor del médico que vas a ingresar. Me refiero a:
Código
Lenguaje: csharp
vector[i].DNI = Program.ingdni(dni);
//ingreso de dni
     public static string ingdni(string dni)
     {
        Console.Write("Ingresar DNI: ");
        dni = Console.ReadLine();
        return dni;
     }// fin ing nom
 
Acá deberías usar directamente la propiedad de la clase médico, siempre desde el program:
Código
Lenguaje: csharp
Console.writeline("Ingrese...");
vector[i].DNI = Console.ReadLine();
 
Así respetas el encapsulamiento y lo resolves en 2 líneas.
Después fijate, veo que pasas variables a los médotos y no las usas...y algunas cositas más. Como te decía, pegale una mirada al ejemplo que puse porque lo trabajas muy distinto a como vemos en clase.
Igual si corregís lo que te marqué primero anda bastante bien  okas
« Última modificación: Octubre 04, 2009, 03:18:21 pm por Severino » En línea

Solo los usuarios registrados pueden ver links.
Resgistrate o Inicia sesion
christian
Junior
*
Mensajes: 65


« Respuesta #4 : Octubre 04, 2009, 03:43:20 pm »

Ok joya gracias ahora me pongo con eso!!!! Salidsos!!!
En línea
johnnymc89
Explode our mind
Trainee
*
Mensajes: 4


Never trust a hippy


WWW
« Respuesta #5 : Octubre 06, 2009, 04:58:06 pm »

Gracias Reverencia
En línea

Penguins and polarbears
Páginas: [1]
  Agregar a favoritos  |  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.10 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!