Ayuda por favor (Con escritura de archivos en C++)

Iniciado por guirudj007, 20 Julio 2016, 02:41 AM

0 Miembros y 1 Visitante están viendo este tema.

guirudj007

Que tal amigos, ustedes que son expertos en la materia tal vez me salven de sacarme un cero en mi proyecto, estoy haciendo un sistema de gimnasio, por ahora solo tiene las opciones de ingresar y mostrar datos de empleados o clientes, pero aqui viene el problema, como es un ingreso regular debo trabajar con archivos, el problema se da al enviar los datos ingresados al archivo, ya que en este se guarda solo basura... les dejaré el codigo para ver si detectan el error, estaré muy agradecido si pudieran ayudarme...

Lo realicé en BorlandC++ 5.0.2

Citar#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
int tecla, tecla2, tecla3;
typedef struct
      {
      char apellido1[15];
      char apellido2[15];
      char nombre1[15];
      char nombre2[15];
      int cedula[10];
      }identidad;

typedef struct
      {
      int convencional[9];
      int celular[10];
      char correo[50];
      }contacto;

typedef struct
      {
      char ciudad[20];
      char sector[20];
      char calle1[20];
      char calle2[20];
      int ncasa;
      }direccion;

typedef struct
      {
      identidad i;
      contacto c;
      direccion d;
      }persona;


   typedef struct
      {
      char nom_gym[20];
      char convencional[9];
      char celular[11];
      char correo[50];
      direccion d;
      }gym;

class cliente
      {
      private:
         persona cli;
      public:
         cliente();
         void ingreso_identidad(identidad h1);
         void ingreso_contacto(contacto h2);
         void ingreso_direccion(direccion h3);
         friend void ingreso_per(cliente &h4);
         void mostrar_identidad(identidad g1);
         void mostrar_contacto(contacto g2);
         void mostrar_direccion(direccion g3);
         friend void mostrar_cli(cliente g4);
         ~cliente();
      }; cliente::cliente(){}
class empleado
      {
      private:
         persona emp;
      public:
         empleado();
         void ingreso_identidad(identidad h1);
         void ingreso_contacto(contacto h2);
         void ingreso_direccion(direccion h3);
         friend void ingreso_per(empleado &h4);
         void mostrar_identidad(identidad g1);
         void mostrar_contacto(contacto g2);
         void mostrar_direccion(direccion g3);
         friend void mostrar_emp(empleado g4);
         ~empleado();
      }; empleado::empleado(){}


void cliente::ingreso_identidad(identidad h1)
{
printf("PRIMER  APELLIDO :\t");gets(h1.apellido1);
printf("SEGUNDO APELLIDO :\t");gets(h1.apellido2);
printf("PRIMER  NOMBRE   :\t");gets(h1.nombre1);
printf("SEGUNDO NOMBRE   :\t");gets(h1.nombre2);
printf("CEDULA           :\t");
for(int i=0;i<10;i++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h1.cedula=tecla-48;
printf("%d",h1.cedula);}}


void cliente::ingreso_contacto(contacto h2)
{printf("\nCONVENCIONAL: ");
for(int i=0;i<9;i++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h2.convencional=tecla-48;
printf("%d",h2.convencional);}
printf("\nCELULAR: ");
for(int e=0;e<10;e++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h2.celular[e]=tecla-48;
printf("%d",h2.celular[e]);}
printf("\nEMAIL:  ");cin>>h2.correo;}

void cliente::ingreso_direccion(direccion h3)
{
printf("\nCIUDAD: ");gets(h3.ciudad);
printf("SECTOR: ");gets(h3.sector);
printf("CALLE PRINCIPAL: ");gets(h3.calle1);
printf("CALLE INTERSECCION: ");gets(h3.calle2);
printf("NUMERO DE CASA: ");cin>>h3.ncasa;
}

void ingreso_per(cliente &h4)
{
h4.ingreso_identidad(h4.cli.i);
h4.ingreso_contacto(h4.cli.c);
h4.ingreso_direccion(h4.cli.d);
}

cliente::~cliente(){}

