You are on page 1of 33

LOGO

U n i v e r s i d a d

N a c i o n a l

H e r m i l i o

V a l d i z n

1. Objetivos
Este trabajo tiene como objetivo principal, facilitar el trabajo en un tiempo menor y conocer libreras nuevas de C++ como <graphics.h>.

2. Importancia
Ese trabajo que se ha elaborado en el lenguaje de programacin C++ tiene como importancia el hecho servir como herramienta de trabajo en empresas e instituciones.

3. Ventajas
La ventaja de este proyecto se encuentra en que est programado en el lenguaje de programacin Turbo C++.

4. Desventajas
La desventaja de este programa es que solamente est elaborado para el ingreso de un nmero limitado de datos.

5. Explicacin del cdigo


5.1. #include<dos.h> Este es un archivo de encabezado que permite obtener la hora de la computadora. 5.2. #include<stdio.h>
Es un archivo de encabezado de turbo c++; que permite el funcin printf. uso de la

5.3. #include<conio.h> Este comando permite el uso de las funciones clrscr() y getch() 5.4. #include<iostream.h> Este comando permite para el uso de la funcin cout y cin

5.5. #include<graphics.h> Este comando permite la utilizacin de funciones, con la cuales se puede realizar grficos y son: 5.5.1. setcolor(15): Este funcin permite dar el color a una figura geomtrica, por ejemplo el rectngulo.

5.5.2. rectangle(0,0,639,479)
Esta funcin dibujar un rectngulo sin rellenar su interior usando el color actual. La esquina superior izquierda del rectngulo est definida por los argumentos izquierdos y superiores. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del rectngulo.

El permetro del rectngulo es dibujado usando el estilo y grosor de lnea actuales. Donde x = 0 hasta x= 639 y donde y=0 hasta y=479
(0,0) (639,0)

(0,479)

(639,479)

5.5.3. setfillstyle(1,7) Esta funcin es usada para seleccionar una trama predefinida y un color de relleno. El argumento trama especfica la trama predefinida, mientras que el argumento color especifica el color de relleno. Donde: 1 es el tipo de fondo y 7 es el color del fondo

5.5.4. bar(1,1,638,478) Esta funcin dibujar una barra rectangular y rellenada de dos dimensiones. La esquina superior izquierda de la barra rectangular est definida por los argumentos izquierdos y superiores. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha de la barra. La barra no tiene borde, pero es rellenada con la trama de relleno actual y el color de relleno como es establecido por la funcin setlinestyle. Donde se describe: bar( Xi,Yi,Xf,Yf ) Y luego pinta el fondo del bar en X desde Xi, hasta el Xf y en Y desde Yi hasta Yf. 5.5.5. line(518,445,618,445) Esta funcin es usada para conectar dos puntos con una lnea recta. El primer punto es especificado por los argumentos x1 e y1. El segundo punto es especificado por los argumentos x2 e y2. La lnea se dibuja usando el estilo de lnea actual, el grosor, y el color actual. La posicin del cursor grfico no es afectada por la funcin line.

Donde las coordenadas en X es desde Xi hasta Xf y en Y es desde Yi hasta Yf. En este caso de describe de esta forma: line (Xi, Yi , Xf , Yf); (518, 45) (618, 445)

5.5.6. outtextxy(160,20," NACIONAL UNIVERSIDAD ''HERMILIO VALDIZAN''") Esta funcin es usada para mostar una cadena de caracteres. El argumento *cadena_texto define la cadena de texto a ser mostrado. La cadena es mostrada en la posicin descrita por los argumentos x e y usando el color actual y fuente, direccin, valores, y justificaciones de texto. Cuando se use la fuente por defecto, cualquier texto que se extiende fuera del rea grfica actual es truncado. Aunque la funcin outtextxy est diseada para texto sin formato, texto con formato puede ser mostrada a travs del uso de un bfer de caracteres y la funcin sprintf. Donde (x, y) es donde inicia y empieza la palabra, ejemplito: outtextxy(X, Y, frase);

5.5.7. settextstyle(11,0,5); Esta funcin es usada para especificar las caractersticas para la salida de texto con fuente. El argumento fuente especfica la fuente registrada a usar. La fuente ha de estar registrada para resultados predecibles. El argumento orientacin especfica la orientacin en que el texto ha de ser mostrado. La orientacin por efecto es horizontal. El argumento tamao del caracter define el factor por el cual la fuente actual ser multiplicada. Sin embargo, un valor distinto a 0 para el argumento tamao del caracter , solamente funciona con fuentes escalables. El argumento tamao del caracter puede agrandar el tamao de la fuente hasta 10 veces su tamao normal. Existen varios valores y constantes para las justificaciones. Settextstyle(fuente, modo de orientacin, tamao de letra);

