Está en la página 1de 13

INTRODUCCION A LA PROGRAMACION

Fase 4 – Administrar Datos en Arreglos

Presentado al tutor (a):


GUSTAVO EDUARDO CONSTAÍN MORENO

Entregado por el (la) estudiante:

LUIS HERNAN GUILLERMO ROBLES ALVIS

Grupo:

301304_140

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS INGENIERÍA DE SISTEMAS
MAYO 2020
LA DORADA-CALDAS
Problema 1.
La institución universitaria Franciscana, necesita una aplicación para
registrar N docentes de tiempo completo (identificación, nombre,
título). El título puede ser 1. Especialista, 2. Magister, 3. Doctor.
Los sueldos mensuales son de 4.000.000, 5.000.000 y 7.000.000
respectivamente.
La aplicación debe incluir un menú, con las siguientes opciones:
 Registrar datos docentes (identificación, nombre, título)
 Registrar sueldos (categoría, sueldo)
 Imprimir lista docentes (identificación, nombre, título, sueldo)
 Salir
En la solución debe incluir mínimo 2 clases (con sus respectivos
atributos y métodos) adicionales a la clase Program.

ANALISIS DE REQUERIMIENTOS

Requerimient Descripción Entrada Resultados


os de salidas
R1 Solicitar al usuario la Un dato Un dato
opción para determinar numérico almacenad
cuál método se va a ingresado por el o en la
utilizar usuario variable
opc
Si la opción es 1 se 3 datos 3 datos
R2 direcciona al método ingresados por almacenad
sueldos.agregarDocent el usuario, los os en los
e() cuales son vectores
Cedula, Cedula,
Nombre y Nombre, y
Titulo Titulo

R3 Si la opción es 2 se 3 datos 3 datos


direcciona al método ingresados por almacenad
sueldos.agregarSueldo( el usuario, los os en los
) cuales son vectores
Cedula, Cedula,
Categoría y Categoría
Sueldo y Sueldo
Si la opción es 3 se Recibe los datos 5 datos
R4 direcciona al método almacenados en almacenad
sueldos.imprimir() los métodos os en los
agregarDocen vectores
te y Cedula ,
agregarSueld Nombre ,
o Titulo ,
Categoría y
Sueldo.

CLASE

OBJETOS
Cedula , Nombre , Titulo , Categoría y Sueldo.

+ Docentes()

+ Sueldos()

+ Imprimir()

DESARROLLO
using System;