void empleado::ingreso_identidad(identidad h1)
{
printf("PRIMER  APELLIDO : ");gets(h1.apellido1);
printf("SEGUNDO APELLIDO : ");gets(h1.apellido2);
printf("PRIMER  NOMBRE   : ");gets(h1.nombre1);
printf("SEGUNDO NOMBRE   : ");gets(h1.nombre2);
printf("CEDULA           : ");
for(int i=0;i<10;i++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h1.cedula=tecla-48;
printf("%d",h1.cedula);
}}

void empleado::ingreso_contacto(contacto h2)
{printf("\nCONVENCIONAL: ");
for(int i=0;i<9;i++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h2.convencional=tecla-48;
printf("%d",h2.convencional);
}

printf("\nCELULAR          :\t");
for(int e=0;e<10;e++){
do{tecla=getch();}while(tecla<48 && tecla>57);
h2.celular[e]=tecla-48;
printf("%d",h2.celular[e]);}
printf("\nEMAIL:  ");cin>>h2.correo;}

void empleado::ingreso_direccion(direccion h3)
{
printf("\nCIUDAD: ");gets(h3.ciudad);
printf("SECTOR: ");gets(h3.sector);
printf("CALLE PRINCIPAL: ");gets(h3.calle1);
printf("CALLE INTERSECCION: ");gets(h3.calle2);
printf("NUMERO DE CASA: ");cin>>h3.ncasa;

}

void ingreso_per(empleado &h4)
{
h4.ingreso_identidad(h4.emp.i);
h4.ingreso_contacto(h4.emp.c);
h4.ingreso_direccion(h4.emp.d);
}

empleado::~empleado(){}
//Funciones para Mostrar
void mostrar_identidad(identidad g1){
printf("PRIMER  APELLIDO :\t");printf(g1.apellido1);
printf("SEGUNDO APELLIDO :\t");printf(g1.apellido2);
printf("PRIMER  NOMBRE   :\t");printf(g1.nombre1);
printf("SEGUNDO NOMBRE   :\t");printf(g1.nombre2);
printf("CEDULA           :\t");
printf("%d",g1.cedula);}

void mostrar_contacto(contacto g2){
printf("\nCONVENCIONAL: ");
printf("%d",g2.convencional);
printf("\nCELULAR: ");
printf("%d",g2.celular);
printf("\nEMAIL:  ");cout<<g2.correo;
}

void mostrar_direccion(direccion g3){
printf("\nCIUDAD: ");cout<<g3.ciudad;
printf("SECTOR: ");cout<<g3.sector;
printf("CALLE PRINCIPAL: ");cout<<g3.calle1;
printf("CALLE INTERSECCION: ");cout<<g3.calle2;
printf("NUMERO DE CASA: ");printf("%d",g3.ncasa);
}

void mostrar_cli(cliente g4){
mostrar_identidad(g4.cli.i);
mostrar_contacto(g4.cli.c);
mostrar_direccion(g4.cli.d);
         }
void mostrar_emp(empleado g4){
mostrar_identidad(g4.emp.i);
mostrar_contacto(g4.emp.c);
mostrar_direccion(g4.emp.d);
}

