José Luis Chafardet Grimaldi

Mi blog personal….

Sep

23

Proyecto final de Procesamiento de datos

By José Luis Chafardet Grimaldi

Aquí publico ya el proyecto final de procesamiento de datos de semestre 2 en la UNE.

El programa en C++ debe llevar contrl de 1 materia para un grado, 3 lapsos, hasta 10 estudiantes.

El proyecto tenía valor de 2 pts, la definitiva de mi grupo fue 1.9 / 2

Principal.cpp

#include
#include
#include
#include
#include
#include
#include #include
#include

using namespace std;

// inclusiones de funciones y archivos externos
#include “pantalla.h”

// prototipo de funcion para reportes
int reportes();
// definicion de variables globales
int i,f,c,p,ci,nota1,nota2,nota3,salir=0,z,cont=0,ble,total;
string profesor[2],materia,lapso[3],alumno[10][6],a,b,l,m,n;
char opcion;

// programa

int GetIntVal(string strConvert) {
int intReturn;

intReturn = atoi(strConvert.c_str());

return(intReturn);
}

// bla bla bla aqui estaba el gui

int login(void)
{
// crea la variable local validado, y la pone en 0
int validado=0;
do {
gui();
string b,c,clave=”entradasegura”;
gotoxy(25,17);
blanco
cout < < "Inserte su nombre de usuario: " ;
rojo
getline(cin, b);
// valida que el usuario sea insertado correctamente
if(b == "")
{
blanco
gotoxy(30,19);
cout << "No introdujo un usuario.";
gotoxy(1,40);
system("PAUSE");
}
else
{
gotoxy(25,19);
blanco
cout << "Inserte su clave: " ;
textcolor(BLUE);
getline(cin, c);
// valida que la clave sea correcta.
if(c != clave)
{
gotoxy(25,21);
blanco
cout << "Disculpe su clave no es correcta.";
gotoxy(1,40);
blanco
system("PAUSE");
}
else
{
gotoxy(30,21);
verde
printf("%c ", 251);
blanco
cout << "Bienvenido: " << b;
validado = 1;
gotoxy(1,40);
system("PAUSE");
//return 1;
}
}
}
while (validado != 1);
}

int menu(void)
{
gui();
// imprime las opciones del menu
// Imprime el titulo del programa
gotoxy(30,3);
verde
cout << "CONTROL DE ESTUDIOS" << endl;
amarillo
// Inresar profesor
gotoxy(5,7);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "P";
blanco
cout << ")";
cout << " - Ingresar profesor.";

// Asignar notas
gotoxy(50,7);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "N";
blanco
cout << ")";
cout << " - Asignar notas.";

// Ingresar materia
gotoxy(5,9);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "M";
blanco
cout << ")";
cout << " - Ingresar Materia.";

// Calcular promedio
gotoxy(50,9);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "C";
blanco
cout << ")";
cout << " - Calcular promedio.";

// imprimir reportes
gotoxy(50,11);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "R";
blanco
cout << ")";
cout << " - Gegnerar reportes.";

// Ingresar Lapso
gotoxy(5,11);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "L";
blanco
cout << ")";
cout << " - Ingresar Lapso.";

// Ingresar Alumno
gotoxy(5,13);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "A";
blanco
cout << ")";
cout << " - Ingresar Alumno.";

// Mostrar datos
gotoxy(5,15);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "D";
blanco
cout << ")";
cout << " - Mostrar datos.";

// Mostrar datos
gotoxy(5,17);
verde
printf("%c ", 175);
blanco
cout << "(";
rojo
cout << "S";
blanco
cout << ")";
cout << " - Salir.";

// dibujar linea divisora
amarillo
gotoxy(1,19);
IIZQ
for(i=0;i&amp;lt;78;i++)
{
HOR
}
IDER
blanco
gotoxy(1,40);

// operaciones

gotoxy(5,21);
blanco
cout << "Seleccione una opcion por favor: ";
rojo
cin.clear ();
cin >> opcion;
blanco
// comienzo de las operaciones del menu basada en las opciones seleccionadas.
switch (opcion)
{
// Caso profesor.
case ‘p’:
case ‘P’: Profesor:
if(profesor[0] != “”)
{
gotoxy(5,27);
verde
printf(“%c”, 175);
rojo
cout < < " Ya ha definido un profesor.";
blanco
}
else
{
gotoxy(5,23);
blanco
cout << "Ingrese la cedula del profesor: ";
rojo
cin.ignore(1,'\n');
cin >> ci;
cin.ignore(numeric_limits::max(), ‘\n’);

if (!cin || cin.gcount() != 1)
{
gotoxy(5,27);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico." << flush;
cin.clear();
break;
blanco
}
else
{
blanco
gotoxy(5,25);
cout << "Ingresar el nombre y apellido del profesor: ";
rojo
getline(cin, b);
blanco
if(b == "")
{
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " No introdujo Nombre.";
blanco
}
else
{
stringstream out;
out << ci;
a = out.str();
profesor[0]= a;
profesor[1]= b;
}
}
}
break;

// caso materia
case 'm':
case 'M': Materia:
gotoxy(5,23);
blanco
cout << "Ingresar la Materia: ";
cin.ignore(1,'\n');
rojo
getline(cin, a);
blanco
// validaciones basicas
if(a == "")
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " Debe introducir una materia.";
blanco
}
else if ( materia != "")
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " Ya se ha definido una materia.";
blanco
}
else if ( profesor[0] == "")
{
gotoxy(5,23);
rojo
printf("%c", 175);
blanco
cout << " Debe ingresar un profesor para poder ingresar una materia.";
}
else
{
materia = a;
}
break;

