Como guardo esta estructura en un archivo

genio_blue
07 de Julio del 2006
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>

struct datos{
int id;
char nombre[15];
char ap1[15];
char ap2[15];
char rfc[10];
int edad;

}plantilla[100];



int i=0,opc,lg,op,nip;
int dd,mm,aa;
int rdd,rmm,raa;
int redad=0;
int entrada=0;
char prfc[10];
void menu();
void consulta();
void alta();
void edad();
void fecha();
void RFC();



void main ()
{
clrscr();
fecha();
clrscr();
menu();
}

void fecha()
{
printf("Favor de escribir la fecha actual (?/?/????) n");
printf("Dia: ");scanf("%d",&rdd);
printf("Mes: ");scanf("%d",&rmm);
printf("Ano: ");scanf("%d",&raa);
}








void menu()
{

clrscr();
do{
printf("n*************************n");
printf(" (1) Altan");
printf(" (2) Consultan");
printf(" (3) Salirn");
printf(" Opcion?n ");
printf("*************************n");
gotoxy(10,6);scanf("%d",&op);
if(op==1)
alta();
if(op==2)
consulta();
}while(op!=3);

}














void alta()
{
do{

clrscr();
plantilla[i].id=i;
printf("nDatos del trabajadorn");
printf("Nombre: ");
scanf("%s",&plantilla[i].nombre);
printf("Apellido Paterno: ");
scanf("%s",&plantilla[i].ap1);
printf("Apellido Mayerno: ");
scanf("%s",&plantilla[i].ap2);
printf("Fecha de Nacimiento (?/??/????)n");
printf("Dia: ");
scanf("%d",dd);
printf("Mes: ");
scanf("%d",&mm);
printf("Ano: ");
scanf("%d",&aa);
edad();
RFC();
entrada++;
clrscr();
printf("nDeseas capturar otro?");
printf("n(1) Si");
printf("n(2) Non");
scanf("%d",&opc);
clrscr();
if(opc==1)
i++;

}while(opc!=2);

}

void consulta()
{
clrscr();
if(entrada!=0)
{
clrscr();

for(opc=0;opc<=i;opc++)
{
printf("ID: %d n",plantilla[opc].id);
printf("Nombre: %s %s %sn",plantilla[opc].nombre,plantilla[opc].ap1,plantilla[opc].ap2);
printf("Edad: %d",plantilla[opc].edad);
printf("RFC: %s %s %s %s n",plantilla[opc].rfc[0],plantilla[opc].rfc[1],plantilla[opc].rfc[2],plantilla[opc].rfc[3]);

}

}
else
{
clrscr();
printf("No existen registros para mostrar");
getch();

menu();
}
getch();
clrscr();

}

void edad()
{
clrscr();
redad=raa-aa;
if(mm<rmm)
plantilla[i].edad=redad;
else
plantilla[i].edad=redad-1;
}

void RFC()
{
char vocales[5]={'a','e','i','o','u'};
int x=0,a=1,b=1;

plantilla[i].rfc[0]=plantilla[i].ap1[0];
plantilla[i].rfc[3]=plantilla[i].ap2[0];
plantilla[i].rfc[4]=plantilla[i].nombre[0];

while(b!=2)
{
for(x=0;x<strlen(plantilla[i].ap1);x++)
{
if(b!=2)
if(plantilla[i].ap1[a]==vocales[x])
{
plantilla[i].rfc[1]=vocales[a];
b++;
}
}
a++;
}



}