Red de conocimiento informático - Conocimiento sistemático - Pídale a un experto que resuelva un problema de diseño de un curso de lenguaje C

Pídale a un experto que resuelva un problema de diseño de un curso de lenguaje C

Puedes consultar esto.

#includelt; stdio.hgt;

#includelt; definir BUFLEN 100

#define LEN 15

#define N 100

estructura registro

{

char código[LEN 1];

nombre de char[LEN 1];

int edad;

sexo de char[3]; tiempo de char[LEN 1];

char add[30];

char dormitorio[LEN 1];

char clases[30];

char major[30];

}stu[N];

int k=1, n, m, ad_key=111; ARCHIVO *fp;

void readfile();

void seek();

void modificar();

void insert();

void del();

void display();

void save();

void menu(); int main()

{

mientras(k)

menú();

sistema("pausa"); p>

return 0;

}

void help()

{

printf("\n0. ¡Bienvenido ayuda del sistema! \n");

printf("\n1. Después de ingresar al sistema, primero actualice la información del estudiante y luego consulte;\n");

printf( "\n2 .Siga las indicaciones del menú y escriba el código numérico;\n");

printf("\n3. Después de agregar la información del estudiante, recuerde presionar 7 para guardar;\n");

printf( "\n4. ¡Gracias por tu uso!\n");

}

void readfile()

{

char * p="estudiante.txt";

ARCHIVO *fp;

int i=0;

if (( fp=fopen("student.txt" , "r"))==NULL)

{

printf("¡Error al abrir el archivo! ¡Presione cualquier tecla para salir!", p);

sistema("pausa");

salir(0);

}

mientras(fscanf(fp, "s sds s s s s", stu[i ].código, stu[i].nombre, & stu[i].edad,

stu[i].sexo, stu[i].hora, stu [i].add, stu[ i].dorm, stu[i].classes, stu[i].major)==8)

{

i;

i=i ;

}

fclose(

fp);

n=i;

printf("¡Entrada completada!\n");

}

void seek( )

{

int i, elemento, bandera;

char s1[21]; ---------------\n");

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

printf("-----2. Buscar por nombre-----\n");

printf("-----3. Salir de esto menú -----\n");

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

while(1)

{

printf("Seleccione el número del submenú: ");

scanf("d", amp; item);

flag=0;

cambiar(elemento)

{

caso 1:

printf(" Por favor ingrese el número de estudiante del estudiante a consultar:\n");

scanf("s", s1);

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

if(strcmp(stu[i].code, s1)==0)

{

flag=1;

printf ("Número de estudiante, nombre del estudiante, edad, sexo, fecha de nacimiento, dirección, dormitorio, clase, especialidad\n");

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

printf("6s 7s 6d 5s 9s 8s 10s 10s 10s\n", stu[i].código, stu[i]. nombre, estu[i].edad,

p>

stu[i].sexo, stu[i].tiempo, stu[i].add, stu[i].dorm, stu[i] .classes, stu[i].major);

}

if(flag==0)

printf("¡Esta identificación de estudiante no existe! \n"); break;

caso 2:

printf("Ingrese el nombre del estudiante que desea consultar:\n");

scanf("s", s1);

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

if(strcmp(stu[i].nombre, s1)= =0)

{

flag=1;

printf("Número de estudiante, nombre del estudiante, edad, sexo, fecha de nacimiento, dirección, dormitorio, clase , mayor\n");

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

printf(" 6s 7s 6d 5s 9s 8s 10s 10s 10s\n", stu[i].código, stu[i ].nombre, stu[i].edad,

stu[i].sexo, stu[ i].tiempo, stu[i].añadir, stu

[i].dorm, stu[i].classes, stu[i].major);

}

if(flag==0)

printf("¡Este nombre no existe!\n"); break;

caso 3: retorno;

predeterminado: printf("Por favor, elija entre 1-3\n" ) ;

}

}

}

/********tecla****** ** */

key_2()