// caso del lapso
case 'l':
case 'L': Lapso:
// Validaciones basicas.
if (profesor[0] == "" || materia == "")
{
gotoxy(5,23);
cout << "Debe ingresar Profesor y Materia";
}
else
{
blanco
gotoxy(5,23);
cout << "Ingrese el lapso: ";
cin.ignore(1,'\n');
rojo
cin >> a;
blanco
if(lapso[0] != “” &amp;&amp; lapso[1] != “” &amp;&amp; lapso[2] != “”)
{
gotoxy(5,25);
verde
printf(“%c”, 175);
rojo
cout < < " Ya los lapsos han sido ingresados.";
blanco
}
else if(a == "1" &amp;&amp; lapso[0] == "")
{
if (!cin || cin.gcount() != 1){
cout << "No introdujo un numero.";
cin.clear ();
}
else{
lapso[0] = a;}
}
else if(a == "2" &amp;&amp; lapso[1] == "")
{
lapso[1] = a;
}
else if (a == "3" &amp;&amp; lapso[2] == "")
{
lapso[2] = a;
}
else
{
gotoxy(5,25);
verde
printf("%c", 175);
rojo
cout << " Solo pueden haber 3 lapsos, entre 1 y 3.";
blanco
}
}
break;

// caso de los alumnos
case 'a':
case 'A': Alumno:
// validaciones basicas
if(profesor[0] == "" || materia == "" || lapso[0] == "" || lapso[1] == "" || lapso[2] == "" )
{
gotoxy(5,23);
blanco
cout << "Posibles errores:";
gotoxy(5,25);
verde
printf("%c", 175);
rojo
cout << " No se ha definido un profesor";
gotoxy(5,26);
verde
printf("%c", 175);
rojo
cout << " No ha definido materia";
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " No ha definido lapsos";
blanco
}
else
{
gotoxy(5,23);
blanco
cout << "Ingrese el numero de de cedula del alumno: ";
rojo
//cin.ignore(1,'\n');
cin >> ci;
cin.ignore(numeric_limits::max(), ‘\n’);
if (!cin || cin.gcount() != 1)
{
gotoxy(5,27);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico."< blanco
cin.clear ();
}
else
{
stringstream out;
out << ci;
a = out.str();
blanco
gotoxy(5,25);
cout << "Ingrese el nombre del alumno: ";
rojo
getline(cin, b);
blanco
for ( c=0 ; c<=9; c++ )
{
// mas validaciones, especificas del alumno.
if(a == "" || b == "")
{
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " No introdujo nombre o cedula.";
blanco
}
else if (alumno1[0] == a)
{
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " El alumno ya existe.";
blanco
break;
}
else if(profesor[0] == a)
{
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " El profesor no puede ser alumno.";
blanco
break;
}
else if(alumno[9][0] != "")
{
gotoxy(5,27);
verde
printf("%c", 175);
rojo
cout << " Ya se han definido la totalidad de alumnos";
blanco
break;
}
else if (alumno1[0] == "" &amp;&amp; alumno1[0] != a)
{
stringstream out;
out << ci;
a = out.str();
alumno1[0] = a;
alumno1[1] = b;
break;
}
//else if
//{
//    gotoxy(5,27);
//    verde
//    printf("%c", 175);
//   rojo
//    cout << " Disculpe, hubo un error en el sistema.";
//    blanco
//    break;
// }
}
}
}
break;