namespace institucion
{
class Program
{

static void Main(string[] args)


{

sueldos sueldos = new sueldos();


int opc;
inicio:

Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("BIENVENIDOS AL SISTEMA DE REGISTRO DE NOMINA DE LA
INSTITUCION UNIVERSITARIA FRANCISCANA");
Console.WriteLine("\n");
Console.WriteLine("\n");
Console.WriteLine("DIGITE 1 PARA REGISTRAR DOCENTE :");
Console.WriteLine("DIGITE 2 PARA REGISTRAR SUELDO :");
Console.WriteLine("DIGITE 3 PARA IMPRIMIR NOMINA :");

Console.WriteLine("DIGITE 0 PARA SALIR :");


Console.WriteLine("DIGITE LA OPCION SELECCIONADA :");
opc = Convert.ToInt32(Console.ReadLine());

Console.Clear();

while (opc != 0)
{
switch (opc)
{

case 1:

sueldos.agregarDocente();

goto inicio;

case 2:
sueldos.agregarSueldo();
goto inicio;

case 3:
sueldos.imprimir();
goto inicio;

default:

Console.WriteLine("digite una opcion valida");

goto inicio;

}
}
Console.ReadKey();
}
}
}
CLASE DOCENTES
using System;
using System.Collections.Generic;
using System.Text;

namespace institucion
{
public class docentes
{
public sueldos[] pago;
public int iden;
public string nombre;
public int categoria;
public int sueldo;
public int cantidad;
public string titulo;
public docentes()
{
iden = 0;
nombre = "";
cantidad = 100;
titulo = "";
categoria = 0;
sueldo = 0;
pago = new sueldos[cantidad];
}

public void indentificacion()


{
string l;
Console.Write("\nDigite el numero de cedula ");
l = Console.ReadLine();
iden = int.Parse(l);
}

public void agregardatos()


{
Console.Write("Digite el nombre : ");
nombre = Console.ReadLine();
titulo:

Console.Write("Digite el titulo : ");


titulo = Console.ReadLine();

switch (titulo)
{

case "especialista":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;
case "magister":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;

case "doctor":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;
case "ESPECIALISTA":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;

case "MAGISTER":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;

case "DOCTOR":
Console.WriteLine("Datos ingresados correctamente");
Console.WriteLine("\n");
break;
default:

Console.WriteLine("\n");
Console.WriteLine("digite una opcion valida");
Console.WriteLine("\n");
Console.WriteLine("1.especialista --- 2.magister ---
3.doctor---");
Console.WriteLine("\n");
Console.WriteLine("\n");
Console.ReadKey();
Console.Clear();
goto titulo;

}
}
CLASE SUELDOS
using System;
using System.Collections.Generic;
using System.Text;

namespace institucion
{
public class sueldos
{
public docentes[] docentes;
public sueldos[] pago;
public int categoria;
public int sueldo;
public int[] categoria2;
public int[] sueldo2;
public int cantidad;
public string[] titulo;
public string[] nombre;
public int registros;
public int iden;
public int[] iden2;

public sueldos()
{
nombre =new string[100];
categoria = 0;
sueldo = 0;
categoria2 = new int[100];
sueldo2 = new int[100];
cantidad = 100;
iden2 = new int[100];
iden = 0;
registros = 0;
titulo = new string[100];
docentes = new docentes[cantidad];
pago = new sueldos[cantidad];
}

public void agregarRegistros()


{
int i, j;
bool celencontrada = false;
string l;
Console.Write("\nDIGITE LA CANTIDAD DE REGISTROS : ");
l = Console.ReadLine();
registros = int.Parse(l);
for (i = 0; i < registros; i++)
{

docentes[i] = new docentes();


docentes[i].iden = 0;
}

docentes docente = new docentes();


for (i = 0; i < registros; i++)
{
celencontrada = false;
docente.indentificacion();

for (j = 0; j < registros; j++)


{
if (docente.iden == docentes[j].iden)
{
celencontrada = true;
i--;
break;
}

}
if (celencontrada == true)
{
Console.WriteLine("EL DOCENTE YA SE ENCUENTRA REGISTRADO ; INGRESE UN NUEVO
REGISTRO");
}
else
{
sueldos sueldos = new sueldos();
docentes[i].categoria = sueldos.categoria;
docentes[i].sueldo = sueldos.sueldo;

}
}
Console.ReadKey();
}

public void agregarDocente()


{
int i,j;
Boolean registroencontrado = false;
string l;
Console.Write("\nDIGITE LA CANTIDAD DE REGISTROS : ");
l = Console.ReadLine();
registros = int.Parse(l);
for (i = 0; i < registros; i++)
{
docentes[i] = new docentes();
docentes[i].iden = 0;
}

docentes docente = new docentes();

for (i = 0; i < registros; i++)


{
registroencontrado = false;
docente.indentificacion();

for (j = 0; j < registros; j++)


{
if (docente.iden == docentes[j].iden)
{
registroencontrado = true;
i--;
break;
}

}
if (registroencontrado == true)
{
Console.WriteLine("EL DOCENTE YA SE ENCUENTRA REGISTRADO ; INGRESE UN NUEVO
REGISTRO");
}
else
{
docente.agregardatos();
docentes[i].iden = docente.iden;
docentes[i].nombre = docente.nombre;
docentes[i].titulo = docente.titulo;
nombre[i] = docentes[i].nombre;
iden2[i] = docentes[i].iden;
titulo[i] = docentes[i].titulo;
docentes[i].categoria = categoria2[i];
docentes[i].sueldo = sueldo2[i];

}
Console.ReadKey();
}
public void agregardatos_p(string nombre2, string titulo2 ,int iden2, int
registros)
{
int i, sueldo2,categoria2;
string l;
docentes docente = new docentes();
for (i = 0; i < registros; i++)
{
docentes[i] = new docentes();
docentes[i].nombre = nombre2;
docentes[i].titulo = titulo2;
docentes[i].iden = iden2;

for (i = 0; i < registros; i++)


{

if (nombre2 == null)
{
goto cedula;
}
else
{
Console.Write("\nTENER ENCUENTA LOS SIGUIENTES DATOS : ");
Console.WriteLine("\n");
Console.Write("\nCATEGORIA 1: ESPECIALISTA --- CATEGORIA 2:
MAGISTER --- CATEGORIA 3: DOCTOR");
Console.WriteLine("\n");
Console.WriteLine("\n");
Console.WriteLine("CEDULA :" + docentes[i].iden);
Console.WriteLine("NOMBRE DOCENTE :" + docentes[i].nombre);
Console.WriteLine("TITULO :" + docentes[i].titulo);

break;

}
}

cedula:
Console.Write("\nDIGITE EL NUMERO DE CEDULA : ");
l = Console.ReadLine();
iden = int.Parse(l);

inicio:
Console.Write("DIGITE LA CATEGORIA : ");
categoria2 = int.Parse(Console.ReadLine());
Console.Write("DIGITE EL SUELDO : ");
sueldo2 = int.Parse(Console.ReadLine());

for (i = 0; i < registros; i++)


{
if (categoria2 == 1 )
{

if (sueldo2 <= 4000000)


{

sueldo = sueldo2;
categoria=categoria2;
titulo[i] = docentes[i].titulo;
nombre[i]=docentes[i].nombre;

}
else
{
Console.WriteLine("DATOS INCORRECTOS , REVISA BIEN LOS DATOS INGRESADOS ");
Console.WriteLine("EL SUELDO NO PUEDE EXCEDER LOS $ 4.000.000 Y LA CATEGORIA DEBE
SER = (1)");
goto inicio;
}
}

else if (categoria2 == 2 )
{

if (sueldo2 <= 5000000)


{

sueldo = sueldo2;
categoria = categoria2;
titulo[i] = docentes[i].titulo;
nombre[i] = docentes[i].nombre;
}
else
{
Console.WriteLine("DATOS INCORRECTOS , REVISA BIEN LOS DATOS INGRESADOS ");
Console.WriteLine("EL SUELDO NO PUEDE EXCEDER LOS $ 5.000.000 Y LA CATEGORIA DEBE
SER = (2)");
goto inicio;
}
}

else if (categoria2 == 3 )
{

if (sueldo2 <= 7000000)


{

sueldo = sueldo2;
categoria = categoria2;
titulo[i] = docentes[i].titulo;
nombre[i] = docentes[i].nombre;

}
else
{
Console.WriteLine("DATOS INCORRECTOS , REVISA BIEN LOS DATOS INGRESADOS ");
Console.WriteLine("EL SUELDO NO PUEDE EXCEDER LOS $ 7.000.000 Y LA CATEGORIA DEBE
SER = (3)");
goto inicio;
}
}
else
{
Console.WriteLine("DATOS INCORRECTOS , REVISA BIEN LOS DATOS INGRESADOS ");
Console.WriteLine("RECOMENDACIONES CATEGORIA 1 EL TITULO DEBE SER = ESPECIALISTA");
Console.WriteLine("RECOMENDACIONES CATEGORIA 2 EL TITULO DEBE SER = MAGISTER");
Console.WriteLine("RECOMENDACIONES CATEGORIA 3 EL TITULO DEBE SER = DOCTOR");
goto inicio;
}
}
Console.Write("REGISTROS INGRESADOS CORRECTAMENTE\n\n\n");
}

public void agregarSueldo()


{
int i;

string l;
Console.Write("\nDIGITE LA CANTIDAD DE REGISTROS : ");
l = Console.ReadLine();
registros = int.Parse(l);
for (i = 0; i < registros; i++)
{
docentes[i] = new docentes();
docentes[i].titulo =titulo[i];
docentes[i].nombre =nombre[i];
docentes[i].iden = iden2[i];
pago[i] = new sueldos();
pago[i].iden= 0;
}

sueldos pagos = new sueldos();


docentes docente = new docentes();
for (i = 0; i < registros; i++)
{
pagos.agregardatos_p(docentes[i].nombre,docentes[i].titulo,
docentes[i].iden, registros);

pago[i].iden = pagos.iden;
pago[i].categoria = pagos.categoria;
pago[i].sueldo = pagos.sueldo;
pago[i].titulo = pagos.titulo;
pago[i].nombre = pagos.nombre;

docentes[i].iden = pago[i].iden;
docentes[i].nombre = pago[i].nombre[i];
docentes[i].titulo = pago[i].titulo[i];
docentes[i].categoria = pago[i].categoria;
docentes[i].sueldo = pago[i].sueldo;
categoria2[i] = pago[i].categoria;
sueldo2[i] = pago[i].sueldo;

Console.WriteLine(" TENER ENCUENTA SI NO HA REGISTRADO EL DOCENTE :\n");


Console.WriteLine("ES NECESARIO REGISTRAR EL DOCENTE PARA GENERAR EL PAGO\n");
Console.WriteLine(" EN CASO CONTRARIO OMITA LA RECOMENDACION\n");
Console.ReadKey();
Console.Clear();
}

public void imprimir()


{
int i;
Console.WriteLine("NOMINA PARCIAL :");
for (i = 0; i < registros; i++)
{

Console.WriteLine("\n");

Console.WriteLine("CEDULA DOCENTE : "+docentes[i].iden + "\nNOMBRE


DOCENTE : " + docentes[i].nombre+ "\nTITULO : " + docentes[i].titulo + "
\nCATEGORIA : " + docentes[i].categoria+ " \nSUELDO : " + docentes[i].sueldo);
Console.WriteLine("\n");

}
Console.ReadKey();
}

También podría gustarte