Escribir un nombre concreto en un directorio informático
Ya tengo casi el proyecto(directorio), lo que me hace falta es pedir el nombre de una persona especifica, me podrías decir por favor que sentencia y donde va dentro del programa
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct informacion
{
char nombre[64];
char direccion[256];
char telefono[10];
};
void pedir_informacion(struct informacion*);
void ver_informacion(struct informacion*);
main()
{
char nombre[64];
char op;
FILE*fichero;
fichero=fopen("informacion.dat","ab");
if(fichero==NULL)
{
printf("\nError al intentar abrir el fichero informacion.dat");
exit(0);
}
struct informacion persona;
printf("\n¿Desea introducir registros al directorio(S/N):");
op=(char)getch();
while(op!='n'&&op!='N')
{
pedir_informacion(&persona);
fwrite(&persona,sizeof(persona),1,fichero);
printf("\Desea introducir otro registro(S/N):");
op=(char)getch();
}
printf("\nDesea leer los registros del directorio(S/N):");
op=(char)getch();
fclose(fichero);
printf("\nIngrese el nombre a buscar:\n");
scanf("%d",&nombre);
fichero=fopen("informacion.dat","rb");
while(!feof(fichero))
{
fread(&persona,sizeof(struct informacion),1,fichero);
break;
}
while(op!='n'&&op!='N')
{
if(fread(&persona,sizeof(persona),1,fichero)==0)
break;
ver_informacion(&persona);
printf("\nDesea consultar otro registro(S/N):");
op=(char)getch();
printf("\nIngrese el nombre a buscar:\n");
scanf("%s",&nombre);
}
printf("\nPresione una tecla para finalizar:");
fclose(fichero);
getch();
return 0;
}
void pedir_informacion(struct informacion*persona)
{
printf("\nNombre:");
scanf("%s",persona->nombre);
printf("\nDireccion:");
scanf("%s",persona->direccion);
printf("\nTelefono:");
scanf("%s",persona->telefono);
}
void ver_informacion(struct informacion*persona)
{
printf("\nNombre:%s",persona->nombre);
printf("\nDireccion:%s",persona->direccion);
printf("\nTelefono:%s",persona->telefono);
}
Gracias
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct informacion
{
char nombre[64];
char direccion[256];
char telefono[10];
};
void pedir_informacion(struct informacion*);
void ver_informacion(struct informacion*);
main()
{
char nombre[64];
char op;
FILE*fichero;
fichero=fopen("informacion.dat","ab");
if(fichero==NULL)
{
printf("\nError al intentar abrir el fichero informacion.dat");
exit(0);
}
struct informacion persona;
printf("\n¿Desea introducir registros al directorio(S/N):");
op=(char)getch();
while(op!='n'&&op!='N')
{
pedir_informacion(&persona);
fwrite(&persona,sizeof(persona),1,fichero);
printf("\Desea introducir otro registro(S/N):");
op=(char)getch();
}
printf("\nDesea leer los registros del directorio(S/N):");
op=(char)getch();
fclose(fichero);
printf("\nIngrese el nombre a buscar:\n");
scanf("%d",&nombre);
fichero=fopen("informacion.dat","rb");
while(!feof(fichero))
{
fread(&persona,sizeof(struct informacion),1,fichero);
break;
}
while(op!='n'&&op!='N')
{
if(fread(&persona,sizeof(persona),1,fichero)==0)
break;
ver_informacion(&persona);
printf("\nDesea consultar otro registro(S/N):");
op=(char)getch();
printf("\nIngrese el nombre a buscar:\n");
scanf("%s",&nombre);
}
printf("\nPresione una tecla para finalizar:");
fclose(fichero);
getch();
return 0;
}
void pedir_informacion(struct informacion*persona)
{
printf("\nNombre:");
scanf("%s",persona->nombre);
printf("\nDireccion:");
scanf("%s",persona->direccion);
printf("\nTelefono:");
scanf("%s",persona->telefono);
}
void ver_informacion(struct informacion*persona)
{
printf("\nNombre:%s",persona->nombre);
printf("\nDireccion:%s",persona->direccion);
printf("\nTelefono:%s",persona->telefono);
}
Gracias
1 Respuesta
Respuesta
1