Red de conocimientos sobre prescripción popular - Remedios caseros - Programación en lenguaje C: programación de libreta de direcciones

Programación en lenguaje C: programación de libreta de direcciones

#Incluir "stdlib.h"

#Incluir "string.h"

#Incluir "conio.h"

#Incluir "stdio.h"

#Contiene "dos.h"

FILE * fp

int I; //i es una variable global en lugar de la longitud.

Dirección de la estructura

{ char postnum[10];

char a[40]; //Dirección particular

};

Cumpleaños de la estructura

{ int año;

int mes;

int día

};

int p>

Amigo de estructura

{ int num//número de serie

nombre de char[20];

Sexo encantador;

Teléfono público[13];

Estructura cumpleaños cumpleaños;

Estructura dirección dirección;

}

Amigos [50];

Carga no válida()

{

int j

Long k; fp=fopen( "friend.txt", "a+"); //Abre el archivo friend.txt

if(fp!=empty)

{

for(I = 1;i<50;i++)

{

j = fgetc(FP);

If(j==EOF) // Determinar si ha llegado Fin de archivo.

Retorno;

k = I-1;

fseek(fp, k*sizeof(struct ffriend), SEEK _ SET

fred(& ampfriends[i], sizeof(struct ffriend), 1, FP //Leer registros del archivo

}

}<); p>Otro

{

fp=fopen("friend.txt","w");

I = 1;

}

}

Pantalla vacía (int j)

{

//Amigos[j]. num = I;

printf("\n\n\tNo.-nnumber:%3d", amigo[j].num);

Printf ("\n \ tname -Nombre:%-20s ", amigos[j]. Nombre);

Printf ("\ n \ tGénero -Sexo:%c ", amigos[j]. Sexo);

printf("\n\tTel-Tel-Teléfono:%-13s", amigo[j].Teléfono);

printf("\n\tFecha de nacimiento-Cumpleaños:% 4d-% 2d-%3d ", amigos [j]. Cumpleaños. Año, amigos [j]. Cumpleaños, mes, amigos. Cumpleaños);

printf(" \ n \ tZip code-postnum:%-10s ", amigos[j].dirección.postnum);

printf("\n\dirección-dirección de correo electrónico:%-40s", amigos[j].dirección.a);

}

void append(int j)

{

fflush(stdin); // Borra el búfer del archivo en esta área Cuando el archivo Cuando. abierto en modo de escritura, escribe el búfer en el archivo.

//stdin es un archivo estándar* (puntero de archivo), generalmente apunta al flujo de entrada usando el teclado.

Amigos[j].

num = j;

printf("\n\t\t\tNúmero de serie-número:%d",j);

printf("\n\t\t \ tname-Name: ");

scanf("%s ", amigo[j].Name);

fflush(stdin); //Por qué no existe fflush(stdin ) ;¿El efecto se omitirá automáticamente?

printf(" \ t \ t \ t Gender-Sex(m/w):"); // ¿Por qué los hombres y mujeres que ingresan caracteres chinos omiten automáticamente el número de contacto?

scanf("%c", & amigos[j].sex);

printf("\t\t\ttel-Phone:");

scanf("%s ", amigo[j].teléfono);

Printf("\tFecha-cumpleaños");

printf(" \ n \ t \ t \ tAño: ");

scanf("%d ", & amigos[j].Cumpleaños.Año);

printf(" \t\t\t mes-mes : ");

scanf("%d ", & amigos[j].cumpleaños.mes);

printf(" \ t \ t \-día: ");

scanf("%d ", & ampFriends[j].Cumpleaños.Día);

Printf ("\ t \ tPostcode- Código postal: ");

scanf("%s", amigos[j].address.postnum);

printf("\t\t\tdirección de correo-dirección :");

scanf("%s ", amigos[j]. dirección. a);

getchar();

}

void delete()

{

int k;

printf("\n\tEliminar número de serie-número:");

scanf("%d " , & ampk);

if(k & lt;=i)

{

for( int j = k; j & ltI+1; J++ ) /*El orden de los elementos movidos posteriormente en la posición de inserción*/

{

strcpy(friend[j].Name, friend[ j+1]. Name);/ *Contenido del elemento de intercambio*/

Amigos[j]. Sexo = amigo[j+1]. Sexo;

strcpy(amigo[j].Teléfono, amigo[j+1].

Teléfono);

Amigo[j].Cumpleaños.Año=Amigo[j+1].Cumpleaños.Año;

Amigo[j].Cumpleaños.Mes=Amigo[j+ 1 ].Cumpleaños.Mes;

Amigos[j].Cumpleaños.Día=Amigos[j+1].Cumpleaños.Día;

strcpy(amigos[j].dirección. postnum , amigos[j+1]. dirección. postnum);

strcpy(amigos[j].dirección.a, amigos[j+1]. dirección. a);

}

I-;

}

Otros

{

Printf("Ingrese el número de serie demasiado grande ! ");

}

}

void Modificar(int j)

{

Agregar( j);

}

Guardar no válido()

{

int j;

fp =fopen ("amigo.txt", "w");

for(j = 1; j & lt= I; j++)

{

fwrite( & amigos[j], tamaño de(struct ffriend), 1, FP

}

fclose(FP); p>void main()

{

int j;

Nivel de carbonización;

nombre de búsqueda de caracteres[10 ];

cargar();

Yo-;

Hacer

{

printf(" \ t\t\ t\t\tLibreta de direcciones simple\n\n");

Printf("Selección de función\n");

Printf("1A. Lectura\ n ");

Printf("\2B.append \ n ");

Printf("\6C.insert \ n ");

Printf ("\5D. Eliminar\n");

Printf("\5E.Search\n");

Printf(".Modify\n");

Printf ("\2G.Save\n");

Printf("1h.Exit\n");

Printf ("Por favor elija)\nNota: Ingrese las letras mayúsculas de A~H\ n ");

scanf("%c ", & grade);

Cambiar (nivel)

//Puedes agregar mayúsculas y letras minúsculas.

{

Caso 'A':j = 1; //Mostrar función

while(getchar()!= 0x 1b &&j& lt=i ) //Agregar y presionar Esc para salir.

{

show(j++);

printf("\n¡Presione Enter para continuar!");

}< / p>

If (j-1<1)

{

Printf ("\n\tEmptyNo hay documento documentado - comentario vacío\n"); p>printf("\n¡Presione Enter para continuar!");

getchar();

}

Printf(" \n\t\t \t\t\t\tLa operación ha finalizado");

printf(" \ n \t-\ t \ t \ n ");

Break;

Caso "B"://Agregar función

while(i<=50) //Agregar la función de presionar ESC para salir.

{

i++;

Append (1);

printf("\t¿Continuar aumentando? y/n" );

//Si modifica y agrega más, aparecerá un error o se verá obligado a imprimir.

char a = getchar();

if(a=='n'||a=='N ')

Romper;

}

if(i==51)

printf("\n\tEl documento está lleno, por lo que no se puede agregar el registro; tenga en cuenta que está lleno" );

Printf("\n\t\t\t\t\t\tLa operación ha finalizado");

printf(" \ n \ t-\ t \ t \ n ");

getchar();

Romper;

Caso "C":

int k;

printf(" \ n \ tIngrese la posición a insertar: ");

scanf("%d ", & ampk); ;

Amigos[j]. num = j;

for(j;j & gtk;j-)//Insertar función

{

strcpy(Amigo[j].Nombre, Friends[j-1].Name); //Mover datos hacia atrás

Friends[j]. Sexo = amigo[j-1]. Sexo;

strcpy(Amigo[j].Teléfono, Amigo[j-1].Teléfono);

Amigo[j].Cumpleaños.Año=Amigo[j-1] .Cumpleaños.Año;

Amigo[j].Cumpleaños.Mes=Amigo[j-1].Cumpleaños.Mes;

Amigo[j].Cumpleaños.Día=Amigo[ j-1].Cumpleaños.Día;

strcpy(amigos[j]. dirección. postnum, amigos[j-1]. dirección. postnum);

strcpy(amigos[ j].address.a, amigo [j-1]. dirección a);

}

Anexar (k); p>

p>

Printf("\n\t\t\t\t\t\tLa operación ha finalizado");

printf(" \ n \ t-\ t \ t \ n ");

Romper;

Caso 'D'://función de eliminación//Agrega la función de eliminar múltiples registros a voluntad.

delete();

if(i<1)

printf("\nsin registro - sin registro\n");

printf("\n¡Por favor presione Enter para continuar!");

getchar();

getchar();

Printf("\ n\t\ t\t\t\t\tLa operación ha finalizado");

printf(" \ n \t-\ t \t \ n ");

Break;

Caso "E"://función de consulta

printf("\n\tIngrese el nombre relevante del registro a consultar:"); //Por columna Agregar consulta

scanf("%s ", nombre de búsqueda);

for(j = 1; j & lt= I; j++)

{

If (strcmp (nombre de búsqueda, amigos [j]. nombre) == 0) // Comparar cadenas.

{

Pantalla (j);

Interrupción

}

}

if(i<1)

{

printf("\nNo hay ningún registro que esté buscando - no hay registro");

printf(" \nPor favor presione Ingrese para continuar ");

getchar();

}

Printf("\n\t\t\t\t \t\tThe la operación ha finalizado");

printf(" \ n \ t-\ t \ t \ n ");

getchar();

Break;

Caso "F"://modificar función //Agregar consulta por número de serie.

printf(" \ n \ tIngrese el nombre relevante del registro que desea modificar: "

Obtener (nombre de búsqueda

scanf(); " %s ", nombre de búsqueda);

for(j = 1; j & lt= I; j++)

{

If (strcmp (nombre de búsqueda , amigos [j].name)= = 0)//Comparar cadenas.

{

Modify(j);

//getchar();//¿Agregar salida para confirmar la modificación?

}

}

If (i & lt1) //Modificar función

{ printf("\nNada que modificar Registro - Sin registro");

printf(" \n¡Presione Enter para continuar!");

getchar();

getchar();

}

Printf("\n\t\t\t\t\t\tLa operación ha finalizado");

printf(" \ n\t- \t\t\n");

Pausa;

Caso "G":

save(); //Función de guardado

getchar();

Printf("\n\t\t\t\t\t\tLa operación ha finalizado");

printf( "\n\t -\t\t\n");

Romper;

Caso "H"://función de salida

carácter x;

Printf("¿Quieres guardar? Sí/No\ n ");

scanf("%s ", & ampx

//getchar ();

//getchar();

if(x=='y ')

{

guardar() ;

Salir(0);

}

Otro

Salir(0);

Valor predeterminado:

printf("\n\tError de entrada, ¡ingrese el número de serie correcto!");

printf("\n¡Presione Enter para continuar!");

getchar();

Printf("\n\t\t\t\t\t\tLa operación ha finalizado");

printf( " \ n \ t- \t\t\n ");

}

} mientras(1);

}