Vous êtes sur la page 1sur 5

CURSO: 301304 – Introducción a la Programación

DOCENTE: Mirian Benavides R.

EJEMPLO DE MANEJO DE CLASES


Webconference 2

PROBLEMA

Una institución educativa de bachillerato requiere una aplicación que permita


registrar los datos de docentes: identificación, nombre, categoría, horas semanales
de clase.
Se debe tener en cuenta la siguiente tabla para liquidar el sueldo mensual

Código Categoría Valor hora


categoría semanal
1 Profesional 30.000
2 Especialista 35.000
3 Magister 40.000
4 Doctor 50.000

El programa debe permitir la comparación entre 2 docentes e identificar quien


tiene mayor sueldo mensual.

TABLA DE REQUERIMIENTOS

Identificación del Descripción Entradas Resultados


requerimiento (salidas)
R1 Capturar datos del Dos cadenas para Datos
docente identificación y almacenados en
nombre, un entero las variables: iden,
para horas nombre,
semanales hSemanal
R2 Validar categoria Un valor entero Dato almacenado
para categoría en la variable
categoria
R3 Calcular el sueldo Las variables SueldoMes
mensual por categoria,
docente hSemanal
R4 Identificar sueldo Las variables nombre docente
mayor entre dos sueldoMes de dos con mayor sueldo
docentes docentes
R5 Imprimir datos Contenidos de Iden, nombre,
registrados variables categoria,
hSemanal,
sueldoMes
CURSO: 301304 – Introducción a la Programación
DOCENTE: Mirian Benavides R.

CLASE

Docente
- iden
- nombre
- categoria
- hSemanal
- sueldoMes
+ Docente()
+ registrarDatos()
+ validarCategoria()
+ calcularSueldo(codCat,hSem)
+ sueldoMayor(a.sueldo, b.sueldo)
+ imprimirDatos()

CÓDIGO

Clase Docente

namespace EjemploClase2
{
class Docente
{
// Declaración de atributos o propiedades de la clase Docente
public string iden, nombre;
public int categoria, hSemanal;
public float sueldoMes;
// Declaración de métodos de la clase docente
public Docente() // método constructor, para inicializar variables
{
iden = "";
nombre = "";
categoria = 0;
hSemanal = 0;
sueldoMes = 0;
}
public void registrarDatos() //Método
{
string linea;
Console.WriteLine("\n REGISTRO DE DATOS");
Console.Write("\nIdentificación: ");
iden=Console.ReadLine();
Console.Write("Nombre: ");
nombre = Console.ReadLine();
Console.Write("Cuántas horas semanales dicta clase: ");
linea = Console.ReadLine();
hSemanal = int.Parse(linea);
// Validación del valor correspondiente a las horas semanales de clase
while(hSemanal<0 || hSemanal>20)
{
CURSO: 301304 – Introducción a la Programación
DOCENTE: Mirian Benavides R.

Console.WriteLine(" ...Valor incorrecto");


Console.WriteLine(" Debe digitar un número entre 1 y 20");
Console.Write(" Número de horas semanales que dicta clase: ");
linea = Console.ReadLine();
hSemanal = int.Parse(linea);
}
}
public void validarCategoria() //Método
{
string linea;
Console.WriteLine("Categorías");
Console.WriteLine("1. Profesional");
Console.WriteLine("2. Especialista");
Console.WriteLine("3. Magister");
Console.WriteLine("4. Doctor");
Console.Write("\nDigite el número que corresponda a su categoría: ");
linea = Console.ReadLine();
categoria = int.Parse(linea);
while(categoria<1 || categoria>4)
{
Console.WriteLine(" ...Valor incorrecto");
Console.WriteLine(" Debe digitar un número entre 1 y 4");
Console.Write(" Elija su categoria: ");
linea = Console.ReadLine();
categoria = int.Parse(linea);
}
}
public float calcularSueldo(int codCat, int hSem) //Método
{
switch (codCat)
{
case 1:
sueldoMes = hSem * 30000 * 4;
break;
case 2:
sueldoMes = hSem * 35000 * 4;
break;
case 3:
sueldoMes = hSem * 40000 * 4;
break;
case 4:
sueldoMes = hSem * 50000 * 4;
break;
}
return sueldoMes;
}
public string sueldoMayor(Docente a, Docente b)
{
string nom;
if (a.sueldoMes > b.sueldoMes)
nom = a.nombre;
else
if (b.sueldoMes > a.sueldoMes)
nom = b.nombre;
else
nom = "";
return nom;
CURSO: 301304 – Introducción a la Programación
DOCENTE: Mirian Benavides R.

}
public void imprimirDatos(Docente a) //Método
{
string nomCat="";
Console.WriteLine("\n\nDATOS REGISTRADOS");
Console.WriteLine("\nIdentificación: " + a.iden);
Console.WriteLine("Nombre: " + a.nombre);
switch(a.categoria)
{
case 1:
nomCat = "Profesional";
break;
case 2:
nomCat = "Especialista";
break;
case 3:
nomCat = "Magister";
break;
case 4:
nomCat = "Doctor";
break;
}
Console.WriteLine("Categoría: " + nomCat);
Console.WriteLine("Horas semanales: " + a.hSemanal);
Console.WriteLine("Sueldo mensual: " + a.sueldoMes);

}
}
}

Clase Program

namespace EjemploClase2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bienvenidos al Programa para Registro de Docentes");
//Creación de los objetos
Docente d1 = new Docente();
Docente d2 = new Docente();
Console.WriteLine("\nDOCENTE 1");
// Llamada a métodos
d1.registrarDatos();
d1.validarCategoria();
Console.WriteLine("\nEl sueldo de "+d1.nombre+ " es " +
d1.calcularSueldo(d1.categoria, d1.hSemanal));
Console.WriteLine("\nDOCENTE 2");
d2.registrarDatos();
d2.validarCategoria();
Console.WriteLine("\nEl sueldo de " + d2.nombre + " es " +
d2.calcularSueldo(d2.categoria, d2.hSemanal));
CURSO: 301304 – Introducción a la Programación
DOCENTE: Mirian Benavides R.

Console.WriteLine("\nCOMPARACIÓN DE SUELDOS");
Console.WriteLine("El sueldo mayor corresponde a: "+
d1.sueldoMayor(d1,d2));
Console.WriteLine("\n Digite una tecla para continuar ...");
Console.ReadKey();
d1.imprimirDatos(d1);
d2.imprimirDatos(d2);
Console.WriteLine("\n Programa finalizado ... Digite una tecla para
salir");
Console.ReadKey();
}
}
}

Vous aimerez peut-être aussi