void borrar_datos(){
          gotoxy(1,4);cout<<"                                                                                                                          ";
          gotoxy(1,5);cout<<"                                                                                                                         ";
          gotoxy(1,6);cout<<"                                                                                                                         ";
          gotoxy(1,7);cout<<"                                                                                                                         ";
          gotoxy(1,8);cout<<"                                                                                                                         ";
          gotoxy(1,9);cout<<"                                                                                                                         ";
         gotoxy(1,10);cout<<"                                                                                                                         ";
          gotoxy(1,11);cout<<"                                                                                                                         ";
          gotoxy(1,12);cout<<"                                                                                                                         ";
          gotoxy(1,13);cout<<"                                                                                                                         ";
          gotoxy(1,14);cout<<"                                                                                                                         ";
          gotoxy(1,15);cout<<"                                                                                                                         ";
          gotoxy(1,16);cout<<"                                                                                                                         ";
          gotoxy(1,17);cout<<"                                                                                                                         ";
          gotoxy(1,18);cout<<"                                                                                                                         ";
          gotoxy(1,19);cout<<"                                                                                                                         ";
          gotoxy(1,20);cout<<"                                                                                                                         ";
          gotoxy(1,21);cout<<"                                                                                                                         ";
          gotoxy(1,22);cout<<"                                                                                                                         ";
          gotoxy(1,23);cout<<"                                                                                                                         ";
          gotoxy(1,24);cout<<"                                                                                                                         ";
          gotoxy(1,25);cout<<"                                                                                                                         ";
          gotoxy(1,26);cout<<"                                                                                                                         ";
          gotoxy(1,27);cout<<"                                                                                                                         ";
          gotoxy(1,28);cout<<"                                                                                                                         ";
          gotoxy(1,29);cout<<"                                                                                                                         ";
          gotoxy(1,30);cout<<"                                                                                                                         ";


}

void gym_mostrar(gym &v){
clrscr();
cout<<"\t"<<v.nom_gym<<endl;
cout<<"\nDireccion:\n"<<endl;
cout<<v.d.ciudad<<" - "<<v.d.sector<<endl;
cout<<v.d.calle1<<" y "<<v.d.calle2<<"No. "<<v.d.ncasa<<endl;
cout<<"\nContacto:\n"<<endl;
cout<<"Telefono: "<<v.convencional<<endl;
cout<<"Celular: "<<v.celular<<endl;
cout<<"Email: "<<v.correo<<endl;
}

void gym_salir(gym &v){
clrscr();
cout<<"\t"<<v.nom_gym<<endl;
cout<<"\nDireccion:\n"<<endl;
cout<<v.d.ciudad<<" - "<<v.d.sector<<endl;
cout<<v.d.calle1<<" y "<<v.d.calle2<<"No. "<<v.d.ncasa<<endl;
cout<<"\nContacto:\n"<<endl;
cout<<"Telefono: "<<v.convencional<<endl;
cout<<"Celular: "<<v.celular<<endl;
cout<<"Email: "<<v.correo<<endl;
cout<<"\n\nPulse una tecla para Salir...";
}