// Caso de impresion de datos.
case 'd':
case 'D': Datos:
if(profesor[0] == "" || materia == "" || lapso[0] == "" || lapso[1] == "" || lapso[2] == "" )
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " Debe ingresar datos para poder mostrarlos.";
blanco
}
else
{
gotoxy(5,23);
blanco
cout << "Profesor: ";
rojo
cout << profesor[1];
blanco
cout << ", C.I.: ";
rojo
cout << profesor[0];
gotoxy(5,24);
blanco
cout << "Materia: ";
rojo
cout << materia;
gotoxy(5,25);
blanco
cout << "Lapsos ingresados: ";
rojo
for(i=0;i<=2;i++)
{
cout << lapso[i] << " ";
}
gotoxy(5,26);
blanco
cout << "Alumnos: ";
// recorre el arreglo de los alumnos para imprimir solo los valores que contengan datos
for(i=0;i<=9;i++)
{
if(alumno[i][0] != "")
{
gotoxy(5,i+27);
blanco
cout << "Nombre: ";
rojo
cout << alumno[i][1];
blanco
cout << ", C.I: ";
rojo
cout << alumno[i][0];
verde
if(alumno[i][2] != "")
{
blanco
cout << ", notas: ";
cout << alumno[i][2] << " ";
if(alumno[i][3] != "")
{ cout << alumno[i][3] << " ";}
if(alumno[i][4] != "")
{ cout << alumno[i][4] << " ";}
if(alumno[i][2] != "" &amp;&amp; alumno[i][3] != "" &amp;&amp; alumno[i][4] != "")
{
int notas1 = atoi(alumno[i][2].c_str());
int notas2 = atoi(alumno[i][3].c_str());
int notas3 = atoi(alumno[i][4].c_str());
int promedio = (notas1 + notas2 + notas3)/3;
stringstream out;
out << promedio;
a = "";
a = out.str();

alumno[i][5] = a;
cout << " Promedio: " << alumno[i][5];
}
else
{
gotoxy(5,i+28);
rojo
cout << " No estan todas las notas.";
blanco
}
}
}
}
}
break;

