Sei sulla pagina 1di 57

UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE

DEPARTAMENTO DE CIENCIAS DE LA COMUNICACIÓN


INGENIERIA EN SISTEMAS E INFORMATICA

PROYECTO DE FUNDAMENTOS DE PROGRAMACION

TEMA:

DISEÑO Y GENERACIÓN DE HORARIO ESCOLAR PARA


UN CENTRO DE EDUCACIÓN GENERAL BÁSICA.

AUTORES:
MANTILLA LOVATO GRACE ESTEFANIA
OLALLA LARCO ANGELO MARCELO

SANGOLQUI-ECUADOR
ABRIL-AGOSTO 2015
INTRODUCCION

El presente informe corresponde al proyecto de tipo experimental, que consiste

básicamente en el diseño y realización de un software, que nos permita programar un

horario escolar, enfocado en la educación general básica, esto con el fin de solucionar los

problemas que enfrentan las instituciones educativas en la programación de horarios,

logrando así, que no exista un cruce entre horas y que los horarios mantengan un

equilibrio para evitar que se acumulen asignaturas que poseen un contenido más

complejo, en el mismo día o que se les asignen a las ultimas horas. Es importante

mencionar que los horarios deben cumplir con las horas establecidas por el Ministerio de

Educación. Para realizar el diseño de este software, aplicamos conceptos y técnicas

previamente estudiadas, las mismas que juegan un papel importante en la programación

como son: funciones, cadenas, archivos planos, arreglos y punteros. Cabe recalcar que es

indispensable que para que un ordenador pueda llevar adelante una tarea, el mismo cuente

con un algoritmo perfectamente diseñado que indique a través de un programa, que es lo

que debe hacer con mayor precisión, por lo que es necesario, comprender claramente que

los algoritmos son un conjunto de acciones o secuencias de operaciones ejecutadas en un

determinado orden para resolver un problema.

ANTECEDENTES

Existe una gran variedad de enfoques de solución para la generación de horarios. Mientras

algunos trabajos se concentran en los aspectos prácticos y el desarrollo de sistemas, otros

lo hacen en el modelamiento y en metodologías de solución.

Al-Yacoob y Sherali proponen dos modelos para la asignación de profesores a las clases.

Estos toman como información de entrada la asignación previa de clases a horarios y

tratan de asignar los profesores de manera a satisfacer sus preferencias. Uno de los
modelos realiza la asignación sin modificar los horarios preestablecidos, mientras que el

otro considera la posibilidad de realizar modificaciones en los horarios manteniendo el

uso eficiente de las salas de clase. En otro trabajo estos mismos autores, proponen el uso

de un modelo de programación entera mixta que tiene como objetivo mejorar las

programaciones de clases e incorporar nuevas condiciones impuestas por la Kuwait

University. La programación se debe realizar imponiendo condiciones sobre los cruces

de horarios de acuerdo a estimaciones de demanda o al plan de estudios establecidos por

cada institución. Las condiciones impuestas corresponden a evitar cruces de horarios

entre los cursos que compartirán docentes que impartirán una o más asignaturas.

Las condiciones o requerimientos del problema pueden ser clasificados de acuerdo a su

naturaleza en cuatro grupos:

Restricciones unarias: Aquellas que involucran un soló evento, como por ejemplo, en

nuestro sistema las asignaturas más complejas no se podrán programar en un solo día.

Restricciones binarias, aquellas que involucran dos eventos. Un ejemplo típico son las

restricciones de cruces de horarios para un curso que requiere un mismo recurso: docente,

sala de clases, etc.

Restricciones de capacidad, como por ejemplo, las que se imponen al asignar cursos a

salas de clase con capacidad suficiente.

Restricciones de separación de eventos, aquellas que requieren que las actividades estén

separadas o siguiendo algún patrón en el tiempo. Algunos ejemplos son las impuestas por

políticas de la institución de respetar asignaciones de horarios en patrones predefinidos o

las condiciones de no existencia de horas intermedias vacías.


