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([Link], [Link])
+ 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;
[Link]("\n REGISTRO DE DATOS");
[Link]("\nIdentificación: ");
iden=[Link]();
[Link]("Nombre: ");
nombre = [Link]();
[Link]("Cuántas horas semanales dicta clase: ");
linea = [Link]();
hSemanal = [Link](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.
[Link](" ...Valor incorrecto");
[Link](" Debe digitar un número entre 1 y 20");
[Link](" Número de horas semanales que dicta clase: ");
linea = [Link]();
hSemanal = [Link](linea);
}
}
public void validarCategoria() //Método
{
string linea;
[Link]("Categorías");
[Link]("1. Profesional");
[Link]("2. Especialista");
[Link]("3. Magister");
[Link]("4. Doctor");
[Link]("\nDigite el número que corresponda a su categoría: ");
linea = [Link]();
categoria = [Link](linea);
while(categoria<1 || categoria>4)
{
[Link](" ...Valor incorrecto");
[Link](" Debe digitar un número entre 1 y 4");
[Link](" Elija su categoria: ");
linea = [Link]();
categoria = [Link](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 ([Link] > [Link])
nom = [Link];
else
if ([Link] > [Link])
nom = [Link];
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="";
[Link]("\n\nDATOS REGISTRADOS");
[Link]("\nIdentificación: " + [Link]);
[Link]("Nombre: " + [Link]);
switch([Link])
{
case 1:
nomCat = "Profesional";
break;
case 2:
nomCat = "Especialista";
break;
case 3:
nomCat = "Magister";
break;
case 4:
nomCat = "Doctor";
break;
}
[Link]("Categoría: " + nomCat);
[Link]("Horas semanales: " + [Link]);
[Link]("Sueldo mensual: " + [Link]);
}
}
}
Clase Program
namespace EjemploClase2
{
class Program
{
static void Main(string[] args)
{
[Link]("Bienvenidos al Programa para Registro de Docentes");
//Creación de los objetos
Docente d1 = new Docente();
Docente d2 = new Docente();
[Link]("\nDOCENTE 1");
// Llamada a métodos
[Link]();
[Link]();
[Link]("\nEl sueldo de "+[Link]+ " es " +
[Link]([Link], [Link]));
[Link]("\nDOCENTE 2");
[Link]();
[Link]();
[Link]("\nEl sueldo de " + [Link] + " es " +
[Link]([Link], [Link]));
CURSO: 301304 – Introducción a la Programación
DOCENTE: Mirian Benavides R.
[Link]("\nCOMPARACIÓN DE SUELDOS");
[Link]("El sueldo mayor corresponde a: "+
[Link](d1,d2));
[Link]("\n Digite una tecla para continuar ...");
[Link]();
[Link](d1);
[Link](d2);
[Link]("\n Programa finalizado ... Digite una tecla para
salir");
[Link]();
}
}
}