// Caso de Asignacion de notas..
case 'n':
case 'N': Notas:
if(profesor[0] == "" || materia == "" || lapso[0] == "" || lapso[1] == "" || lapso[2] == "" )
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " Debe ingresar datos para poder mostrarlos.";
blanco
}
else
{
gotoxy(5,23);
blanco
cout << "Profesor: ";
rojo
cout << profesor[1];
blanco
cout << ", C.I.: ";
rojo
cout << profesor[0];
gotoxy(5,24);
blanco
cout << "Materia: ";
rojo
cout << materia;
gotoxy(5,25);
blanco
cout << "Lapsos ingresados: ";
rojo
for(i=0;i<=2;i++)
{
cout << lapso[i] << " ";
}
gotoxy(5,26);
blanco
cout << "Alumnos: ";
// recorre el arreglo de los alumnos para imprimir solo los valores que contengan datos
for(i=0;i<=9;i++)
{
if(alumno[i][0] != "")
{
gotoxy(5,i+27);
blanco
cout << "( ";
verde
cout << i;
blanco
cout << " )";
cout << " Nombre: ";
rojo
cout << alumno[i][1];
blanco
cout << ", C.I: ";
rojo
cout << alumno[i][0];
blanco
}
}
}
gotoxy(5,37);
blanco
cout << "Seleccione el alumno al asignarle la nota: ";
rojo
cin >> z;
clrscr();
gui();
cin.ignore(numeric_limits::max(), ‘\n’);
if (!cin || cin.gcount() != 1)
{
gotoxy(5,17);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico.";
blanco
cin.clear ();
break;
}
else
{
gotoxy(5,17);
blanco
cout << "Ingrese nota del lapso 1: ";
rojo
cin >> nota1;
if (!cin || cin.gcount() != 1)
{
gotoxy(5,18);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico.";
blanco
cin.clear ();
break;
}
else if(nota1 < 0 || nota1 > 20)
{
gotoxy(5,18);
rojo
cout < < "La nota no puede ser menor a 0 ni mayor a 20";
blanco
break;
}
else
{
stringstream out;
out << nota1;
l = out.str();
alumno[z][2] = l;
}

if(alumno[z][2] != "")
{
gotoxy(5,18);
blanco
cout << "Ingrese la nota del lapso 2: ";
rojo
cin >> nota2;
if (!cin || cin.gcount() != 1)
{
gotoxy(5,19);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico.";
blanco
cin.clear ();
break;
}
else if(nota2 < 0 || nota2 > 20)
{
gotoxy(5,19);
rojo
cout < < "La nota no puede ser menor a 0 ni mayor a 20";
blanco
break;
}
else
{
stringstream out;
out << nota2;
m = out.str();
alumno[z][3] = m;
}
}
else
{
gotoxy(5,19);
rojo
cout << " no ha introducido la nota del lapso anterior.";
blanco
break;
}
if(alumno[z][3] != "")
{
gotoxy(5,19);
blanco
cout << "Ingrese la nota del lapso 3: ";
rojo
cin >> nota3;
if (!cin || cin.gcount() != 1)
{
gotoxy(5,20);
verde
printf(“%c”, 175);
rojo
cout < < " No es un valor numerico.";
blanco
cin.clear ();
break;
}
else if(nota3 < 0 || nota3 > 20)
{
gotoxy(5,20);
rojo
cout < < "La nota no puede ser menor a 0 ni mayor a 20";
blanco
break;
}
else
{
stringstream out;
out << nota3;
n = out.str();
alumno[z][4] = n;
}
}
else
{
gotoxy(5,20);
rojo
cout << "no ha introducido la nota del lapso anterior.";
blanco
break;
}
}
blanco
break;

// caso calcular promedio general del salon
case 'c':
case 'C': Calcular:

if(profesor[0] == "" || materia == "" || lapso[0] == "" || lapso[1] == "" || lapso[2] == "" )
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " Debe ingresar datos para poder mostrarlos.";
blanco
}
else
{
for(i=0;i&amp;lt;10;i++)
{
if(alumno[i][5] == "")
break;
int bla = atoi(alumno[i][5].c_str());
ble = ble+bla;
++cont;

}
if(cont != 0)
{
total = ble / cont;
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " El promedio general del salon es: " << total << endl;
blanco
cin.clear();
}
else
{
gotoxy(5,23);
verde
printf("%c", 175);
rojo
cout << " El promedio general del salon no se puede promediar, hubo un error en el sistema." << endl;
blanco
cin.clear();
break;
}
}
break;

// caso llenar datos dummy
case 'y':
case 'Y': Dummy:

profesor[0] = "14234543";
profesor[1] = "Wilpia flores";
materia = "Procesamiento de Datos";
lapso[0] = "1";
lapso[1] = "2";
lapso[2] = "3";