{

int p

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

{

fp=fopen("key_2", "w ");

fwrite(amp; ad_key, sizeof( int), 1, fp);

fclose(fp);

}

fp=fopen("key_2", "r"); p>

fread(amp; ad_key, sizeof(int), 1, fp);

fclose(fp);

printf("Ingrese la contraseña de administrador:\ n");

error9: scanf("d",amp;p);

if(p!=ad_key)

{

p>

printf("Lo sentimos, la contraseña que ingresaste es incorrecta, ¡vuelve a ingresarla!\n");

goto error9; p> else modificar();

}

cambiar_clave2()

{ int p;

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

{

fp=fopen("key_2", "w ");

fwrite( amp; ad_key, tamaño de (int), 1, fp);

fclose(fp);

}

fp=fopen("key_2", " r" );

fread(amp; ad_key, sizeof(int), 1, fp);

fclose(fp);

printf("Por favor ingrese la contraseña del miembro de administración:\n");

error9: scanf("d",amp;p);

if(p!=ad_key)

{

printf("Lo sentimos, la contraseña que ingresaste es incorrecta, ¡vuelve a ingresarla!\n");

goto error9

}

else {

printf("Ingrese la nueva contraseña de administrador:\n");

scanf("d",&ad_key);

fp=fopen("key_2", "w");

fwrite(amp; ad_key, sizeof(int), 1,

fclose(fp) ;

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

>}

}

void modificar()

{

int i, elemento, num

char sex1[3], s1[LEN 1], s2[LEN 1];

printf("Ingrese el número de estudiante que desea modificar:\n"); p >scanf("s",s1);

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

if(strcmp(stu[i].code,s1) = =0)

num=i;

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

printf("1.Modificar nombre\n");

printf("2.Modificar edad\n");

printf("3.Modificar género \ n");

printf("4.Modificar fecha de nacimiento\n");

printf("5.Modificar dirección\n");

printf("6.Modificar número de dormitorio\n");

printf("7.Modificar clase\n");

printf("8.Modificar especialidad\n " );

printf("9.Salir de este menú\n");

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

while(1)

{

printf("Seleccione un número de submenú: ");

scanf("d", elemento);

cambiar(elemento)

{

caso 1:

printf(" Por favor ingrese un nuevo nombre: \n");

scanf("s", s2);

strcpy(stu[num].name, s2); break;

p>

caso 2:

printf("Ingrese la nueva era:\n");

scanf("d",amp;stu[ num].age ); break;

caso 3:

printf("Ingrese un nuevo género:\n"); ",sex1) ;

strcpy(stu[num].sex, sex1); break;

caso 4:

printf("Por favor, introduzca el nuevo año y mes de nacimiento: \n");

scanf("s", s2);

strcpy(stu[num].time, s2); break;

caso 5:

printf("Ingrese la nueva dirección:\n");

scanf("s", s2); p>strcpy(stu[ num].add, s2);

caso 6:

printf("Ingrese el nuevo número de dormitorio:\n"); p>

scanf ("s", s2);

strcpy(stu[num].dorm, s2);

caso 7:

printf("Ingrese una nueva clase:\n");

scanf("s", s2);

caso 8:

printf ("Ingrese una nueva clase Mayor:\n");

scanf("s", s2);

strcpy(stu[num].c

lasses, s2); break;

caso 9: retorno;

default: printf ("Por favor, elija entre 1-9\n");

}

}

void sort()

{

int i, j, * p, *q, s;

char temp[10];

for(i=0;ilt;n-1;i)

{

for(j=n-1;jgt;i;j--)

if(strcmp(stu[j-1].code, stu[j].code)gt ;0 )

{

strcpy(temp, stu[j-1].code);

strcpy(stu[j-1].code, stu[ j].code);

strcpy(stu[j].code, temp);

strcpy(temp, stu[j-1].nombre);

p>

strcpy(stu[j-1].nombre, stu[j].nombre);

strcpy(stu[j].nombre, temp);

strcpy(temp, stu[j-1].sex);

strcpy(stu[j-1].sex, stu[j].sex);

strcpy(stu [j].sexo,temp);

strcpy(temp,stu[j-1].time);

strcpy(stu[j-1].time); ,stu[ j].time);

strcpy(stu[j].time, temp);

strcpy(temp, stu[j-1].add);

strcpy(stu[j-1].add, stu[j].add);

strcpy(stu[j].add, temp);

strcpy( temp, estu[j-1].dormitorio);

strcpy(stu[j-1].dormitorio, stu[j].dormitorio);

strcpy( stu[j ].dorm, temp);

strcpy(temp, stu[j-1].clases

strcpy(stu[j-1].classes, stu); [j] .clases);

strcpy(stu[j].clases, temp);

strcpy(stu[j].major, temp);

p =amp;stu[j-1].edad;

q=amp;stu[j].edad;

s=*q;

* q=*p;

*p=s;

}

}

}

void insert ()

{

int i=n,j,flag;

printf("Ingrese el número de estudiantes que se agregarán:\ n");

scanf("d",amp; m);

hacer

{

flag=1;

while(flag)

{

flag=0;

printf("Por favor ingrese el expediente académico del estudiante désimo

No.:\n",i 1);

scanf("s",stu[i].code);

for(j=0;jlt;i;j )

if(strcmp(stu[i].code, stu[j].code)==0)

{

printf("El estudiante número, verifique y vuelva a ingresar!\n");

flag=1;

break;

}

}

printf("Por favor ingrese el nombre del estudiante désimo:\n",i 1);

scanf("s",stu[i].name);

p>

printf("Ingrese la edad del d estudiante:\n",i 1);

scanf("d",amp;stu[i]. edad);

p>

printf("Ingrese el sexo del désimo estudiante:\n",i 1);

scanf("s",stu[ i].sex);

printf("Ingrese el año y mes de nacimiento del désimo estudiante: (formato: año.mes)\n", i 1);

scanf("s", stu[i]. time);

printf("Ingrese la dirección del désimo estudiante: \n", i 1

scanf); ("s", stu[i].add) ;

printf("Por favor, ingrese al dormitorio del estudiante désimo:\n",i 1);

scanf(" s",stu[i].dorm);

printf("Por favor, introduzca la clase del estudiante désimo:\n",i 1);

scanf("s" ,stu[i].classes);

printf("Por favor ingrese la especialidad del estudiante désimo:\n",i 1);

scanf("s",stu [i].major);

if(flag==0)

{

i=i

i; /p>

}

}

mientras(ilt; n m);

n =m

printf(" ¡Entrada completada!\n\n");

n =m; p>

sort();

}

void del()

{

int i, j, flag= 0;

char s1[LEN 1];

printf("Por favor, introduzca el número de estudiante del estudiante que se va a eliminar:\n");

scanf(" s", s1);

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

if(strcmp(stu[i].code, s1)==0)

{

flag=1

for; (j=i; jlt; n-1; j )

stu[j] =stu[j 1];

}

if(bandera= =0)

printf("¡La identificación del estudiante no existe! \n");

if(flag==1)

{

printf("Eliminar correctamente, seleccione el menú 6 para mostrar el resultado\n ") ;

n--;

}

}

visualización nula()

{

int i;

printf("La información de todos los estudiantes es: \n");

printf("Número de identificación del estudiante y apellido

Nombre, edad, sexo, fecha de nacimiento, dirección, dormitorio, clase, especialidad\n");

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

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

{

printf("6s 7s 5d 5s 9s 8s 10s 10s 10s\n", stu[ i].código, stu[i].nombre, stu[i].edad,

stu[i].sexo, stu[i ].time, stu[i].add, stu[i ].dorm, stu[i].classes, stu[i].major

}

}

void save()

{

int i;

ARCHIVO *fp

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

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

{

fprintf(fp, " s s d s s s s s s\n", stu[i].código, stu[ i].nombre, stu[i].edad,

stu[i].sexo, stu[i].tiempo, stu[i ].add, stu[i].dorm, stu[i ].classes, stu[i].major

}

fclose(fp);

}

menú vacío( )

{

int num;

printf("Sistema de gestión de información estudiantil\n" );

printf("╔═ ═══════════════════════════╗\n"); p>

printf("║ ¡¡Bienvenido!! ║ \n");

printf("║┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ┈┈┈┈║\n") ;

printf("║ 0. Ayuda e instrucciones del sistema 1. Actualizar la información del estudiante ║\n");

printf("║ 2 Consultar información del estudiante 3. Modificar la información del estudiante ║\n");

printf("║ 4. Agregar información del estudiante 5. Eliminar información del estudiante ║\n");

printf. ("║ 6. Mostrar información actual 7. Guardar información del estudiante║\n");

printf("║ 8. Cambiar contraseña 9. Salir del sistema ║\n"); > printf("║┈┈┈┈ ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈║\n");

printf(" ╚════

═════════════════════════╝\n");

printf("Seleccione un número de menú:");

scanf("d",amp;num);

cambiar(num)

{

caso 0: ayuda() ; romper;

caso 1: readfile(); romper;

caso 2: buscar(); romper;

caso 3: key_2(); ;

caso 4: insertar(); romper;

caso 5: del(); romper

caso 6: mostrar(); /p>

p>

caso 7: guardar(); romper;

caso 8: change_key2(); romper;

caso 9: k=0; break;

predeterminado: printf("Elija entre 0-9\n");

}

}