#include "stdio.h" #include "string.h" #include "conio.h" #include "stdlib.h"
typedef struct fecha { int dia, mes, anio; }t_fecha;
typedef struct { char nombre[20]; char apellido[20]; long dni; char telefono[16]; t_fecha f_nac; }t_amigos;
int guardar_datos(const t_amigos *amigos); int cargar_datos(t_amigos *amigos);
int main(void) {
t_amigos am2[2]; int i;
cargar_datos(am2);
for(i = 0; i < 2;i++) { printf("Nombre : %s \nApellido : %s \nDni : %ld \ntelefono : %s \nFecha de nacimiento : %d/%d/%d \n\n\n", am2[i].nombre, am2[i].apellido, am2[i].dni, am2[i].telefono,am2[i].f_nac.dia,am2[i].f_nac.mes,am2[i].f_nac.anio); }
}
int guardar_datos(const t_amigos *amigos) { FILE *arch; int cant_datos = 0; char nombre[12];
printf("Ingrese nombre de archivo(hasta 8 caracteres mas 3 de extension) : "); gets(nombre);
strcat(nombre,".txt"); if((arch = fopen(nombre,"r")) == NULL) { if((arch = fopen(nombre,"w")) == NULL) { printf("No se puede guardar datos"); getch(); exit(1); } } else { printf("Archivo ya existe."); fclose(arch); }
while(cant_datos < 2) { fprintf(arch,"%-20s%-20s%-19ld%-15s%-2d%-2d%-4d\n", (amigos + cant_datos)->nombre, (amigos + cant_datos)->apellido, (amigos + cant_datos)->dni, (amigos + cant_datos)->telefono,(amigos + cant_datos)->f_nac.dia, (amigos + cant_datos)->f_nac.mes, (amigos + cant_datos)->f_nac.anio); cant_datos++; }
fclose(arch);
return cant_datos + 1; }
int cargar_datos(t_amigos *amigos) { FILE *arch; int cant_datos = 0;
if((arch = fopen("agenda.txt","r")) == NULL) { printf("No se puede guardar datos"); getch(); exit(1); }
while(!feof(arch)) { fscanf(arch,"%-20s%-20s%-19ld%-15s%-2d%-2d%-4d\n", &(amigos + cant_datos)->nombre, &(amigos + cant_datos)->apellido,&(amigos + cant_datos)->dni, &(amigos + cant_datos)->telefono,&(amigos + cant_datos)->f_nac.dia, &(amigos + cant_datos)->f_nac.mes,&(amigos + cant_datos)->f_nac.anio); cant_datos++; }
fclose(arch); return cant_datos; }
|