alumno[0][0] = "123123";
alumno[0][1] = "Jose Luis Chafardet";
alumno[0][2] = "19";
alumno[0][3] = "17";
alumno[0][4] = "20";
alumno[0][5] = "";

alumno[1][0] = "124124";
alumno[1][1] = "Angel Uribe";
alumno[1][2] = "16";
alumno[1][3] = "19";
alumno[1][4] = "19";
alumno[1][5] = "";

alumno[2][0] = "125125";
alumno[2][1] = "Oswaldo Coronel";
alumno[2][2] = "18";
alumno[2][3] = "17";
alumno[2][4] = "20";
alumno[2][5] = "";

alumno[3][0] = "143628";
alumno[3][1] = "Algun Otro Alumno";
alumno[3][2] = "11";
alumno[3][3] = "12";
alumno[3][4] = "16";
alumno[3][5] = "";

alumno[4][0] = "173618";
alumno[4][1] = "Algun Alumno Mas";
alumno[4][2] = "13";
alumno[4][3] = "12";
alumno[4][4] = "15";
alumno[4][5] = "";

alumno[5][0] = "173618";
alumno[5][1] = "Algun Mas Mas";
alumno[5][2] = "11";
alumno[5][3] = "9";
alumno[5][4] = "8";
alumno[5][5] = "";

alumno[6][0] = "136169";
alumno[6][1] = "Mas dummy data";
alumno[6][2] = "10";
alumno[6][3] = "7";
alumno[6][4] = "15";
alumno[6][5] = "";

break;
// caso salida
case 's':
case 'S': Salir:
gotoxy(27,29);
verde
cout << "Gracias por usar el sistema.";
blanco
salir = 1;
break;

case 'r':
case 'R': Reportes:
reportes();
break;
default:
gotoxy(27,29);
rojo
cout << "No selecciono una opcion valida.";
blanco
}
// ir al final de la pantalla e imprimir la pausa ahi.
gotoxy(1,40);
blanco
system("PAUSE");
}

int main(int argc, char *argv[])
{
//login();
do
{
menu();
gotoxy(1,40);
blanco
} while(salir != 1);
//system("PAUSE");
return EXIT_SUCCESS;
}

// funcion que crea reportes

