Documentos de Académico
Documentos de Profesional
Documentos de Cultura
h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
#define N 50
char nombre_lib[N];
char autor[N];
int lleno_lib;
}libro;
char nombre_bi[N];
libro lib[10];
int lleno_bi;
}biblioteca;
biblioteca bi[7];
void CursorOff();
void limpia();
void vacio();
void menu();
void anadebi();
void anadelib();
void consultar();
//Funcion principal
int main(){
system("COLOR F2");
CursorOff();
dibujarCuadro(0,0,78,24);
dibujarCuadro(1,1,77,3);
menu();
getch();
return 0;
void menu(){
char op;
CursorOn(1,10);
do{
gotoxy(3,22); cout << "Error al ingresar valores. Presione una tecla para
volver a ingresar..";
CursorOff();
getch();
CursorOn(1,10);
if (op=='1'){
anadebi();
if (op=='2'){
int a = 0;
if ( bi[i].lleno_bi == 1)
a = 1;
if (a==0){
CursorOff();
getch();
gotoxy(3,17); cout << " ";
menu();
else
anadelib();
if (op=='3'){
int a = 0;
if ( bi[i].lib[j].lleno_lib == 1)
a = 1;
if (a==0){
CursorOff();
getch();
menu();
else
consultar();
}
if (op=='4')
system("CLS");
gotoxy(3,1);cout<<"Programa Finalizado...!";
exit(0);
void anadebi(){
limpia();
int aux = 0;
char op;
if (bi[i].lleno_bi == 0){
fflush(stdin);
fgets(bi[i].nombre_bi, N, stdin);
cambio(bi[i].nombre_bi);
bi[i].lleno_bi = 1;
do{
CursorOff();
op = getch();
if(op=='1'){
CursorOn(1,10);
gotoxy(3,22);printf("
");
if (op == '2')
aux=1;
if (aux == 0){
gotoxy(3,22); cout << "No quedan mas espacios. Presione una tecla para
continuar..";
getch();
CursorOff();
limpia();
menu();
void anadelib(){
limpia();
int op,aux=0,f=8;
char op2;
if(bi[i].lleno_bi==1){
gotoxy(3,f); cout << "(" << i+1 << ") " << bi[i].nombre_bi;
f+=2;
limpia();
if(bi[op-1].lib[i].lleno_lib == 0){
fflush(stdin);
fgets(bi[op-1].lib[i].nombre_lib, N, stdin);
cambio(bi[op-1].lib[i].nombre_lib);
fflush(stdin);
fgets(bi[op-1].lib[i].autor, N, stdin);
cambio(bi[op-1].lib[i].autor);
bi[op-1].lib[i].lleno_lib = 1;
do{
CursorOff();
gotoxy(3,22); cout << "Pulse una tecla: <1> Ingresar otro libro /
<2> Ir al menu principal ";
op2 = getch();
CursorOn(1,10);
aux=1;
limpia();
menu();
void consultar(){
limpia();
char buscar[N];
char op;
char op2;
CursorOn(1,10);
do{
gotoxy(3,22); cout << "Error al ingresar valores. Presione una tecla para
volver a ingresar..";
CursorOff();
getch();
CursorOn(1,10);
limpia();
switch(op){
case '1':{
fflush(stdin);
fgets(buscar, N, stdin);
cambio(buscar);
int aux=0;
if (strcmpi(buscar,bi[i].lib[j].nombre_lib) == 0 ){
aux=1;
if (aux ==1){
do{
CursorOff();
op2 = getch();
if (op2 == '1'){
limpia();
consultar();
limpia();
menu();
else if (aux==0){
CursorOff();
limpia();
menu();
break;
case '2':{
fflush(stdin);
fgets(buscar, N, stdin);
cambio(buscar);
if (strcmpi(buscar,bi[i].lib[j].autor) == 0 ){
aux=1;
f+=2;
if (aux ==1){
do{
CursorOff();
gotoxy(3,22); cout << "Pulse una tecla: <1> Consultar
otro libro / <2> Ir al menu principal ";
op2 = getch();
if (op2 == '1'){
limpia();
consultar();
limpia();
menu();
else if (aux==0){
CursorOff();
getch();
limpia();
menu();
break;
}
case '3':{
limpia();
int op,aux=0,f=8;
char op2;
if(bi[i].lleno_bi==1){
gotoxy(3,f); cout << "(" << i+1 <<") " << bi[i].nombre_bi;
f+=2;
limpia();
CursorOff();
int f2=11;
if(bi[op-1].lib[i].lleno_lib == 1){
f2+=2;
do{
gotoxy(3,22); cout << "Pulse una tecla: <1> Consultar otro
libro / <2> Ir al menu principal ";
op2 = getch();
if (op2 == '1'){
limpia();
consultar();
limpia();
menu();
break;
getch();
menu();
void vacio(){
bi[i].lleno_bi = 0;
bi[i].lib[j].lleno_lib = 0;
}
}
int aux;
aux = strlen(a);
a[aux-1] = '\0';
void limpia(){
int i,j;
for(i=5;i<=23;i++){
for(j=3;j<=76;j++){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
int i;
for (i=x1;i<x2;i++){
gotoxy(i,y1); cout << "Ä";
for (i=y1;i<y2;i++){
void CursorOff(){
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor);
if(size == 0)
size = 20;
CONSOLE_CURSOR_INFO lpCursor;
lpCursor.bVisible = visible;
lpCursor.dwSize = size;
SetConsoleCursorInfo(console,&lpCursor);
}