Esto es una agenda en C que hice con un amigo que estudia ing. informatica, asi que creo que debe estar bien se puede guardar el rut de la persona, la edad y el telefono para verlas en otra ocacion, guarda la info en un archivo .dat, es bien basico pero util. nota: hay que compilarlo, o si quieres lo editas. Código: #include <stdio.h> #include <conio.h> typedef struct person { int rut; int edad; int telefono; } persona; void llenar_datos(persona individuo){ FILE*archivo; archivo=fopen("agenda.dat","a+b"); printf("ingrese el rut de la persona\n"); scanf("%d",&individuo.rut); printf("ingrese la edad de la persona\n"); scanf("%d",&individuo.edad); printf("ingrese el numero de telefono de la persona\n"); scanf("%d",&individuo.telefono); fwrite(&individuo,sizeof(persona),1,archivo); fclose(archivo); } void mostrar_datos(persona individuo){ FILE *archivo; archivo=fopen("agenda.dat","r"); do{ fread(&individuo,sizeof(persona),1,archivo); printf("el rut de la persona es:%d\n\n",individuo.rut); printf("la edad de la persona es:%d\n\n",individuo.edad); printf("el telefono de la persona es:%d\n\n\n",individuo.telefono); }while(!feof(archivo)==0); fclose(archivo); } int main(){ int x; persona individuo; do{ printf("Agenda\n\n"); printf("=============================\n"); printf("1.llenar agenda:\n\n"); printf("2.mostrar listado de las personas ingresadas:\n\n"); printf("3.salir:\n\n"); printf("Ingresa la opcion que deseas:\n\n"); scanf("%d",&x); switch(x){ case 1: llenar_datos(individuo); break; case 2: mostrar_datos(individuo); break; case 3: return 0; break; } }while(x<=3); getch(); return 0; }