De acuerdo al Ministerio de Educación los horarios se encuentran estandarizados para las

instituciones públicas y/o instituciones privadas La jornada de trabajo de los docentes de

Educación Inicial comienza a las 7:00 y finaliza a las 12:45.

Por otra enfocándonos en el proyecto que vamos a desarrollar debemos tener en cuenta

que: Los lenguajes de programación son un conjunto de reglas, notaciones, símbolos y/o

caracteres que permiten a un programador poder expresar el procesamiento de datos y sus

estructuras en la computadora, cada lenguaje posee sus propias sintaxis. Los primeros

lenguajes de programación surgieron de la idea de Charles Babbage, la cual se le ocurrió

a este hombre a mediados del siglo XIX.

DEFINICIÓN DEL PROBLEMA

Las instituciones educativas imparten un de total 8 asignaturas en la educación general

básica: matemáticas, ciencias naturales, lengua y literatura, entorno natural y social,

estudios sociales, educación estética, educación física y clubes. La asignatura de entorno

natural y social se impartirá únicamente para primeros, segundos y terceros años de

educación básica; en tanto que las materias de ciencias naturales y estudios sociales se las

dictarán a partir de cuarto año; mientras que lengua y literatura, educación estética,

educación física y clubes se darán a partir del primer año. Cabe recalcar que en las

instituciones educativas a diferencia de las universidades manejan un sistema diferente

de horarios debido a que en los colegios toman en bloque las mismas asignaturas y

adicional a esto en algunos casos existe la posibilidad que un docente imparta varias

materias en un mismo curso y/o una materia en varios cursos.

Este proyecto ha sido diseñado teniendo en cuenta los parámetros informáticos y

estructuras que deben constar en el software de tal manera que no exista un cruce de
horarios para evitar inconvenientes entre los docentes, y que, al mismo tiempo no se

sobrecargue con materias que se consideradas más complicadas para el estudiante.

En base a los antecedentes planteados anteriormente, la generación de la programación

de horarios se transforma en una tarea compleja, por tal motivo el modelo que

proponemos busca que se cumplan todos los requerimientos establecidos ya sea por cada

institución o por las normas que establezca el Ministerio de Educación; esto se puede

lograr utilizando ciertas restricciones en el programa para que de esta manera se cumplan

todas los requerimientos anteriormente establecidos

En cada periodo lectivo se distribuyen de 3 a 4 paralelos por nivel escolar, por lo que en

este proyecto se deberá tomar en cuenta que no se debe establecer un horario por nivel,

ya que cada nivel tiene varios paralelos.

JUSTIFICACION DEL PROBLEMA

El proceso de realización de horarios, se lo realiza dependiendo del número de paralelos que existan en el

plantel educativo, y comprensiblemente dependiendo del número de docente con los que el plantel cuenta.

Dicho proceso se lo realiza de forma manual, por lo que se podrían presentar varias dificultades como por

ejemplo, que exista un docente para dos cursos a una misma hora. Por diversas razones es necesario un

cambio, a través de un sistema automatizado que evite y controle, la duplicación de horas entre las

asignaturas establecidas. Es por ello que con el fin de ayudar a las instituciones educativas, se desea

implementar un sistema de horarios que optimice el proceso y que se pueda llevar de una forma ordenada

segura y efectiva y que además logre establecer cierto equilibrio en la cantidad de horas de una asignatura

al día, y que pueda lograr que no existan cruces de horas entre docentes.

OBJETIVO GENERAL

El presente proyecto tiene como objetivo principal, realizar la programación de un horario

académico, para un centro de educación general básica que facilite la asignación de horas

laborales por docente, que estén acorde con las necesidades y requerimientos

institucionales.
OBJETIVOS ESPECIFICOS

 Eliminación de procesos manuales

 Evitar cruce de horarios de los docentes

 Control de ingreso y salida del personal

 Cumplir las horas académicas establecidas por el Ministerio

 Equilibrar el pensum de estudios, de acuerdo al grado de dificultad de cada