6. #include"texto.h" Esta funcin nos permite escribir palabras pero con ubicaciones en coordenadas Los comandos son: 6.1. gprintfxy(17,115,"Recibo N :"); Nos permite mostrar texto en pantalla en la ubicacin (x, y) y muestra la frase en esa ubicacin, ejemplito: gprintfxy(X , Y, Frase) 6.2. gscanfxy(100,115,"%d",&*rec[tam].recibo) Permite el ingreso y se almacena la informacin en la (x, y) que tiene funcin parecida a la funcion cin . gscanfxy(X, Y, ingreso de la variable); para ingresar una variable de tipo char.

7. #include<stdio.h> 7.1. printf Esta funcin es equivalente a cprintf, con el argumento stdout interpuesto antes de los argumentos a printf. 7.2. scanf Esta funcin permite el ingreso de datos a la memoria de la computadora y es similar al cin pero con la diferencia de que scanf usa especificadores de formato. 8. #include"cargrec.h"

Explicacin de la codificacin

Estamos utilizando la siguientes libreras

#include<dos.h> //gettime #include<stdlib.h> //exit() #include<stdio.h> //printf #include<conio.h> #include<string.h> #include<graphics.h> #include"texto.h" #include"cargrec.h"

Explicacin de la codificacin
#define tam 30 int i, j; FILE *fp; //utilizar el puntero struct recibo{ unsigned long int recibo[30]; char nombre[30]; char apellidop[30]; char apellidom[30]; char escuela[30]; int annio[30]; char destino[30]; int item; char descripcion1[30],descripcion2[30],descripcion3[30],descripcion4[30], descripcion5[30]; double importe1,importe2,importe3,importe4,importe5; double total_pagar; }rec[tam];

Explicacin de la codificacin

//definiendo las funciones void mostrar(); void contrasena(); void mensaje_error(); void icono_entrada(); void salir();

Explicacin de la codificacin

void presentacion_pantalla() //CUADRO1 setcolor(15); rectangle(0,0,639,479); setfillstyle(1,7); bar(1,1,638,478); //CUADRO2 setcolor(15); setcolor(8); setcolor(8); setcolor(8); setfillstyle(1,3); setcolor(0);

rectangle(9,11,628,54); line(9,54,628,54); line(628,11,628,55); line(629,11,629,55); bar(10,12,627,53); line(10,55,628,55);

Explicacin de la codificacin //CUADRO3 setcolor(15); rectangle(9,56,628,100); setcolor(8); line(9,100,628,100); setcolor(8); line(628,56,628,101); setcolor(8); line(629,56,629,101); setfillstyle(1,7); bar(10,57,627,99); setcolor(8); line(10,101,628,101);

//CUADRO4--------VENT-INGRESO setcolor(15); rectangle(9,108,628,240); setcolor(8); rectangle(11,110,626,238); rectangle(12,111,624,237); setfillstyle(1,0); bar(13,112,623,236);

Explicacin de la codificacin //CUADRO5--------VENT-SALIDA setcolor(8); rectangle(12,258,625,437); rectangle(13,259,624,436); setcolor(15); line(12,437,625,437); line(13,436,624,436); line(625,258,625,437); line(624,259,624,436); setfillstyle(1,0); bar(14,260,623,435); //CUADRO6---------VENT-INFERIOR rectangle(12,440,624,472); setcolor(8); line(12,473,625,473); line(13,474,626,474); line(625,440,625,473); line(626,441,626,474);

Explicacin de la codificacin
//CUADRO7-----RELOJ setcolor(15);rectangle(518,445,618,465); rectangle(519,446,617,464); setcolor(8);line(518,445,618,445); line(518,446,617,446); line(518,445,518,465); line(519,445,519,464);

