Red de conocimiento de abogados - Derecho de sociedades - Escribir un sistema de gestión de libreta de direcciones de estudiantes en C

Escribir un sistema de gestión de libreta de direcciones de estudiantes en C

#includelt;stdio.hgt;

#includelt;stdlib.hgt;

#includelt;string.hgt;

# define FORMATO "s\t\ts\t\ts\td\ts\n"

int count=0;

struct Dirección

{

char Nombre[21];

int Edad;

char Sexo[6];

char ClassNum[11]; >

char PhonNum[12];

};

int Enterface();

int Add(Libreta de direcciones[]); >

int Modify(Libreta de direcciones[]);

int Delent(Libreta de direcciones[]);

int Insert(Libreta de direcciones[]);

int Buscar(Libreta de direcciones[]);

int Show(Libreta de direcciones[]);

int FindName(Libreta de direcciones[]);

int FindClassNum(Libreta de direcciones[]);

int DelName(Libreta de direcciones[]);

int DelClassNum(Libreta de direcciones[]);

int FindPhonNum (Libreta de direcciones[]);

int Readtxt(Libreta de direcciones[]);

int Writetxt(Libreta de direcciones[]);

int Search(Dirección book[], char str1[], int n);

int FSearch(Libreta de direcciones[], char str2[], int n);

int Taxis(Libreta de direcciones[ ]);

int Salir();

///////////////////////////// / //////////////////////////////////////////

void main()

{

Libreta de direcciones[100];

int elección

char or='m'; /p>

printf("\n");

printf("\n");

printf("\n"); > printf( "\n");

printf("\n");

printf("\n"); n") ;

printf("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\n");

p>

printf("\n");

printf(" !!! ¡¡¡Bienvenido al sistema de libreta de direcciones de la clase!!!\n");

printf( " \n");

printf(" ¡¡¡Presione cualquier tecla para ingresar al sistema!!!\n");

printf("\n"); /p>

printf(" !!!Administrador: ******!!!\n");

printf("\n"); printf( "///////////////////////////////////////////////// ///// //////\n");

sistema("pausa");

sistema("cls");

Readtxt(libro) ;

while(o=='m')

{

elección=Enterface();

cambiar(elección)

{

caso 1: Agregar(libro);

romper

caso 2: Modificar(libro) ;

descanso;

caso 3: Delent(libro);

descanso

caso 4: Insertar(libro); /p>

descanso;

caso 5: Buscar(libro);

descanso

caso 6: Mostrar(libro); >

break ;

caso 7: Salir();

break;

valor predeterminado: printf("!!! ¡¡¡Error de entrada!!!\ n");

Salir();

romper;

}

}

}

int Enterface()

{

int elección=0;

printf("*********** ******* ***\n");

printf(" 1. Agregar\n");

printf(" 2. Modificar\n") ;

printf("3.Delete\n");

printf("4.Insert\n");

printf("5.Buscar \n");

p>

printf(" 6. Mostrar\n");

printf(" 7. Salir\n");

printf("****** *************\n");

printf("Ingrese su elección:");

scanf("d", amp; elección);

return elección;

}

int Add(Libreta de direcciones[])