materia.

ALCANCE

El sistema de generación de horario escolar debe ser aplicado en centros de educación

general básica, salvo cuando cumplan con un horario distinto al establecido por el

Ministerio de Educación. Este sistema no será de aplicación a:

(a) Niveles superiores a séptimo de básica

(b) Planteles educativos que posean un pensum de estudios diferente al establecido por

el sistema
CRONOGRAMA DE ACTIVIDADES.

CRONOGRAMA SEMANA 1 SEMANA 2 SEMANA 3 SEMANA 4

L M MI J V L M MI J V L M MI J V L M MI J V

ACTIVIDAD 1.

ACTIVIDAD 2.

ACTIVIDAD 3.

ACTIVIDAD 4.

ACTIVIDAD 5.

ACTIVIDAD 6.

ACTIVIDAD 7.

ACTIVIDAD 1: Análisis y propuesta del problema sobre horarios de los señores

docentes.

ACTIVIDAD 2: Búsqueda de solución y planteamiento del programa a ejecutarse a la

unidad educativa.

ACTIVIDAD 3: Aceptación he inicialización del proyecto.

ACTIVIDAD 4: Análisis y desarrollo del proyecto.

ACTIVIDAD 5: Revisión de errores.

ACTIVIDAD 6: Elaboración del informe y prueba de errores del programa.


ACTIVIDAD 7: Presentación y defensa del proyecto.

REFERENCIAS BIBLIOGRAFICAS

Bibliografía
Anonimo. (11 de Agosto de 2015). wikipedia. Obtenido de
https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

J, C. R. (11 de Agosto de 2015). Geocities. Obtenido de


http://www.geocities.ws/lankansi/portada_nw.htm

Sandoval, J. (11 de Agosto de 2015). dspace. Obtenido de


http://dspace.ups.edu.ec/bitstream/123456789/1636/14/UPS-CT002157.pdf

VISION

El producto pretende sistematizar de una forma adecuada la asignación de materias en

horarios accesibles, que faciliten al estudiante su desarrollo y desenvolvimiento regular

de desempeño.

ANEXO B: LISTA DE ENTREGABLES DEL PROYECTO.

MANUAL DE USUARIO
 En esta pantalla podemos visualizar tan solo una caratula principal del proyecto.

 Debemos ingresar el número de paralelos que se desea crear para todos los
cursos.
 Podemos visualizar la carga horaria que tiene cada profesor.

 Aquí se visualiza la cantidad de profesores que existen para cada materia, pide
ingreso de los nombres de cada uno para después crear un archivo de ellos.
 Esta es la carpeta donde contiene los archivos creados con anterioridad.

 Esta pantalla refleja el contenido que un archivo plano ya creado.


 Este es otro archivo creado pero con la diferencia es que es el archivo creado
para los horarios.

#include <iostream>

#include <fstream>

#include <string.h>

#include <windows.h>

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

#include <iomanip>

#include <cstdlib>

using namespace std;

int rt=1;

char HORARIO[100][100], A[100][100], B[100][100], C[100][100], D[100][100], E[100][100];


PROGRAMA

int LL=3,M=2,CN=1,ES=1,EE=1,EF=1;

char nombre[30];

int mat[6]={1,2,3,4,5,6};

int n,num2,i,f,c,num;

int hLL,hM,hCN,hES,hEE,hEF;

int v[35];

struct profesores

int numero;

char nombre[30];

int materia;

};

profesores len[30];

profesores mate[30];

profesores natu[30];

profesores soci[30];

profesores este[30];

profesores edu[30];

profesores grado[30];

profesores busca[30];

profesores segundo[30][30][30];

profesores tercero[30][30][30];

profesores cuarto[30][30][30];

profesores quinto[30][30][30];

profesores sexto[30][30][30];

profesores septimo[30][30][30];

void lectura()