void main()
{ FILE *pa;
  gym g;
  cliente c;
  empleado e;
  strcpy(g.nom_gym,"    TempleGYM");
  strcpy(g.convencional,"052563549");
  strcpy(g.celular,"0967004356");
  strcpy(g.correo,"templegym@mail.com");
  strcpy(g.d.ciudad,"Portoviejo");
  strcpy(g.d.sector,"Los Bosques");
  strcpy(g.d.calle1,"Av Manabi");
  strcpy(g.d.calle2,"Tennis Club ");
  g.d.ncasa=34;
    system("cls");
  //MENU
char menu[5][15]={"Registrar","Mostrar","Buscar","Eliminar","Salir"};
  int tecla,col=2,i,indice=0;
  gym_mostrar(g);
  cout<<"\nPresione una Tecla para continuar...";
  getch();
  clrscr();
  for (i=0;i<5;i++){
   gotoxy(col,2);cprintf("%s",menu);
   col+=15;}
  col=2;i=1;
   do{
      do{_setcursortype(_NOCURSOR);
    textbackground(6);
    gotoxy(col,2);cprintf("%s",menu[indice]);
    tecla=getch();
      }while(tecla!=77 && tecla != 75 && tecla!=13);
      textbackground(0);
      gotoxy(col,2);cprintf("%s",menu[indice]);
      switch(tecla){
      case 77: if (indice==4){col=2;indice=0;}
          else {col+=15;indice++;}
          break;
      case 75: if (indice==0){col=62;indice=4;}
          else {col-=15;indice--;}
          break;
      case 13: _setcursortype(_NORMALCURSOR);
          if (indice==0){
          gotoxy(1,4);
          cout<<"Presione <E> si desea ingresar un empleado o <C> si desea ingresar un cliente"<<endl;
          tecla2=getch();
          switch(tecla2){
          case 67:{pa = fopen("Clientes.bin","ab+");
          ingreso_per(c);
         fwrite(&c,sizeof(cliente),1,pa);
         fclose(pa);
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 99:{pa = fopen("Clientes.bin","ab+");
          ingreso_per(c);
         fwrite(&c,sizeof(cliente),1,pa);
         fclose(pa);
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 69:{pa = fopen("Empleados.bin","ab+");
          ingreso_per(e);
         fwrite(&e,sizeof(empleado),1,pa);
         fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 101:{pa = fopen("Empleados.bin","ab+");
          ingreso_per(e);
         fwrite(&e,sizeof(empleado),1,pa);
         fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         default:{printf("Opcion incorrecta.");getch(); gym_mostrar(g);getch();clrscr();}
         };}
          if (indice==1)
          {
          gotoxy(1,4);
          cout<<"Presione <E> si desea mostrar a los empleados o <C> si desea mostrar a los clientes"<<endl;
          tecla3=getch();
          switch(tecla3){
          case 67:
          {
          pa = fopen("Clientes.bin","rb");
          fread(&c,sizeof(cliente),1,pa);
          mostrar_cli(c);
          getch();
          fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
          };
         break;
         case 99:
         {
         pa = fopen("Clientes.bin","rb");
          fread(&c,sizeof(cliente),1,pa);
          mostrar_cli(c);
          getch();
          fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         };
         break;
         case 69:
         {
         pa = fopen("Empleados.bin","rb");
          fread(&e,sizeof(empleado),1,pa);
          mostrar_emp(e);
          getch();
          fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         };
         break;
         case 101:
         {   
         pa = fopen("Empleados.bin","rb");
         fread(&e,sizeof(empleado),1,pa);
          mostrar_emp(e);
          getch();
          fclose(pa);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         }   
         };   
         }
          if (indice==2)
          {
          gotoxy(1,4);
          cout<<"En Construccion";cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
           }
          if (indice==3)
          {
          gotoxy(1,4);
          cout<<"En Construccion";cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
          }
          if (indice==4){gym_salir(g); getch();i=0;
          }
      }
   }while(i);
}

AlbertoBSD

#1
Si el problema es de lectura y escritura de archivos tal vez te interesen unos videos que hice.


[youtube=640,360]https://www.youtube.com/watch?v=DOqtEMW1Nqk[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=a2569dz-0Cs[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=6dHW5cnjVzw[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=RFgCRX68Nbk[/youtube]


Cabe mencionar que veo que tienes un maestro muy malo en programacion ya que revuelven programación en C y en C++ y ademas de usar conio.h e iostream en un mismo programa.

Es el maestro el que debe de tener 0 en programacion

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

guirudj007

Vi todos los videos y aun no consigo que los datos se guarden, ya no se que hacer con este codigo...
talves usted que es mas entendido me pueda ayudar, esa escritura en archivos es la que no me deja armar el resto de opciones (mostrar, buscar, eliminar)..
Citar#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
int tecla, tecla2, tecla3;
typedef struct
      {
      char apellido1[15];
      char apellido2[15];
      char nombre1[15];
      char nombre2[15];
      char cedula[10];
      }identidad;

typedef struct
      {
      char convencional[9];
      char celular[10];
      char correo[50];
      }contacto;

typedef struct
      {
      char ciudad[20];
      char sector[20];
      char calle1[20];
      char calle2[20];
      char ncasa;
      }direccion;

typedef struct
      {
      identidad i;
      contacto c;
      direccion d;
      }persona;


   typedef struct
      {
      char nom_gym[20];
      char convencional[9];
      char celular[11];
      char correo[50];
      direccion d;
      char ngym;
      }gym;

class cliente
      {
      private:
         persona cli;
      public:
         cliente();
         void ingreso_identidad(identidad g1);
         void ingreso_contacto(contacto g2);
         void ingreso_direccion(direccion g3);
         friend void ingreso_per(cliente &g4);
         void mostrar_identidad(identidad g1);
         void mostrar_contacto(contacto g2);
         void mostrar_direccion(direccion g3);
         friend void mostrar_cli(cliente g4);
         ~cliente();
      }; cliente::cliente(){}
class empleado
      {
      private:
         persona emp;
      public:
         empleado();
         void ingreso_identidad(identidad g1);
         void ingreso_contacto(contacto g2);
         void ingreso_direccion(direccion g3);
         friend void ingreso_per(empleado &g4);
         void mostrar_identidad(identidad g1);
         void mostrar_contacto(contacto g2);
         void mostrar_direccion(direccion g3);
         friend void mostrar_emp(empleado g4);
         ~empleado();
      }; empleado::empleado(){}


void cliente::ingreso_identidad(identidad g1)
{
cout<<"PRIMER  APELLIDO :";gets(g1.apellido1);
cout<<"SEGUNDO APELLIDO :";gets(g1.apellido2);
cout<<"PRIMER  NOMBRE   :";gets(g1.nombre1);
cout<<"SEGUNDO NOMBRE   :";gets(g1.nombre2);
cout<<"CEDULA           :";gets(g1.cedula);
}


void cliente::ingreso_contacto(contacto g2)
{cout<<"CONVENCIONAL      : ";gets(g2.convencional);
cout<<"CELULAR            : ";gets(g2.celular);
cout<<"EMAIL            :  ";gets(g2.correo);}

void cliente::ingreso_direccion(direccion g3)
{
cout<<"CIUDAD            : ";gets(g3.ciudad);
cout<<"SECTOR            : ";gets(g3.sector);
cout<<"CALLE PRINCIPAL   : ";gets(g3.calle1);
cout<<"CALLE INTERSECCION: ";gets(g3.calle2);
cout<<"NUMERO DE CASA   : ";cin>>g3.ncasa;
}

void ingreso_per(cliente &g4)
{
g4.ingreso_identidad(g4.cli.i);
g4.ingreso_contacto(g4.cli.c);
g4.ingreso_direccion(g4.cli.d);
}

cliente::~cliente(){}

void empleado::ingreso_identidad(identidad g1)
{
cout<<"PRIMER  APELLIDO : ";gets(g1.apellido1);
cout<<"SEGUNDO APELLIDO : ";gets(g1.apellido2);
cout<<"PRIMER  NOMBRE   : ";gets(g1.nombre1);
cout<<"SEGUNDO NOMBRE   : ";gets(g1.nombre2);
cout<<"CEDULA           : ";gets(g1.cedula);}

void empleado::ingreso_contacto(contacto g2)
{
cout<<"CONVENCIONAL     : ";gets(g2.convencional);
cout<<"CELULAR          : ";gets(g2.celular);
cout<<"EMAIL            :  ";gets(g2.correo);}



void empleado::ingreso_direccion(direccion g3)
{
cout<<"CIUDAD            : ";gets(g3.ciudad);
cout<<"SECTOR           : ";gets(g3.sector);
cout<<"CALLE PRINCIPAL  : ";gets(g3.calle1);
cout<<"CALLE INTERSECCION: ";gets(g3.calle2);
cout<<"NUMERO DE CASA   : ";cin>>g3.ncasa;

}

void ingreso_per(empleado &g4)
{
g4.ingreso_identidad(g4.emp.i);
g4.ingreso_contacto(g4.emp.c);
g4.ingreso_direccion(g4.emp.d);
}

empleado::~empleado(){}
//Funciones para Mostrar
void mostrar_identidad(identidad g1){
cout<<"PRIMER  APELLIDO :\n";cout<<g1.apellido1;
cout<<"SEGUNDO APELLIDO :\n";cout<<g1.apellido2;
cout<<"PRIMER  NOMBRE   :\n";cout<<g1.nombre1;
cout<<"SEGUNDO NOMBRE   :\n";cout<<g1.nombre2;
cout<<"CEDULA           :\n";cout<<g1.cedula;}

void mostrar_contacto(contacto g2){
cout<<"CONVENCIONAL      : ";
cout<<g2.convencional;
cout<<"CELULAR            : ";
cout<<g2.celular;
cout<<"EMAIL            :  ";cout<<g2.correo;
}

void mostrar_direccion(direccion g3){
cout<<"CIUDAD            : ";cout<<g3.ciudad;
cout<<"SECTOR            : ";cout<<g3.sector;
cout<<"CALLE PRINCIPAL   : ";cout<<g3.calle1;
cout<<"CALLE INTERSECCION: ";cout<<g3.calle2;
cout<<"NUMERO DE CASA   : ";cout<<g3.ncasa;
}

void mostrar_cli(cliente g4){
mostrar_identidad(g4.cli.i);
mostrar_contacto(g4.cli.c);
mostrar_direccion(g4.cli.d);
         }
void mostrar_emp(empleado g4){
mostrar_identidad(g4.emp.i);
mostrar_contacto(g4.emp.c);
mostrar_direccion(g4.emp.d);
}

void borrar_datos(){
          gotoxy(1,4);cout<<"                                                                                                                          ";
          gotoxy(1,5);cout<<"                                                                                                                         ";
          gotoxy(1,6);cout<<"                                                                                                                         ";
          gotoxy(1,7);cout<<"                                                                                                                         ";
          gotoxy(1,8);cout<<"                                                                                                                         ";
          gotoxy(1,9);cout<<"                                                                                                                         ";
         gotoxy(1,10);cout<<"                                                                                                                         ";
          gotoxy(1,11);cout<<"                                                                                                                         ";
          gotoxy(1,12);cout<<"                                                                                                                         ";
          gotoxy(1,13);cout<<"                                                                                                                         ";
          gotoxy(1,14);cout<<"                                                                                                                         ";
          gotoxy(1,15);cout<<"                                                                                                                         ";
          gotoxy(1,16);cout<<"                                                                                                                         ";
          gotoxy(1,17);cout<<"                                                                                                                         ";
          gotoxy(1,18);cout<<"                                                                                                                         ";
          gotoxy(1,19);cout<<"                                                                                                                         ";
          gotoxy(1,20);cout<<"                                                                                                                         ";
          gotoxy(1,21);cout<<"                                                                                                                         ";
          gotoxy(1,22);cout<<"                                                                                                                         ";
          gotoxy(1,23);cout<<"                                                                                                                         ";
          gotoxy(1,24);cout<<"                                                                                                                         ";
          gotoxy(1,25);cout<<"                                                                                                                         ";
          gotoxy(1,26);cout<<"                                                                                                                         ";
          gotoxy(1,27);cout<<"                                                                                                                         ";
          gotoxy(1,28);cout<<"                                                                                                                         ";
          gotoxy(1,29);cout<<"                                                                                                                         ";

}

void gym_mostrar(gym &v){
clrscr();
cout<<"\t"<<v.nom_gym<<endl;
cout<<"\nDireccion:\n"<<endl;
cout<<v.d.ciudad<<" - "<<v.d.sector<<endl;
cout<<v.d.calle1<<" y "<<v.d.calle2<<"No. "<<v.d.ncasa<<endl;
cout<<"\nContacto:\n"<<endl;
cout<<"Telefono: "<<v.convencional<<endl;
cout<<"Celular: "<<v.celular<<endl;
cout<<"Email: "<<v.correo<<endl;
}

void gym_salir(gym &v){
clrscr();
cout<<"\t"<<v.nom_gym<<endl;
cout<<"\nDireccion:\n"<<endl;
cout<<v.d.ciudad<<" - "<<v.d.sector<<endl;
cout<<v.d.calle1<<" y "<<v.d.calle2<<"No. "<<v.d.ncasa<<endl;
cout<<"\nContacto:\n"<<endl;
cout<<"Telefono: "<<v.convencional<<endl;
cout<<"Celular: "<<v.celular<<endl;
cout<<"Email: "<<v.correo<<endl;
cout<<"\n\nPulse una tecla para Salir...";
}

void main()
{ FILE *archivo;
  gym g;
  cliente c;
  empleado e;
  strcpy(g.nom_gym,"    TempleGYM") ;
  strcpy(g.convencional,"052563549" )    ;
  strcpy(g.celular,"0967004356")     ;
  strcpy(g.correo,"templegym@mail.com"   ) ;
  strcpy(g.d.ciudad,"Portoviejo");
  strcpy(g.d.sector,"Los Bosques" )  ;
  strcpy(g.d.calle1,"Av Manabi"  );
  strcpy(g.d.calle2,"Tennis Club ");


    system("cls");
  //MENU
char menu[5][15]={"Registrar","Mostrar","Buscar","Eliminar","Salir"};
  int tecla,col=2,i,indice=0;
  gym_mostrar(g);
  cout<<"\nPresione una Tecla para continuar...";
  getch();
  clrscr();
  for (i=0;i<5;i++){
   gotoxy(col,2);cprintf("%s",menu);
   col+=15;}
  col=2;i=1;
   do{
      do{_setcursortype(_NOCURSOR);
    textbackground(6);
    gotoxy(col,2);cprintf("%s",menu[indice]);
    tecla=getch();
      }while(tecla!=77 && tecla != 75 && tecla!=13);
      textbackground(0);
      gotoxy(col,2);cprintf("%s",menu[indice]);
      switch(tecla){
      case 77: if (indice==4){col=2;indice=0;}
          else {col+=15;indice++;}
          break;
      case 75: if (indice==0){col=62;indice=4;}
          else {col-=15;indice--;}
          break;
      case 13: _setcursortype(_NORMALCURSOR);
          if (indice==0){
          gotoxy(1,4);
          cout<<"Presione <E> si desea ingresar un empleado o <C> si desea ingresar un cliente"<<endl;
          tecla2=getch();
          switch(tecla2){
          case 67:{
          if(archivo){
          ingreso_per(c);
          archivo = fopen("Clientes.bin","w");
         fwrite(&c,sizeof(cliente),1,archivo);
         fclose(archivo);}
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 99:{if(archivo){
         ingreso_per(c);
         archivo = fopen("Clientes.bin","w");
         fwrite(&c,sizeof(cliente),1,archivo);
         fclose(archivo);}
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 69:{
         if(archivo){
         ingreso_per(e);
         archivo = fopen("Empleados.bin","w");
         fwrite(&e,sizeof(empleado),1,archivo);
         fclose(archivo);}
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         case 101:{if(archivo){
         ingreso_per(e);
         archivo = fopen("Empleados.bin","w");
         fwrite(&e,sizeof(empleado),1,archivo);
         fclose(archivo);}
         cout<<"\nPulse una tecla para continuar";getch();borrar_datos();};
         break;
         default:{cout<<"Opcion incorrecta.";getch(); gym_mostrar(g);getch();clrscr();}
         };}
          if (indice==1)
          {
          gotoxy(1,4);
          cout<<"Presione <E> si desea mostrar a los empleados o <C> si desea mostrar a los clientes"<<endl;
          tecla3=getch();
          switch(tecla3){
          case 67:
          {
          archivo = fopen("Clientes.bin","r");
          fread(&c,sizeof(cliente),1,archivo);
          mostrar_cli(c);
          getch();
          fclose(archivo);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
          };
         break;
         case 99:
         {
         archivo = fopen("Clientes.bin","r");
          fread(&c,sizeof(cliente),1,archivo);
          mostrar_cli(c);
          getch();
          fclose(archivo);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         };
         break;
         case 69:
         {
         archivo = fopen("Empleados.bin","r");
          fread(&e,sizeof(empleado),1,archivo);
          mostrar_emp(e);
          getch();
          fclose(archivo);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         };
         break;
         case 101:
         {   
         archivo = fopen("Empleados.bin","r");
         fread(&e,sizeof(empleado),1,archivo);
          mostrar_emp(e);
          getch();
          fclose(archivo);cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
         }   
         };   
         }
          if (indice==2)
          {
          gotoxy(1,4);
          cout<<"En Construccion";cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
           }
          if (indice==3)
          {
          gotoxy(1,4);
          cout<<"En Construccion";cout<<"\nPulse una tecla para continuar";getch();borrar_datos();
          }
          if (indice==4){gym_salir(g); getch();i=0;
          }
      }
   }while(i);
}