int reportes()
{
// llama al gui
gui();
// Imprime el titulo del programa
gotoxy(37,3);
verde
cout << "REPORTE" << endl;
blanco

if

(profesor[0] == "" || materia == "" ||

lapso[0] == "" || lapso[1] == "" ||

lapso[2] == "" || alumno[0][0] == "" || alumno[0][5] == "")
{
gotoxy(5,19);
verde
printf("%c", 175);
rojo
cout << " Debe ingresar datos para poder mostrarlos.";
blanco
}
else
{
gotoxy(5,7);
blanco
cout << "Institucion: " ;
rojo
gotoxy(25,7);
cout << "Unidad Educativa UNE ";

gotoxy(5,9);
blanco
cout << "Grado: " ;
rojo
gotoxy(25,9);
cout << "2do Diversificado ";

gotoxy(5,11);
blanco
cout << "Materia: ";
rojo
gotoxy(25,11);
cout << materia ;

gotoxy(5,13);
blanco
cout << "Docente encargado: ";
rojo
gotoxy(25,13);
cout << profesor[1];
blanco
gotoxy(45,13);
cout << "Cedula: " ;
rojo
cout << profesor[0];
blanco

gotoxy(37,16);
verde
cout << "ALUMNOS" ;

gotoxy(5,18);
blanco
cout << "Cedula";
gotoxy(15,18);
cout << "Nombre y apellido" ;
gotoxy(35,18);
cout << "Lapso 1";
gotoxy(45,18);
cout << "Lapso 2";
gotoxy(55,18);
cout << "Lapso 3";
gotoxy(65,18);
cout << "Promedio";

int y = 20;

for(i=0;i<=9;i++)
{
if(alumno[i][0] != "")
{
gotoxy(5,y);
rojo
cout << alumno[i][0];
gotoxy(15,y);
cout << alumno[i][1];
gotoxy(35,y);
verde
cout << alumno[i][2];
gotoxy(45,y);
cout << alumno[i][3];
gotoxy(55,y);
cout << alumno[i][4];
gotoxy(65,y);
amarillo
cout << alumno[i][5];
blanco
y += 1;
}
}
gotoxy(5,32);
blanco
cout << "Promedio general del grado: " ;
verde
cout << total;
blanco

int archivo;
gotoxy(5,34);
cout << "Desea guardar este reporte en un archivo? para si ingrese 1, para no ingrese 0: ";
rojo
cin >> archivo;

if(archivo != 0)
{
// constructor para invocar la clase ofstream
ofstream c_Reporte;
// abre el archivo
c_Reporte.open ( “reporte_notas.txt”, ios::trunc );
// inserta en el archivo los valores predeterminados para un nuevo personaje

c_Reporte < < "Institucion: Unidad Educativa UNE\n";
c_Reporte << "Grado: 2do Diversificado\n";
c_Reporte << "Materia: " << materia << "\n";
c_Reporte << "Docente encargado: " << profesor[1] << " Cedula: " << profesor[0] << "\n";
c_Reporte << "ALUMNOS\n" ;

for(i=0;i<=9;i++)
{
if(alumno[i][0] != "")
{
c_Reporte << "CI: " << alumno[i][0] << "    ";

c_Reporte << "Nombre: " << alumno[i][1] << "    ";

c_Reporte << "Lapso 1: " << alumno[i][2] << "    ";

c_Reporte << "Lapso 2: " <

c_Reporte << "Lapso 3: " <

c_Reporte << "Definitiva: " <

y += 1;
}
}
c_Reporte << "\n\n" << "Promedio del aula: " << total << "\n";

// cierra el archivo
c_Reporte.close();
// avisar de la creacion del personaje
gotoxy(5,37);
verde
cout << "Archivo guardado";
blanco
}

}
}

pantalla.h

///
///
/// Archivo de funciones para dibujar pantalla, por Jose Luis Chafardet
///
///
#ifndef __PANTALLA_H
#define __PANTALLA_H

// Definiciones de colores
#define amarillo textcolor(YELLOW);
#define verde textcolor(LIGHTGREEN);
#define blanco textcolor(WHITE);
#define rojo textcolor(LIGHTRED);
#define negro textcolor(BLACK);
// fin de las definiciones de color

// Definiciones de caracteres ASCII-extended

//// Esquinas
#define EDS char ( 187 );
#define EIS char ( 201 );
#define EDI char ( 188 );
#define EII char ( 200 );
//// fin de las esquinas

//// laterales y horizontales
#define VER char ( 186 );
#define HOR char ( 205 );
//// fin de las lineas Laterales y horizontales

//// intersecciones
#define IDER char ( 185 );
#define IIZQ char ( 204 );
#define ITOP char ( 203 );
#define IBOT char ( 202 );

#define testa cout << static_cast(194);

// prototipos

int gui();

// funcion
int gui()
{
int i;
clrscr();
amarillo
system(“TITLE Control de notas”);
system(“COLOR 1F”);
textbackground(BLUE);

// dibujar linea del tope
gotoxy(1,1);
amarillo
cout << EIS ;
for( i = 0 ; i < 78 ; i++)
{
cout << HOR ;
}
cout << EDS ;

// dibujar lineas laterales
for( i = 2 ; i <= 38 ; i++)
{
gotoxy(1,i);
cout << VER ;
gotoxy(80,i);
cout << VER ;
}

// dibuja la linea inferior del GUI
gotoxy(1,39);
cout << EII ;
for( i = 0 ; i < 78 ; i++)
{
cout << HOR ;
}
cout << EDI ;

// dibujar linea para dividir el titulo
gotoxy(1,5);
cout << IIZQ ;
for( i = 0; i < 78 ; i++)
{
cout << HOR ;
}
cout << IDER ;

}

#endif

Leave a comment