{
cout<<"Ingrese el numero de paralelos\n";

cin>>n;

void horas()

cout<<"\nTotal de profesores de lenguaje: " << LL;

cout<<" Horas disponibles de Lenguaje: " << hLL;

cout<<"\nTotal de profesores de Matematicas: " << M;

cout<<" Horas disponibles de Matematicas: " << hM;

cout<<"\nTotal de profesores de Naturales: " << CN;

cout<<" Horas disponibles de Naturales: " << hCN;

cout<<"\nTotal de profesores de E.Sociales: " << ES;

cout<<" Horas disponibles de E.Sociales: " << hES;

cout<<"\nTotal del profesor de E.Estetica: " << EE;

cout<<" Horas disponibles de E.Estetica: " << hEE;

cout<<"\nTotal del profesor de E.Fisica: " << EF;

cout<<" Horas disponibles de E.Fisica: " << hEF;

getwchar();

////////////////////////////////SEGUNDO//////////////////////////////

void curso2()

FILE* pf;

int i, j, num, dupl,a;

int h2ll,h2m,h2cn,h2ee,h2ef,h2c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al segundo curso\n");

cout<<("\nIngreso del 1 al 6\n");


cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Educación Estetica\n");

cout<<("\n5 = Educacin Fisica\n");

cout<<("\n6 = Clubs\n");

for(int x=1;x<=n;x++)

h2ll=12;h2m=8;h2cn=5;h2ee=2;h2ef=5;h2c=3;

cout<<"\nCurso 2 seccion: "<<x<<"\n";

cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de preferenciaponer
el curso ante una letra la cual la recuerde:ej 2A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)

do{

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(h2ll==0)

while(segundo[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;


}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(h2m==0)

while(segundo[x][c][f].materia==2)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(h2cn==0)

while(segundo[x][c][f].materia==3)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(h2ee==0)

while(segundo[x][c][f].materia==4)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));
}

if(h2ef==0)

while(segundo[x][c][f].materia==5)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Horas ocupadas";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(h2c==0)

while(segundo[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : "; cin>>segundo[x][c][f].materia;

}while((segundo[x][c][f].materia<1)||(segundo[x][c][f].materia>6));

if(segundo[x][c][f].materia==1)

h2ll=h2ll-1;

if(segundo[x][c][f].materia==2)

h2m=h2m-1;
}

if(segundo[x][c][f].materia==3)

h2cn=h2cn-1;

if(segundo[x][c][f].materia==4)

h2ee=h2ee-1;

if(segundo[x][c][f].materia==5)

h2ef=h2ef-1;

if(segundo[x][c][f].materia==6)

h2c=h2c-1;

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 2 seccion: %d",x);

fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");

fprintf(pf,"\t\t Miercoles");
fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");

for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");

if(segundo[x][c][f].materia==6)
{

fprintf(pf,"\t Clubs \t");

fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

//////////////////////TERCERO////////////////////////////////

void curso3()

FILE* pf;

int i, j, num, dupl,a;

int h3ll,h3m,h3cn,h3ee,h3ef,h3c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al tercer curso\n");

cout<<("\nIngreso del 1 al 6\n");

cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Educación Estetica\n");

cout<<("\n5 = Educacin Fisica\n");

cout<<("\n6 = Clubs\n");

for(int x=1;x<=n;x++)

{
h3ll=12;h3m=8;h3cn=5;h3ee=2;h3ef=5;h3c=3;

cout<<"\nCurso 3 seccion: "<<x<<"\n";

cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de
preferenciaponer el curso ante una letra la cual la recuerde:ej 3A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)

do{

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3ll==0)

while(tercero[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3m==0)

while(tercero[x][c][f].materia==2)

do{
cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3cn==0)

while(tercero[x][c][f].materia==3)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3ee==0)

while(tercero[x][c][f].materia==4)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3ef==0)