{

char o='Y';

while('Y'==o)

{

printf("Ingrese su nombre: ");

scanf("s", & libro[recuento].Nombre

p>

flag1:

printf("Ingrese el número de teléfono:");

scanf("s",amp;book[count] .PhonNum);

p>

for(int i=0;ilt;count;i)

{

if(strcmp(libro[ count].PhonNum, book[i].PhonNum )==0)

{

printf("!!!¡¡¡El número ya existe!!!\n");

goto flag1;

}

}

flag2:

printf("Ingrese el número de estudiante: "

scanf(" s", & libro[count].ClassNum);

for(i=0; ilt; count; i)

{

if(strcmp (libro[recuento].ClassNum, libro[i].ClassNum)==0)

{

printf("!! !¡¡¡El número de estudiante ya existe!!!\n" );

goto flag2;

}

}

printf("Por favor ingresa tu edad: ");

scanf("d",amp;book[count].Age);

printf("Por favor ingresa el género:");

scanf("s",amp; libro[recuento].Sexo);

getchar();

recuento;

printf(" Si se debe continuar agregando (se agregó 'Y', se devolvieron otras claves Interfaz principal): ");

scanf("c", amp; or);

if('Y' !=o)

{

system("cls");

descanso

}

}

Taxis(libro);

Writetxt(libro);

// printf("sdfsdfsdf\n"); return 0;

}

int Modificar(Libreta de direcciones[])

{

char str[11];

int flag=0;

int ksd=0;

printf("Ingrese el número de estudiante del año pasado: "); s", amp; str);

for(int i=0; ilt; count; i )

{

if(strcmp(str, book [i].ClassNum)==0)

{

if(ksd==0)

{

printf(" Nombre\t Teléfono\t\tID del estudiante\tSexo \tEdad\n");

ksd=1;

}

printf("8s\t8s\ts\ts\td\n", libro[i].Nombre, libro[i].NumPhon,

libro[i].NumClase, libro[i].Sexo, libro[i].Edad);

// str[flag_num]=i;

bandera=1;

// i--;

romper

}

}

if(flag==0)

{

printf("!!!¡¡¡No existe tal registro!!!\n");

return 0;

}

printf("Ingrese su nombre: ");

scanf("s", amp; libro[i].Nombre

flag0:

printf("Ingrese su número de teléfono:");

scanf("s",amp;book[i].PhonNum);

for(int j=0;jlt;count;j)

{

if(j==i)

continuar;

p>

if(strcmp(libro[i].PhonNum, libro[j].PhonNum)==0)

{

printf("! !!El número ya existe!!!\n");

goto flag0;

}

}

flag3:

printf("Ingrese el número de estudiante: ");

scanf("s", amp; book[i].ClassNum); j=0; jlt; contar; j )

{

si(j==i)

continuar;

si( strcmp(libro[i] .ClassNum, libro[j].ClassNum)==0)

{

printf("!!!¡¡¡El número de estudiante ya existe!!!\n ");

goto flag3;

}

}

printf("Ingrese su edad: ");

scanf(" d", amp; libro[i].Edad);

printf ("Ingrese el género:

scanf ("s", amp; libro[i]. Sexo);

getchar();

printf("¡Modificación completada!\n"); ;

system("pausa");

// printf("modificar\n"); }

int Delent(Libreta de direcciones[])

{

// printf("delent\n");

int elección=0;

printf("================\n

");

printf(" 1. Eliminar por nombre\n");

printf(" 2. Eliminar por número de estudiante\n");

printf("=================\n");

scanf("d",amp;choice);

switch(elección)

{

caso 1: DelName(libro);

descanso

caso 2: DelClassNum(libro) ;

romper;

predeterminado:

romper;

}

devolver 0;

}

int Insertar(Libreta de direcciones[])

{

Agregar(libro);

// printf( "insert\n");

return 0;

}

int Buscar(Libreta de direcciones[])

{

int elección=0;

printf("================\n"); " 1. Buscar por nombre\n");

printf(" 2. Buscar por número de estudiante\n");

printf(" 3. Buscar por número de teléfono\n " );

printf("================\n");

scanf("d",amp;elección ) ;

cambiar(elección)

{

caso 1: BuscarNombre(libro);

romper;

caso 2: FindClassNum(libro);

descanso

caso 3: FindPhonNum(libro);

descanso

predeterminado:

descanso

}

// printf("buscar\n");

devolver

}

int FindName(Libreta de direcciones[])

{

char aname[30];

printf( " Introduzca el nombre que desea buscar: ");

scanf("s", aname

FSearch(book, aname, 3); p > return 0;

}

int FindClassNum(Libreta de direcciones[])

{

char anum[20];

p>

printf("Ingrese el número de estudiante que está buscando: ");

scanf("s", amp; anum

FSearch); (libro, anum, 2);

return 0;

}

int FindPhonNum(Libreta de direcciones[])

{

char aphonnum[20];

pr

intf("Ingrese el número de estudiante que desea buscar:");

scanf("s", amp; aphonnum

FSearch(book, aphonnum, 1);

p>

return 0;

}

int Show(Libreta de direcciones[])

{

int or=0 ;

if(count==0)

{

printf("!!!¡¡¡Sin registro!!!\n");

sistema("pausa");

sistema("cls");

}

más

{

p>

printf("Nombre\t Teléfono\t\tID de estudiante\tGénero\tEdad\n");

for(int i=0; ilt; count; i)

printf("8s\t8s\ts\ts\td\n", libro[i].Nombre, libro[i].PhonNum,

libro[i] .ClassNum, libro[i].Sexo, libro[i].Edad);

system("pausa");

}

printf(" ¿Ordenar?" \n-=1. Ordenar=- -=2. Volver a la interfaz principal=-\n");

scanf("d", amp; or

);

if( 1==o)

Taxis(libro);

return 0

}

int DelName( Libreta de direcciones[])

{

char aname[20];

printf("Ingrese el nombre que desea eliminar: "); >

scanf( "s",amp;aname);

Buscar(libro,aname,2);

devuelve 0;

}

int DelClassNum(Libreta de direcciones[])

{

char anum[20];

printf("Ingrese el número de estudiante a eliminar:");

scanf("s", amp; anum);

Buscar(libro, anum, 1);

return 0

}

int Readtxt(Libreta de direcciones[])

{

ARCHIVO *fp1;

fp1=fopen("númerosfotos. txt", "r");

if(fp1 == NULL)

{

printf("¡incorrecto!\ n");

system("pausa");

}

while(!feof(fp1))

{

if (!fscanf(fp1, "s\t\ts\t\ts\td\ts", libro[recuento].Nombre, libro[recuento].PhonNum,

libro[recuento].NumClase, amp;libro[recuento].Edad,libro

[recuento].Sexo))

printf("¡Error de lectura!");

recuento

}

recuento- - ;

fclose(fp1);

return 0;

}

int Writetxt(Libreta de direcciones[])

{

ARCHIVO *fp;

fp=fopen("númerosdefotos.txt", "w"); ; ilt; contar; i )

{

fprintf(fp, FORMATO, libro[i].Nombre, libro[i].PhonNum,

libro [i].NumClase, libro[i].Edad, libro[i].Sexo

}

fclose(fp); ;

}

int Search(Libreta de direcciones[], char str1[], int n)

{

int flag = 0;

int str[5];

int flag_num=0;

int j;

int gf;

p>

int ksd=0

for(int i=0; ilt; count; i )

{

si (n== 1)

{

if(strcmp(str1, libro[i].ClassNum)==0)

flag=2;

}

else if(n==2)

{

if(strcmp(str1,libro[i].Nombre) ==0)

bandera=2

}

if(bandera==2)

{

if( ksd==0)

{

printf("Nombre\t Teléfono\t\tID del estudiante\tGénero\tEdad\n");

ksd=1;

}

printf("8s\t8s\ts\ts\td\n", libro[i].Nombre, libro[i].NumPhon ,

libro[i].ClassNum, libro[i].Sexo, libro[i].Edad

str[flag_num]=i

bandera=1

}

}

si(bandera==0)

{

printf ("!!!¡¡¡Sin registro!!!\n");

system("pausa");

system("cls");

}

if(flag==1)

{

printf("-=1.Confirmar eliminación=-\t-=2.Cancel= - \n");

scanf("d",amp;j);

if(1==j)

{

gf=1;

for(int m=str[0]; mlt; count-flag_num; m )

{

for(int j=gf-1; jlt; flag_num; j )

{

if((m gf)==str[j])

gf;

}

strcpy(libro[m].Nombre, libro[m gf].Nombre

libro[m); ].Edad=libro[m gf].Edad;

strcpy(libro[m].ClassNum, libro[m gf].ClassNum);

strcpy(libro[m] .PhonNum, libro[m gf].PhonNum);

strcpy(libro[m].Sexo, libro[m gf].Sexo

}

<); p> count=count-flag_num;

Writetxt(libro);

}

else if(2==j)

{

printf("!!! Operación cancelada!!!\n");

}

system("pausa");

}

return 0;

}

int FSearch(Libreta de direcciones[], char str2[], int n)

{

int flag=0;

int ksd=0;

for(int i=0; ilt; count; i )

{

if(n==1)

{

if(strcmp(str2,book[i].PhonNum)== 0 )

bandera=2;

}

si no (3==n)

{

if(strcmp(str2,book[i].Name)==0)

flag=2

}

else if(2== n; )

{

if(strcmp(str2, book[i].ClassNum)==0)

flag=2;

}

si(flag==2)

{

si(0==ksd)

{

printf("Nombre\t Teléfono\t\tID de estudiante\tGénero\tEdad\n");

ksd=1;

}

printf("8s\t8s\ts\ts\td\n",libro[i].Nombre,libro[i].NumPhon,

libro[i].NumClase,libro[ i].Sexo , libro[i].Edad);

flag=1

}

}

<

p> if(1==bandera)

sistema("pausa");

else if(bandera==0)

{

printf("!!!¡¡¡No existe tal registro!!!\n");

system("pause");

system("cls"); p>

}

return 0;

}

int Taxis(Libreta de direcciones[])

{

/* for(int i=0; ilt; contar; i)

{

for(int j=0; jlt; contar-1-i ; j )

{

if(strcmp(libro[j].NumClase, libro[j 1].NumClase)gt; 0)

{

Dirección bk;

strcpy(bk.Nombre, libro[j].Nombre);

bk.Edad=libro[j].Edad;

strcpy(bk.ClassNum, libro[j].ClassNum);

strcpy(bk.PhonNum, libro[j].PhonNum

strcpy(bk); .Sexo , libro[j].Sexo);

strcpy(libro[j].Nombre, libro[j 1].Nombre);

libro[j].Edad= libro[ j 1].Edad;

strcpy(libro[j].NumClase, libro[j 1].NumClase

strcpy(libro[j].NumPhon, libro); [j 1].PhonNum);

strcpy(libro[j].Sexo, libro[j 1].Sexo);

strcpy(libro[j 1].Nombre, bk. Nombre);

libro[j 1].Edad=bk.Edad;

strcpy(libro[j 1].ClassNum, bk.ClassNum);

strcpy(libro[j 1].PhonNum, bk.PhonNum);

strcpy(libro[j 1].Sexo, bk.Sexo

}

}

}

printf("!!! ¡¡¡Operación exitosa!!!\n");

system("pausa") ;

system("cls");

Writetxt(libro); */

devuelve 0; >

int Salir()

{

salir(1);

devuelve 0;

Este es un programa que escribí antes. Hay un documento que ya escribí y en él se almacena cierta información de contacto virtual. Si es necesario, te enviaré el proyecto completo y te dejaré un correo electrónico....O. (∩_ ∩)O~