Red de conocimiento informático - Aprendizaje de código fuente - Rescatar una escena es como apagar un incendio. Si puedes programar en lenguaje C, ¡entra! !

Rescatar una escena es como apagar un incendio. Si puedes programar en lenguaje C, ¡entra! !

/*Cree una libreta de direcciones mediante programación, almacene categorías, nombres, números de teléfono y direcciones de correo electrónico, y luego busque, agregue, modifique y elimine la libreta de direcciones.

*/

#includelt; stdio.hgt;

#include lt; string.hgt

estructura persona

{

p>

p>

char nombre[8];

char tel[15];

char correo electrónico[50] /*Agregar correo electrónico*/

char correo electrónico[50]; p>

char addr[50];

char clases[20]; /*amigos, familiares, colegas*/

}; nombre de archivo[ 20];

ARCHIVO *fp;

void creat();

salida nula();

void append();

void modificar();

void eliminar1()

int main(); /p >

{

int m;

creat();

mientras(1)

{

printf("\n\nPara agregar, presione 1");

printf("\nPara buscar, presione 2"); nModificar, presione 3");

printf("\nPara eliminar, presione 4");

printf("\nPara generar, presione 5");

printf("\nPara salir, presione 0\n");

scanf("d",amp;m

if(mgt;= 0amp ;amp;mlt;=5)

{

interruptor(m)

{

caso 1: append();

romper;

caso 2: buscar();

romper

caso 3: modificar();

romper;

caso 4: eliminar1();

romper

caso 5: salida(); ;

caso 0: retorno 1;

}

printf("\n\nLa operación se completó, ¡seleccione nuevamente! ");

}

else

printf("\n\nSelección incorrecta, ¡seleccione nuevamente!");

}

}

void creat()

{

estructura persona uno

long s1

p>

printf("\nIngrese el nombre de la libreta de direcciones; de lo contrario, se creará una nueva: "); p >if((fp=fopen(filename, "a "))==NULL)

{

printf("\n¡No se puede crear la libreta de direcciones!"); >

return;

}

/*Volver al principio del archivo para determinar si es un archivo vacío*/

rewind( fp);

p>

fscanf(fp,"s",one.name);

if(strcmp(one.name,"name")==0)

{

fclose(fp);

salida();

retorno

}

/* está vacío; archivo, ahora agregue datos */

fprintf(fp, "-10s-10s-20s-20s-50s\n", "Nombre", "Categoría", "Número de teléfono", "Correo electrónico", "Dirección");

printf("\nIngrese su nombre, categoría, número de teléfono, correo electrónico y dirección (que termina en 0)\n"); ", one.name);

while(strcmp(one.name, "0"))

{

scanf("ssss", one. clases, one.tel, one.email, one.addr);

fprintf(fp, "-10s-10s-20s-20s-50s\n", one.name, one.classes, one .tel, un.correo electrónico, una.dirección);

scanf("s", un.nombre

}

fclose(fp);

}

salida nula()

{

estructura persona uno

if((fp= fopen(nombre de archivo, "r"))==NULL)

{

printf("\n¡No se puede abrir la libreta de direcciones!");

}

printf("\n\n20s\n","Libreta de direcciones");

while(!feof(fp))

{

fscanf(fp, "sssss\n", one.name, one.classes, one.tel, one.email, one.addr

); printf("\ns10s10s10s20s", uno.nombre, una.clases, un.tel, un.correo electrónico, una.dirección

}

fclose(fp); p> p>

}

void append()

{

estructura persona uno

if((fp= fopen( filename, "a"))==NULL)

{

printf("\n¡No se puede abrir la libreta de direcciones! ");

return;

}

printf("\nIngrese el nombre agregado, la categoría, el número de teléfono, el correo electrónico y la dirección\n") ;

scanf("sssss", one.name, one.classes, one.tel, one.email, one.addr

fprintf(fp, "-10s- 10s); -20s-20s-50s\n", un.nombre, una.clases, un.tel, un.correo electrónico, una.dirección);

fclose(fp);

}

>

búsqueda vacía()

{

int k=0

char nombreclave[8]

estructura persona; one;

printf("\nIngrese su nombre: ");

scanf("s",namekey

if((fp=fopen); (nombre de archivo, "rb"))==NULL)

{

printf("\n¡No se puede abrir la libreta de direcciones!"); /p>

}

while(!feof(fp))

{

fscanf(fp, "sssss\n", one.name , one.classes, one.tel, one.email, one.addr);

if(!strcmp(namekey, one.name))

{

printf("\n\n Encontrado, registrado como: ");

printf("\n-10s-10s-18s-18s-50s", one.name, one.classes, one. .tel, un.correo electrónico, una.dirección);

k=1

}

}

if( !k )

printf("\n\nLo sentimos, no hay ningún registro para esta persona en la libreta de direcciones.

");

fclose(fp);

}

void modificar()

{

int m, k=0;

desplazamiento largo;

char nombreclave[8];

estructura persona uno

printf(" \nPor favor ingrese su nombre: ");

scanf("s", namekey);

if((fp=fopen(filename, "r "))==NULL)

{

printf("\n¡No se puede abrir la libreta de direcciones!");

return

}

< p); > while(!feof(fp))

{

offset=ftell(fp);

fscanf(fp, "sssss\n", uno . nombre, one.classes, one.tel, one.email, one.addr

if(!strcmp(namekey, one.name))

{

k=1;

romper

}

}

si(k)

{

printf("\n Encontrado, registrado como: ");

printf("\n-10s-10s-18s-18s-50s", uno. nombre, uno .classes, one.tel, one.email, one.addr);

printf("\nIngrese un nuevo nombre, categoría, número de teléfono, correo electrónico y dirección:

p); >

scanf("sssss", one.name, one.classes, one.tel, one.email, one.addr

fseek(fp, offset, SEEK_SET p>

/*printf("ld", ftell(fp)); */

fprintf(fp, "-10s-10s-20s-20s-50s\n", uno. nombre, one.classes, one.tel, one.email, one.addr;

}

else

printf("\nLo siento, libreta de direcciones). No hay ningún registro de esta persona en .

");

fclose(fp);

}

void eliminar1()

{

int m, k=0, bandera;

long offset1, offset2;

char namekey[8], valid[4]; /p>

printf("\nPor favor ingrese su nombre: ");

scanf("s",namekey

if((fp=fopen(filename, "r "))==NULL)

{

printf("\n¡No se puede abrir la libreta de direcciones!");

}

mientras(!feof(fp))

{

offset1=ftell(fp); fp, "sssss\n", one.name, one.classes, one.tel, one.email, one.addr

if(!strcmp(namekey, one.name))

p>

{

k=1

romper

}

}

if (k)

{

printf("\n Encontrado, registrado como "); 10s-18s -18s-50s", one.classes, one.name, one.tel, one.email, one.addr);

printf("\nSi realmente desea eliminar, presione 1 ; si no desea eliminar, presione 0: ");

scanf("d",amp; m);

if(m)

{

fseek (fp, offset1, SEEK_SET);

fprintf(fp, "-10s-10s-20s-20s-50s\n", "", "" , "", "", "");

}

}

else

printf("\nLo sentimos, hay no hay ningún registro para esta persona en la libreta de direcciones.");

fclose(fp);

}