{
while(tercero[x][c][f].materia==5)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(h3c==0)

while(tercero[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>tercero[x][c][f].materia;

}while((tercero[x][c][f].materia<1)||(tercero[x][c][f].materia>6));

if(tercero[x][c][f].materia==1)

h3ll=h3ll-1;

if(tercero[x][c][f].materia==2)

h3m=h3m-1;

if(tercero[x][c][f].materia==3)

h3cn=h3cn-1;
}

if(tercero[x][c][f].materia==4)

h3ee=h3ee-1;

if(tercero[x][c][f].materia==5)

h3ef=h3ef-1;

if(tercero[x][c][f].materia==6)

h3c=h3c-1;

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 3 seccion: %d",x);

fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");

fprintf(pf,"\t\t Miercoles");

fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");


for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");

if(segundo[x][c][f].materia==6)

fprintf(pf,"\t Clubs \t");

}
fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

////////////////////CUARTO//////////////////////////

void curso4()

FILE* pf;

int i, j, num, dupl,a;

int h4ll,h4m,h4cn,h4es,h4ee,h4ef,h4c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al cuarto curso\n");

cout<<("\nIngreso del 1 al 6\n");

cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Enstudios Sociales\n");

cout<<("\n5 = Educación Estetica\n");

cout<<("\n6 = Educacin Fisica\n");

cout<<("\n7 = Clubs\n");

for(int x=1;x<=n;x++)

h4ll=9;h4m=7;h4cn=5; h4es=4; ;h4ee=2;h4ef=5;h4c=3;

cout<<"\nCurso 4 seccion: "<<x<<"\n";


cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de preferenciaponer
el curso ante una letra la cual la recuerde:ej 4A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)

do{

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4ll==0)

while(cuarto[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4m==0)

while(cuarto[x][c][f].materia==2)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";


cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4cn==0)

while(cuarto[x][c][f].materia==3)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4es==0)

while(cuarto[x][c][f].materia==4)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4ee==0)

while(cuarto[x][c][f].materia==5)

do{
cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4ef==0)

while(cuarto[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(h4c==0)

while(cuarto[x][c][f].materia==7)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>cuarto[x][c][f].materia;

}while((cuarto[x][c][f].materia<1)||(cuarto[x][c][f].materia>7));

if(cuarto[x][c][f].materia==1)

{
h4ll=h4ll-1;

if(cuarto[x][c][f].materia==2)

h4m=h4m-1;

if(cuarto[x][c][f].materia==3)

h4cn=h4cn-1;

if(cuarto[x][c][f].materia==4)

h4es=h4es-1;

if(cuarto[x][c][f].materia==5)

h4ee=h4ee-1;

if(cuarto[x][c][f].materia==6)

h4ef=h4ef-1;

if(cuarto[x][c][f].materia==7)

h4c=h4c-1;

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 4 seccion: %d",x);


fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");

fprintf(pf,"\t\t Miercoles");

fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");

for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

}
if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");

if(segundo[x][c][f].materia==6)

fprintf(pf,"\t Clubs \t");

fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

///////////////////////QUINTO//////////////////////

void curso5()

FILE* pf;

int i, j, num, dupl,a;

int h5ll,h5m,h5cn,h5es,h5ee,h5ef,h5c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al quinto curso\n");

cout<<("\nIngreso del 1 al 6\n");


cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Enstudios Sociales\n");

cout<<("\n5 = Educación Estetica\n");

cout<<("\n6 = Educacin Fisica\n");

cout<<("\n7 = Clubs\n");

for(int x=1;x<=n;x++)

h5ll=9;h5m=7;h5cn=5; h5es=4; ;h5ee=2;h5ef=5;h5c=3;

cout<<"\nCurso 5 seccion: "<<x<<"\n";

cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de preferenciaponer
el curso ante una letra la cual la recuerde:ej 5A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)

do{

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5ll==0)

while(quinto[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";
cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5m==0)

while(quinto[x][c][f].materia==2)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5cn==0)

while(quinto[x][c][f].materia==3)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5es==0)

while(quinto[x][c][f].materia==4)

{
do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5ee==0)

while(quinto[x][c][f].materia==5)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5ef==0)

