Red de conocimiento informático - Conocimiento del nombre de dominio - Diagrama de flujo del lenguaje C de emergencia

Diagrama de flujo del lenguaje C de emergencia

#includelt; stdlib.hgt;

int N1, N2, kk1, kk2, kk3;

estructura curso * cabeza1

estructura estudiante * cabeza2; /p>

estructura curso/estructura de información del curso

{

int num1

char name1[20]; int score;

int nelepeo; // Número de personas que se han registrado en el curso

int Melepeo

struct couse * next;

};

struct Student //estructura de información del estudiante

{

int num2;

char name2[20];

int nelenum[50]; //número de cursos tomados

int nelen; //número de cursos tomados

struct Student * next;

};

void Ms()

{

for(kk1=0;kk1lt;1100;kk1)

for( kk2=0;kk2 lt;1200;kk2 )

for(kk3=0;kk3lt;1200;kk3 );

}

nulo tecladoc() //grabar subfunciones del curso (desde el teclado)

{

struct couse *p1, *p2;

N1=0;

p1=p2=(struct couse*)malloc(sizeof(struct couse));

printf("Número de curso\t nombre del curso\t crédito\t límite de personal del curso\n");

Scanf("dssd",amp;

Scanf("dsd",amp;

Scanf("dssd",amp;

Scanf("dsd",amp;

Scanf("dsd dd",amp;p1-gt;num1,p1-gt;nombre1,amp;p1-gt;puntuación,amp;p1- gt ; melepeo);

p1-gt; nelepeo=0;

cabeza1=NULL

mientras( p1-gt; num1! =0)

{

N1=N1 1;

si(N1==1)cabeza1=p1;

más p2 -gt; siguiente=p1;

p2=p1;

p1=(estructura curso * ) malloc(sizeof(estructura curso)); "dsdd",amp;p1-gt;num1,p1-gt;nombre1,

amp; p1-gt; amperio; p1-gt;

p1-gt; ;next=NULL;

}

void filec()//Ingrese la subfunción del teclado (desde el archivo)

{

ARCHIVO * fp;

ruta de archivo char[20];

estructura couse *p1, *p2; "Ingrese la ruta al archivo a leer:");

getchar();

gets(filepath); (ruta de archivo, "r"))==NULL)

{

printf("¡No se puede encontrar el archivo s!\n", ruta de archivo

salir(0);

}

p1

p1=p2=(struct couse*)malloc(sizeof(struct couse)); >

fscanf(fp,"dsdddd",amp;p1-gt;num1,p1-gt;nombre1,amp;p1-gt;score,amp;p1-gt;nelepeo,amp;p1-gt;Melepeo) ;

head1=NULL;

while(!feof(fp))

{

N1=N1 1;

if(N1==1)head1=p1;

else p2-gt; siguiente=p1; =(struct couse * )malloc(sizeof(struct couse));

fscanf(fp,"dsdddd",amp;p1-gt;num1,p1-gt;name1,amp;p1-gt; puntuación, p1-gt; nlepeo, p1-gt;

}

p2-gt;

void inputc()//Ingresar la función principal del curso

{

int i;

printf("/t\t enter información del curso\n");

printf("/n1. Ingrese /n desde el teclado

printf("2. Ingrese /n desde el archivo"); /p> p>

printf("3.volver al menú principal\n");

printf("Seleccione (1~3):\n"); p> scanf ("d",amp;i);

switch(i)

{

case(1): tecladoc();

caso(2): filec(); romper;

caso(3): romper

p>

}

}

void insertc(struct couse *incouse)//subfunción de gestión del curso (agregar curso)

{

estructura couse *p0, *p1, *p2;

p1=head1

p0=incouse

if(head1 ==NULL)

{

cabeza1=p0;

p0-gt; siguiente=NULL

}

}

else

{

while((p0-gt; num1 gt; p1-gt; num1) amp; amp; (p1-gt; ¡siguiente! =NULL))

{

p2=p1;

p1=p1-gt;

if(p0-gt; num1 lt; = p1-gt; num1)

{

if (head1==p1) head1=p0;

más p2-gt; siguiente=p0;

p0-gt; siguiente=p1

más

{

p1-gt; siguiente=p0;

p0-gt ; siguiente=NULL

}

}

N1=N1 1;

}

void delc(int num1)//subfunción de gestión de cursos (eliminar cursos)

{

struct couse *p1, *p2;

if(head1==NULL)

{

printf("\n no tiene cursos, puede ¡No lo borre!\n");

ir al final;

}

p1=head1;

while(num1!= p1-gt; num1 & p1-gt; siguiente! =NULL)

{

p2=p1;

p1=p1-gt;

}

if(num1==p1-gt;num1)

{

if(p1==cabeza1) cabeza1= p1-gt; next;

else p2-gt; next=p1-gt;

printf("¡Eliminado este curso numerado! \n");

N1=N1-1;

}

else printf("¡No hay cursos con ese número!\n");

p>

end:;

}

gestión de vacíosc()//función principal de gestión del curso

{

estructura curso * incouse;

int i, num1;

printf("\t\t gestión de cursos\n");

printf("1.Agregar curso\n");

printf("2. Eliminar curso\n"

printf("3.Volver al menú principal \n");

printf("Seleccione (1~3):\n");

scanf ("d",amp;i);

switch(i)

{

caso(1):

{

incouse=(struct couse *)malloc(sizeof(struct couse));

printf("Número de curso\t nombre del curso\t créditos\t límite de personal del curso

incouse-gt; nelepeo=0;

insertc(incouse);

break; > case(2):

{

printf("Ingrese el número del curso que desea eliminar:\n"); d ", amp; num1);

delc (num1);

break;

}

case(3): break

}

}

anular teclados()//ingresar la subfunción de información del estudiante (desde el teclado)

{

int i;

estructura estudiante *p1, *p2;

N2=0

p1=p2=(estructura estudiante *) malloc( sizeof (struct Student));

printf("número de estudiante\t nombre de estudiante\n");

scanf("ds",amp;p1-gt;num2,p1 - gt; nombre2);

p1-gt; nelen =0;

for(i=0; ilt; 20; i ) p1-gt; ;

cabeza2=NULL;

mientras(p1-gt; num2! =0)

{

N2=N2 1;

si( N2==1)cabeza2=p1

más p2; -gt; siguiente=p1;

p2=p1;

p1=(estructura estudiante * )malloc(tamañode(estructura estudiante)); "ds",amp;p

1-gt;num2,p1-gt;nombre2);

p1-gt;nelen=0;

for(i=0;ilt;20;i) p1-gt ; nelenum[i]=0;

}

p2-gt; siguiente= NULL

}

archivos vacíos(); //ingresa la subfunción de información del estudiante (desde el archivo)

{

int i=0

FILE * fp

char filepath; [20];

struct Student *p1, *p2;

N2=0;

printf("Ingrese la ruta del archivo a leer: ");

getchar();

obtiene(ruta de archivo);

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

{

printf("¡El archivo no se encuentra!\n", ruta del archivo

exit(0); >

}

p1

p1=p2=(struct estudiante*)malloc(sizeof(struct estudiante)); (estructura estudiante), 1, fp);

head2=NULL

while(!feof(fp))

{

i=0;

N2=N2 1;

if(N2==1)head2=p1

más p2- gt; ;

p2=p1;

p1=(struct estudiante * )malloc(sizeof(struct estudiante));

fread(p1,sizeof(struct estudiante) ) ), 1, fp);

}

p2-gt; siguiente=NULL

}

void inputs(); //ingresar la información del estudiante función principal

{

int i;

printf("/t\t ingresar la información del estudiante\n");

printf("/n1. Ingresar desde el teclado\n");

printf("2. Ingresar desde el archivo\n"); Volver al menú principal\n");

printf("Por favor seleccione (1~3):\n");

scanf("d",amp;i);

switch(i)

{

case(1): teclados(); break

case(2): archivos ( ); romper;

caso(3): romper;

;

}

}

inserciones vacías (estructura estudiante * incouse)//subfunción de gestión de información del estudiante (completar la información del estudiante)

{

estructura estudiante *p0, *p1, *p2;

p1=head2

p0=incouse; (head2==NULL)

{

head2=p0

p0-gt; siguiente=NULL; p>

else

{

while((p0-gt; num2 gt; p1-gt; num2 ) amp; amp; (p1-gt; next!=NULL ))

{

p2=p1

p1=p1-gt; > if(p0-gt;num2 lt;= p1-gt;num2)

{

if(head2==p1) head2=p0;

más p2-gt; siguiente=p0;

p0-gt; siguiente=p1

más

{ p>

p1-gt; siguiente=p0;

{

p1-gt; siguiente=p0; =NULL ;

}

}

N2=N2 1;

}

void dels(int num2) //Subfunción de gestión de información del estudiante (eliminar información del estudiante)

{

struct Student * p1, *p2

if (head2== NULL)

{

printf("\n no tiene información sobre este estudiante, ¡no se puede eliminar!\n");

ir al final; /p>

}

p1=cabeza2;

while(num2!=p1-gt;num2 amp;amp; p1-gt;siguiente! =NULL)

{

p2=p1;

p1=p1-gt; p> if(num2==p1-gt;num2)

{

if(p1==head2) head2=p1-gt;siguiente;

else p2-gt; next=p1-gt; next;

printf("¡La información sobre este estudiante ha sido eliminada!\n"); /p>

}

else printf("¡No hay estudiantes con este número de estudiante!\n"

end:

}< / p>

gestión de vacíos()//función principal de gestión de información del estudiante<

/p>

{

struct Student * incouse;

int i, num2;

printf("/t\t gestión de información del estudiante\n ");

printf("1.Agregar información del estudiante\n");

printf("2. Eliminar información del estudiante\n");

printf("3. Regresar al menú principal/n");

printf("Por favor elija (1~3):\n"); , amp ;i);

cambiar(i)

{

caso(1):

{

incouse=(struct estudiante *)malloc(sizeof(struct estudiante) );

incouse-gt;nelen=0;

incouse-gt;nelenum[0]=0 ;

printf("Número de estudiante\t nombre de estudiante\n");

scanf("ds",amp;incouse-gt;num2,incouse-gt;name2);

p>

insertos(incouse);

descanso

}

caso(2):

{

printf("Ingrese el número del estudiante que desea eliminar:\n");

scanf("d", amp; num2);

dels(num2)

romper

}

caso(3): romper

}

}

}

void elect(struct Student * s)//elect class

{

struct couse * p;

int num1, i;

printf("Ingrese el número de la clase a seleccionar:\n"); "d", amp; num1 );

for(i=0;s- gt;nelenum[i]! =0; i );

s- gt; nelenum[i]=num1;

(s- gt; nelen)

p=cabeza1;

while(p- gt; num1!=num1) p=p- gt; siguiente

(p- gt; nelepeo)

}<; /p>

void cheak()//subfunción de selección de cursos del estudiante (consultar cursos disponibles)

{

char e;

struct couse * c ;

estructura estudiante*s;

>

int num2, i, j=0, t=0;

printf("Ingrese su número de estudiante:

scanf("d", amp ; num2);

s=head2;

while(s-gt; num2!=num2 amp; amp; s- gt; next!=NULL) s=s-gt ;next;

if(s-gt;num2!=num2)

{

printf("Tu información no existe, por favor ve a principal menú e ingrese su información! \n");

ir al final;

}

c=head1;

printf(" Su número de curso opcional:\n");

while(c!=NULL)

{

for(t=0,i=0;s -gt.nelenum[i]! =0; i )

{

if(c-gt;num1==s-gt;nelenum[i]) t=1;

}

if(t==0 amp;amp; (c-gt;nelenum!= c-gt;nelenum[i]))

{

printf("d\n", c-gt; num1

j

}

c=c-gt; siguiente;

}

if(j==0)

{

printf("Tú ¡He tomado todos los cursos y no puedo seleccionar más! \n");

ir al final;

}

printf("Seleccionando curso (y) /n)?:\n");

getchar();

e=getchar();

e=getchar();

i=0;

mientras(e=='y')

{

elegir(s); > printf("Continuar con elect(s/n)?:\n");

getchar()

e=getchar(); }

end:;

}

void back(struct Student * p)//retirada de clase

{

struct couse * p1;

int num1, i, j;

printf("Ingrese el número del curso que desea abandonar:\n");

Escanear f("d",amp;num1);

p1=head1;

while(p1-gt;num1! =num1) p1=p1-gt; siguiente;

para

(i=0;p-gt;nelenum[i]! =num1;i);

for(j=i;p-gt;nelenum[j]!=0;j) p-gt ;nelenum[j]=p-gt;nelenum[j 1];

p-gt;nelenum[--j]=0;

(p1-gt;nelenum) --;

printf("¡Retiro exitoso de la clase!\n");

}

void hcheak()//subfunción de selección de estudiante (consulta seleccionada cursos)

{

char c

estructura curso * p0;

estructura estudiante * p; > int num2, i, f=0;

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

scanf("d", amp; num2 p>

p=cabeza2;

while(p-gt;num2!=num2 amp;amp; p!=NULL) p=p-gt;siguiente;

if(p==NULL)

{

printf("Su información no existe, por favor regrese al menú principal para ingresar su información:\n");

goto end;

}

printf("Número de curso seleccionado:\n"); [0]= =0)

{

printf("¡No has tomado ningún curso!\n");

ir al final

}

for(i=0;p-gt;nelenum[i]! =0;i)

{

printf( "d\n ",p-gt;nelenum[i]);

p0=head1;

while(p0-gt;num1!=p-gt;nelenum[i ]) p0= p0-gt; siguiente;

f=f p0-gt; puntuación

}

printf("Créditos totales: d\n ", f) ;

printf("¿Está en curso el retiro (s/n)?") ;

getchar();

c=getchar( );

p>

mientras(c=='y')

{

atrás(p);

printf("¿Continuando con abandono(s/n)?")

getchar()

c=getchar()

(p-gt); ;nelen)--;

}

end:

}

void elective()//función principal electiva del estudiante

{

int i;

<

p> printf("1.Consultar cursos disponibles \n");

printf("2. Consultar cursos seleccionados \n"); menú principal \n");

printf("Por favor, ingrese (1~3):\n");

scanf("d",amp;i); p>

cambiar(i)

{

caso(1):cheak(); romper

caso(2):hcheak; () ; break ;

case(3): break

}

}

void listc()//Salida del curso; información

{

struct couse * p;

p=head1;

printf("número del curso Nombre del curso Créditos Número de inscritos en el curso Límite de número de cursos\n");

while(p!=NULL)

{

printf("-8d10s6d8d12d\n", p-gt; num1, p-gt; nombre1, p-gt; puntuación, p-gt.nelepeo, p-gt;

p=p-gt;

p>

}

listas vacías()//generar información del estudiante

{

struct Student * p;

p =head2;

printf("Número de estudiante Nombre del estudiante Número de cursos tomados\n"); >

{

p>

printf("-4d 10s 6d\n", p-gt; num2, p-gt; nombre2, p-gt; nelen

p=p-gt; next;

}

}

void intoc()//almacenar información del curso

{

ARCHIVO * fp ;

struct couse * p;

char filepath[30]

printf("Ingrese la ruta al se guardará el archivo donde se guardará la información del curso :");

getchar();

gets(filepath);

if((fp=fopen( ruta de archivo, "w"))== NULL)

{

printf("\n ¡falló al guardar! ");

salir(0);

}

p=head1;

while(p!=NULL) p>

{

> fprintf(fp, "d s d d d\n", p-gt; num1, p-gt; nombre1, p-gt.score, p-gt; nelepeo, p-gt; Melepeo

p); =p-gt; next;

}

fclose(fp);

printf("¡La información del curso se guarda en s!\n", ruta de archivo );

}

void intos()//almacenar información del estudiante

{

ARCHIVO * fp;

struct Student * p;

char filepath[30];

printf("Ingrese la ruta del archivo que se guardará:"); p> p>

getchar();

gets(filepath);

if((fp=fopen(filepath, "w"))==NULL)

{

printf("\ n ¡falló al guardar!";

exit(0); > p =cabeza2;

while(p!=NULL)

{

fwrite(p, sizeof(struct Student), 1, fp);

p=p-gt; next;

}

fclose(fp);

printf("Información del estudiante guardada en s! \n ", ruta de archivo);

}

void into()//almacenar información

{

int i;

printf("1. Almacenar información del curso/n");

printf ("2. Almacenar información del estudiante/n"); Volver a la página principal menu/n");

printf("Por favor, ingrese (1~3)/n");

scanf("d",amp;i) ;

cambiar(i)

{

caso(1): intoc(); romper

caso(2): intos(); romper ;

case(3): romper;

}

}

void store()//mensaje función principal

{

int i;

printf("/t\t system Ver y almacenar información\n");

printf("1 . Ver información del curso\n");

printf("2. Ver información del estudiante\n");

printf("3. Almacenar información\n ");

p>

printf("4.Regresar al menú principal\n");

printf("Por favor ingrese (1~4):\n");

scanf("d", amplificador i);

cambiar(i)

{

caso(1): listc(); (2): listas(); romper;

caso(3): en(); romper

caso(4): romper;

}

int main()//función principal

{

int i;

inicio:

printf("\n\t\t\t ¡Bienvenido al sistema de selección de cursos para estudiantes! printf("1.Entrada de información del curso\n");

printf(" 2.Gestión del curso\n");

printf("3.Ingreso de información del estudiante\n");

printf("4.Gestión de información del estudiante\n");

printf("5.Gestión de información del estudiante\n");

printf("6.Gestión de información del estudiante\n");

printf(" 7.Gestión de la información del estudiante\n");

printf("8.Gestión de la información del estudiante");

printf("5.Selección del estudiante");

printf("6. Visualización y almacenamiento de información del sistema");

printf("7.Salir del sistema\n");

printf("\nPor favor, ingrese a la opción del menú (1~7):\n");

scanf("d",amp; i);

if(ilt;1 || igt;7)

{

printf("Error de entrada, vuelva a escribir:\n");

ir a inicio

}

switch(i)

{

printf("Error de entrada, vuelva a escribir:\n");

geto start; > }

cambiar(i)

{

caso(1):

{

sistema( "cls");

inputc();

ir a iniciar

romper

}

caso(2):

{

{

Esta es la primera vez que intento utilizar esta función.

p> sistema("cls");

gestiónc();

ir a inicio

romper

}

caso(3):

{

sistema("cls");

entradas(); inicio;

ruptura

}

caso(4):

{

sistema("cls ");

gestiones();

ir a inicio; <

romper;

}

caso (5):

{

sistema("cls");

electivo();

ir a inicio

descanso;

}

caso(6):

{

sistema("cls"); p>

tienda();

ir a inicio;

romper

}

caso(7):

p>

{

system("cls");

printf("¡Gracias por usar este sistema!\n\n¡Adiós! \n ");

}

}

}

return(0);

}