Explicacin de la codificacin
void texto_presentacion(void) { setcolor(15); outtextxy(160,20,"UNIVERSIDAD NACIONAL ''HERMILIO VALDIZAN''"); setcolor(15); outtextxy(290,38,"HUANUCO"); setcolor(1); outtextxy(80,60,"OFICINA DE TESORERIA"); setcolor(1); outtextxy(86,75,"R.U.C.N20172383531 "); setcolor(1); settextstyle(2,0,4); outtextxy(13,86,"la Universidad Nacional ''Hermilio Valdiz n'' Recibe: "); setcolor(1); settextstyle(2,0,6); outtextxy(440,70,"RECIBO DE INGRESOS"); setcolor(8); settextstyle(11,0,5); outtextxy(15,245,"El importe que se describe a continuacin:"); setcolor(15); settextstyle(11,0,5); outtextxy(14,246,"El importe que se describe a continuacin:"); settextstyle(3,0,1); outtextxy(465,440,"fecha:"); setcolor(8); settextstyle(3,0,1); outtextxy(463,439,"fecha:"); setcolor(0); settextstyle(2,0,5); outtextxy(17,446,"Desea Salir? [1/0]:");

Explicacin de la codificacin

//cuadro de decicion setcolor(15); rectangle(166,447,200,462); rectangle(167,448,199,461); setcolor(8); line(166,447,200,447); line(166,448,199,448); line(166,447,166,462); line(167,448,167,461); bar(168,449,198,460);

Explicacin de la codificacin
void imprime_recibo() { setcolor(11); rectangle(15,260,622,418); rectangle(15,260,622,323); rectangle(15,323,622,335); rectangle(530,418,622,434); line(530,323,530,418); setcolor(11); outtextxy(102,261,"UNIVERSIDAD NACIONAL ''HERMILIO VALDIZAN''"); outtextxy(200,270,"HUANUCO"); outtextxy(159,279,"OFICINA DE TESORERIA"); settextstyle(11,0,1);outtextxy(465,271,"RECIBO DE INGRESOS"); settextstyle(2,0,4); outtextxy(165,290,"R.U.C.N20172383531 "); outtextxy(465,282,"Recibo N:"); outtextxy(19,300 ,"Del Sr.(Srta):"); outtextxy(19,310 ,"De la E.A.P. :"); outtextxy(300,310 ,"Ao:"); outtextxy(390,310 ,"Con destino a:"); outtextxy(210,323 ,"D E S C R I P C I O N"); outtextxy(559,323 ,"IMPORTE"); outtextxy(472,421 ,"Total s/."); }

Explicacin de la codificacin
void ingresar() { for(int i=0;i<tam;i++) if(!*rec[i].recibo) break; if(i==tam) { printf("La lista esta llena\n"); getch(); } setcolor(10); settextstyle(2,0,4); setcolor(10); gprintfxy(17,115,"Recibo N :"); setcolor(14); gscanfxy(96,115,"%d,&*rec[i].recibo); setcolor(10); gprintfxy(17,126,"Nombres :"); setcolor(14); gscanfxy(96,126,"%s",&rec[i].nombre); setcolor(10); gprintfxy(220,126,"AP:"); setcolor(14);gscanfxy(240,126,"%s",&rec[i].apellidop); setcolor(10); gprintfxy(310,126,"AM :"); setcolor(14); gscanfxy(334,126,"%s",&rec[i].apellidom); setcolor(10); gprintfxy(17,137,"De la E.A.P. :"); setcolor(14);gscanfxy(96,137,"%s",&rec[i].escuela);

Explicacin de la codificacin

setcolor(10); gprintfxy(310,137,"Ao:"); setcolor(14); gscanfxy(334,137,"%d",&rec[i].annio); setcolor(10); gprintfxy(395,137,"Destino a:"); setcolor(14);gscanfxy(452,137,"%s",&rec[i].destino); setcolor(10); gprintfxy(15,147,"---------------------------------------------------------------------------------------------------"); setcolor(10); gprintfxy(160,158,"DESCRIPCION"); setcolor(10); gprintfxy(450,158,"IMPORTE"); setcolor(10); //gprintfxy(578,158,"Item:");setcolor(14); gscanfxy(606,158,"%d",&rec[i].item); setcolor(10); gprintfxy(15,169,"---------------------------------------------------------------------------------------------------");

Explicacin de la codificacin
setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); setcolor(10); setcolor(14); gprintfxy(90,180,"*"); gscanfxy(98,180 ,"%s",&rec[i].descripcion1); gprintfxy(450,180,"s/."); gscanfxy(470,180,"%d",&rec[i].importe1); gprintfxy(90,190,"*"); gscanfxy(98,190 ,"%s",&rec[i].descripcion2); gprintfxy(450,190,"s/."); gscanfxy(470,190,"%d",&rec[i].importe2); gprintfxy(90,200,"*"); gscanfxy(98,200 ,"%s",&rec[i].descripcion3); gprintfxy(450,200,"s/."); gscanfxy(470,200,"%d",&rec[i].importe3); gprintfxy(90,210,"*"); gscanfxy(98,210 ,"%s",&rec[i].descripcion4); gprintfxy(450,210,"s/."); gscanfxy(470,210,"%d",&rec[i].importe4); gprintfxy(90,220,"*"); gscanfxy(98,220 ,"%s",&rec[i].descripcion5); gprintfxy(450,220,"s/."); gscanfxy(470,220,"%d",&rec[i].importe5);

Explicacin de la codificacin

if(fwrite(rec[i].recibo,sizeof(rec[i].recibo),1,fp)!=1) //printf("Error al intentar escribir en archivo"); fwrite(rec[i].nombre ,sizeof(rec[i].nombre),1,fp); fwrite(rec[i].apellidop,sizeof(rec[i].apellidop),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].apellidom),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].escuela),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].annio),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].destino),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].item),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].descripcion1),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].importe1),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].descripcion2),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].importe2),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].descripcion3),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].importe3),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].descripcion4),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].importe4),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].descripcion5),1,fp); fwrite(rec[i].apellidom,sizeof(rec[i].importe5),1,fp); fclose(fp); mostrar();

Explicacin de la codificacin
}//END MENU OPCIONES void mostrar(void) { imprime_recibo(); int cont=0; for(i=0;i<tam;i++) { if(*rec[i].recibo) { setcolor(15); gprintfxy(524,282,"%d",*rec[i].recibo); gprintfxy(98,300,"%s %s %s",rec[i].nombre,rec[i].apellidop,rec[i].apellidom); gprintfxy(98,310, "%s",rec[i].escuela); gprintfxy(323,310,"%d",*rec[i].annio); gprintfxy(472,310,"%s",rec[i].destino); gprintfxy(100,340,"// %s",rec[i].descripcion1); gprintfxy(540,340,"S/.%d" ,rec[i].importe1); gprintfxy(100,350,"// %s",rec[i].descripcion2); gprintfxy(540,350,"S/.%d" ,rec[i].importe2); gprintfxy(100,360,"// %s",rec[i].descripcion3); gprintfxy(540,360,"S/.%d" ,rec[i].importe3); gprintfxy(100,370,"// %s",rec[i].descripcion4); gprintfxy(540,370,"S/.%d" ,rec[i].importe4); gprintfxy(100,380,"// %s",rec[i].descripcion5); gprintfxy(540,380,"S/.%d" ,rec[i].importe5); gprintfxy(540,421,"S/. %d",rec[i].importe1+rec[i].importe2+rec[i].importe3+rec[i].importe4+rec[i].importe5); getch(); } }

Explicacin de la codificacin void hora() { struct time t; gettime(&t); gotoxy(66,29);printf("%2d:%02d:%02d.%02d \n", t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); }

Explicacin de la codificacin void contrasena(void) { char contra[7]; setcolor(8); rectangle(120,150,520,270); rectangle(121,151,519,269); setcolor(15); line(120,150,520,150); line(120,151,519,151); line(120,150,120,270); line(121,150,121,269); setfillstyle(1,7); bar(122,152,518,268); setfillstyle(1,1); bar(122,152,518,168); setcolor(15);settextstyle(2,0,5);outtextxy(130,153,"Sistema de seguridad..."); setcolor(1); settextstyle(12,0,5);outtextxy(258,210,"PASSWORD:"); icono_entrada();

Explicacin de la codificacin
//escritura_password setcolor(8); rectangle(329,205,451,221); rectangle(330,206,450,220); setcolor(15); line(329,221,451,221); line(330,220,451,220); line(451,205,451,221); line(450,206,450,221); setfillstyle(1,0); bar(331,207,449,219); setcolor(15); settextstyle(12,0,4); gscanfxy(335,209,"%s",&contra);

if (strcmp(contra,"recibo")) { outtextxy(260,230,"Contrasea no valida"); mensaje_error(); getch(); contrasena(); } else { cargador_recibo(); } }

Explicacin de la codificacin
void salir() { int n; setcolor(12); settextstyle(12,0,4); gscanfxy(170,450,"%d",&n); switch(n) { case 0: clrscr(); presentacion_pantalla(); hora(); init_mouse(); texto_presentacion(); ingresar(); break; case 1: salida_recibo(); cleardevice(); break; default: salir(); }

Explicacin de la codificacin void main() { int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); contrasena(); presentacion_pantalla(); hora(); texto_presentacion(); ingresar(); } Este cdigo es la funcin principal

http://www.conclase.net/c/Borland/libreria.php?lib=graphics http://www.conclase.net/c/fuentes.php?tema=4

http://www.conclase.net/c/librerias/libreria.php?lib=stdio http://www.conclase.net/c/librerias/libreria.php?lib=string
http://www.conclase.net/c/librerias/libreria.php?lib=stdlib http://www.conclase.net/c/librerias/libreria.php?lib=time Algoritmos y su codificacin en C++ Tomo I y II, Cesar Liza vila

You might also like