while(quinto[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(h5c==0)
{

while(quinto[x][c][f].materia==7)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>quinto[x][c][f].materia;

}while((quinto[x][c][f].materia<1)||(quinto[x][c][f].materia>7));

if(quinto[x][c][f].materia==1)

h5ll=h5ll-1;

if(quinto[x][c][f].materia==2)

h5m=h5m-1;

if(quinto[x][c][f].materia==3)

h5cn=h5cn-1;

if(quinto[x][c][f].materia==4)

h5es=h5es-1;

if(quinto[x][c][f].materia==5)

h5ee=h5ee-1;

if(quinto[x][c][f].materia==6)
{

h5ef=h5ef-1;

if(quinto[x][c][f].materia==7)

h5c=h5c-1;

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 5 seccion: %d",x);

fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");

fprintf(pf,"\t\t Miercoles");

fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");

for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

{
if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");

if(segundo[x][c][f].materia==6)

fprintf(pf,"\t Clubs \t");

fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

}
}

///////////////////////SEXTO//////////////////////

void curso6()

int i, j, num, dupl,a;

int h6ll,h6m,h6cn,h6es,h6ee,h6ef,h6c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al sexto curso\n");

cout<<("\nIngreso del 1 al 6\n");

cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Enstudios Sociales\n");

cout<<("\n5 = Educación Estetica\n");

cout<<("\n6 = Educacin Fisica\n");

cout<<("\n7 = Clubs\n");

for(int x=1;x<=n;x++)

FILE* pf;

h6ll=9;h6m=7;h6cn=5; h6es=4; ;h6ee=2;h6ef=5;h6c=3;

cout<<"\nCurso 6 seccion: "<<x<<"\n";

cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de
preferenciaponer el curso ante una letra la cual la recuerde:ej 6A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)
{

do{

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6ll==0)

while(sexto[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6m==0)

while(sexto[x][c][f].materia==2)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6cn==0)

while(sexto[x][c][f].materia==3)
{

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6es==0)

while(sexto[x][c][f].materia==4)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6ee==0)

while(sexto[x][c][f].materia==5)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

}
if(h6ef==0)

while(sexto[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(h6c==0)

while(sexto[x][c][f].materia==7)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>sexto[x][c][f].materia;

}while((sexto[x][c][f].materia<1)||(sexto[x][c][f].materia>7));

if(sexto[x][c][f].materia==1)

h6ll=h6ll-1;

if(sexto[x][c][f].materia==2)

h6m=h6m-1;

if(sexto[x][c][f].materia==3)
{

h6cn=h6cn-1;

if(sexto[x][c][f].materia==4)

h6es=h6es-1;

if(sexto[x][c][f].materia==5)

h6ee=h6ee-1;

if(sexto[x][c][f].materia==6)

h6ef=h6ef-1;

if(sexto[x][c][f].materia==7)

h6c=h6c-1;

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 6 seccion: %d",x);

fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");


fprintf(pf,"\t\t Miercoles");

fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");

for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");


}

if(segundo[x][c][f].materia==6)

fprintf(pf,"\t Clubs \t");

fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

///////////////////////SEPTIMO////////////////////

void curso7()

FILE* pf;

int i, j, num, dupl,a;

int h7ll,h7m,h7cn,h7es,h7ee,h7ef,h7c;

a=1;

system("Cls");

srand(time(NULL));

cout<<("\nBienvenido al septimo curso\n");

cout<<("\nIngreso del 1 al 6\n");

cout<<("\n1 = Lenguaje\n");

cout<<("\n2 = Matematicas\n");

cout<<("\n3 = Entorno Naturales\n");

cout<<("\n4 = Enstudios Sociales\n");

cout<<("\n5 = Educación Estetica\n");

cout<<("\n6 = Educacin Fisica\n");

cout<<("\n7 = Clubs\n");
for(int x=1;x<=n;x++)

h7ll=9;h7m=7;h7cn=5; h7es=4; ;h7ee=2;h7ef=5;h7c=3;

cout<<"\nCurso 7 seccion: "<<x<<"\n";

cout << " Ingrese el nombre por el cual desea buscar despues el archivo(de preferenciaponer
el curso ante una letra la cual la recuerde:ej 7A): ";

gets(grado[rt].nombre);

cout<<" ";

for(f=1;f<=7;f++)

for(c=1;c<=5;c++)

do{

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7ll==0)

while(septimo[x][c][f].materia==1)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7m==0)

{
while(septimo[x][c][f].materia==2)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7cn==0)

while(septimo[x][c][f].materia==3)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7es==0)

while(septimo[x][c][f].materia==4)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

}
if(h7ee==0)

while(septimo[x][c][f].materia==5)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7ef==0)

while(septimo[x][c][f].materia==6)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;

}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(h7c==0)

while(septimo[x][c][f].materia==7)

do{

cout<<"\nHoras ocupadas\n";

cout<<"Hora "<<f<<" "<<c<<" : ";

cin>>septimo[x][c][f].materia;
}while((septimo[x][c][f].materia<1)||(septimo[x][c][f].materia>7));

if(septimo[x][c][f].materia==1)

h7ll=h7ll-1;

if(septimo[x][c][f].materia==2)

h7m=h7m-1;

if(septimo[x][c][f].materia==3)

h7cn=h7cn-1;

if(septimo[x][c][f].materia==4)

h7es=h7es-1;

if(septimo[x][c][f].materia==5)

h7ee=h7ee-1;

if(septimo[x][c][f].materia==6)

h7ef=h7ef-1;

if(septimo[x][c][f].materia==7)

h7c=h7c-1;

}
}

a==1;

pf=fopen(grado[rt].nombre,"w");

fprintf(pf,"Bienbenido al horario del Curso 7 seccion: %d",x);

fprintf(pf,"\nH");

fprintf(pf,"\t Lunes ");

fprintf(pf,"\t\t Martes ");

fprintf(pf,"\t\t Miercoles");

fprintf(pf,"\t\t Jueves ");

fprintf(pf,"\t\t Viernes \n");

for(f=1;f<=7;f++)

fprintf(pf,"%d",a);

a++;

for(c=1;c<=5;c++)

if(segundo[x][c][f].materia==1)

fprintf(pf,"\t Lenguaje ");

if(segundo[x][c][f].materia==2)

fprintf(pf,"\tMatematicas");
}

if(segundo[x][c][f].materia==3)

fprintf(pf,"\t E.Naturales");

if(segundo[x][c][f].materia==4)

fprintf(pf,"\t E.Estetica ");

if(segundo[x][c][f].materia==5)

fprintf(pf,"\t E.Fisica \t");

if(segundo[x][c][f].materia==6)

fprintf(pf,"\t Clubs \t");

fprintf(pf,"\n");

fclose(pf);

rt=rt+1;

getch();

//////////////////////////////////////////////////

void profesores()

cout<<"Ingrese su nombre :\n";

gets(nombre);

gets(nombre);
}

void curso()

LL=3*(n);

hLL=LL*30;

M=2*(n);

hM=M*30;

if(n%2==1)

CN=(n/2)+1;

hCN=CN*30;

ES=(n/2)+1;

hES=ES*30;

else

CN=n/2;

hCN=CN*30;

ES=n/2;

hES=ES*30;

EE=n;

hEE=EE*30;

EF=n;

hEF=EF*30;

void lenguaje()

FILE* archivo;
cout<<"\nProfesores totales de lenguaje\n "<<LL<<"\n";

cout<<"\nBienvenido a la asignatura de Lenguaje\n";

for (int i=1;i<=LL;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de lenguaje\n";

gets(len[i].nombre);

cout<<"Ingreso aceptado del profesor "<<len[i].nombre<<"\n";

archivo = fopen(len[i].nombre, "w+");

fprintf(archivo,"Profes@r de Lenguaje y Literatura %d:",i);

fclose(archivo);

void matematicas()

system("Cls");

cout<<"Profesores totales de matematicas\n "<<M<<"\n";

cout<<"\nBienvenido a la asignatura de Matematicas\n";

for (i=1;i<=M;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de matematicas\n";

gets(mate[i].nombre);

cout<<"Ingreso aceptado del profesor "<<mate[i].nombre<<"\n";

void naturales()

system("Cls");

cout<<"Profesores totales de Cinencias Naturalez\n "<<CN<<"\n";

cout<<"\nBienvenido a la asignatura de Ciencias Naturales\n";


for (i=1;i<=CN;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de ciencias naturales\n";

gets(natu[i].nombre);

cout<<"Ingreso aceptado del profesor "<<natu[i].nombre<<"\n";

void sociales()

system("Cls");

cout<<"Profesores totales de sociales\n "<<ES<<"\n";

cout<<"\nBienvenido a la asignatura de Estudios Sociales\n";

for (int i=1;i<=ES;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de sociales\n";

gets(soci[i].nombre);

cout<<"Ingreso aceptado del profesor "<<soci[i].nombre<<"\n";

void estetica()

system("Cls");

cout<<"Profesores totales de estetica\n "<<EE<<"\n";

cout<<"\nBienvenido a la asignatura de Cultura Estetica\n";

for (int i=1;i<=EE;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de estetica\n";

gets(este[i].nombre);

cout<<"Ingreso aceptado del profesor "<<este[i].nombre<<"\n";


}

void educacion()

system("Cls");

cout<<"Profesores totales de educacion fisica\n "<<EF<<"\n";

cout<<"\nBienvenido a la asignatura de Educacion Fisica\n";

for (int i=1;i<=EF;i++)

cout << "Ingrese el nombre del profesor "<<i<<" de educacion fisica\n";

gets(edu[i].nombre);

cout<<"Ingreso aceptado del profesor "<<edu[i].nombre<<"\n";

void busca_paralelo(){

FILE* pf;

char c;

cout <<"Ingrese paralelo a buscar(El paralelo a buscar debe existir): ";

gets(busca[rt].nombre);

pf=fopen(busca[rt].nombre,"r");

if ( (pf ) == NULL) {

cout<<"Error en apertura\n";

}else {

c = fgetc(pf);

while (!feof (pf) ) { /* Chequea el final de archivo */

printf ("%c",c);

c = fgetc (pf);
}

fclose (pf);

getch();

/////////////////////////////////////////////////////////////////////////////////

int main()

int num,opc;

char resp;

cout << "\t\tUniversidad De Las Fuerzas Armadas\n";

cout<< "\t\t\t -ESPE-\n";

cout<< "\t\t\t Proyecto Final "<<endl;

cout<< "\t\t Horarios de una Escuela publica \n\n";

cout << "Asignatura: Fundamentos de Programacion\n";

cout << "Docente: Ing. Klever Aguilar\n";

cout << "Nrc:1442\n";

getchar();

system("Cls");

do{

system("Cls");

cout << "\t Menu";

cout << "\n1) Ingreso de paralelos y profesores";

cout << "\n2) Buscar horarios de paralelos";

cout << "\n3) Buscar paralelos a los que da un profesor(@)";

cout << "\n4) Salir ";


cout << "\n Ingrese la opcion que desee: ";cin>>opc;

switch(opc){

case 1:

system("Cls");

lectura();

profesores();

curso();

horas();

lenguaje();

matematicas();

naturales();

sociales();

estetica();

educacion();

system("Cls");

curso2();

curso3();

curso4();

curso5();

curso6();

curso7();

break;

case 2:

fflush(stdin);

busca_paralelo();

break;

case 4:

exit(0);

break;

}
fflush(stdin);

printf("Presione (s=continuar/n=salir): ");

cin>>resp;

while(resp!='S' && resp!='s' && resp!='N' && resp!='n'){

fflush(stdin);

printf("Opcion Incorrecta\nPresione (s=continuar/n=salir): ");

cin>>resp;

}while(resp=='s' || resp=='S');

return 0;

Potrebbero piacerti anche