Red de conocimiento informático - Conocimiento informático - Sistema de gestión de información estudiantil (versión C)

Sistema de gestión de información estudiantil (versión C)

#include "stdio.h"

#include "bios.h"

#include "conio.h"

#include "STRING.H"

#include "DOS.h"

#include "proceso.h"

#include "stdlib.h"

#include "math.h"

#define key_down 80

#define key_up 72

#define key_esc 1

#define key_alt_f 33

#define key_alt_x 45

#define key_enter 28

#define key_alt_c 46

#definekey_alt_e 18

# definir key_alt_s 31

#definir key_alt_d 32

#definir key_alt_r 19

#definir key_alt_p 25

#definir key_alt_o 24

estructura estudiante

{

nombre char[20];

número largo;

edad char[2];

char sexo[4];

char xibie[16];

char jiguan[50];<

estructura{

chino flotante;

inglés flotante;

matemática flotante;

total flotante;

promedio flotante;} puntuación;

estructura estudiante *siguiente;

};

estructura estudiante agente[50];

estructura estudiante *cabeza,* this1,*new1,*new2,*stud;

char numstr[40]={' ',' '};

int n=0;

int r=0;

int k=0;

núm largo;

int get_key(); int startx,int starty,int high,int width);

void new1name(void),listall(void),wfile(void),rfile(void); *insert(struct estudiante *head ,struct estudiante *stud);

gotoxy(2,8);

cprintf(" PWD:");

gotoxy(2,4);

cprintf("NOMBRE:");

scanf("%s",aaa);

gotoxy(7, 8);

while(d=getch())

{

if(d==13)

descanso;

cprintf("*");

p>

bbb[i]=d;

i++;

}

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

fread(a,6,1,fp);

fread(b,6,1,fp);

fclose(fp);

for(i=0;i<=5;i++)

{

if(aaa[i]!=a[i] || bbb[i] ! =b[i])

salir(0);

}

}

ab();

}

nnn()

{union REGS inregs,outregs;

inregs.h.ah=0x2a;

intdos(&inregs, &outregs);

ventana(60,24,80,25);

fondo de texto(14);

color de texto(0);

clrscr();

cprintf("Los datos son 2004-%d-%d.\n",outregs.h.dh,outregs.h.dl);{key==key_up key | ==key_down)

{puttext(2,y,18,y+1,buf1);{p textbackground(0);

textcolor(15);

gotoxy(2,y);

cprintf("%s",f[y-2]);

}

key=get_key ();

}

if(key==key_alt_x) exit(0);

if(key==key_enter)

{switch(y-1)

{caso 1: new1name();break;

caso 2: cjlr();break;

caso 3 : cjtj();break;

caso 4 : insert(head,stud);break;

caso 5 : cjpx();break;

predeterminado :romper;

}

}

}

else

{

ventana(1,1,80,1);

puttext(2,2,19,10,buf);

textfondo(15);

color de texto(0);

gotoxy(4,1);

cprintf("%s",menú[0]);

}

if(key==key_alt_c)

{textbackground(0);

textcolor(15);

getoxy(39,1);

cprintf("%s",menú[3]);

gettext(39,2,50,7,buf1);

ventana(39 ,2,49,5);

textbackground(15);

textcolor(0);

clrscr();

ventana(39,2,49,6);

caja(39,1,4,11);

for(i=2;i<4;i++)

{

gotoxy(2,i).

cprintf("%s",c[i-2]);

}

gettext(39,2,49,3,buf1);

textbackground(0);

textcolor(15);

gotoxy(2, 2 );

cprintf("%s",c[0]);

y=2;

key=get_key();

mientras(key!=key_alt_x&&key!=key_enter&&key!=key_ esc)

{if(key==key_up||key==key_down)

{puttext(39 ,y,49,y+1,buf1);

if(key==key_up)

y=y==2?3:y-1;

if( clave==key_down)

y=y==3?2:y+1;

gettext(39,y,49,y+1,buf1 );

textbackground(0);

textcolor(15);

gotoxy(2,y );

cprintf(" %s",c[y-2]);

}

key=get_key();

}

if( key==key_alt_x) exit(0);

if(key==key_enter)

p> {switch(y-1)

{caso 1 :cxxs();break;

caso 2: cxcj();break;

Valor predeterminado: break;

}

}

}

else

{ventana(1,1,80,2);

puttext(39,2,49, 7,buf);

textbackground(15);

textcolor(0);

gotoxy(39,1);

cprintf(" %s",menú[3]);

}

}}

int get_key()

{ unión REGS rg;

rg.h.ah=0;

int86(0x16,&rg,&rg);

return rg.h.ah; p>

}

cuadro vacío (int ​​startx, int starty, int alto, int ancho)

{ int i;

gotoxy(startx, starty);

putch( 0xda);

for(i=starty+1; i

putch(0xc4 );

p>

putch(0xbf);

for(i=starty+1;i

{ gotoxy(startx,i );

putch(0xb3);

gotoxy(ancho,i); putch(0xb3);}

gotoxy(startx+1,ancho);

putch(0xc0);

for(i=startx+1;i

putch(0xc4);

putch(0xd9);

Retorno;

}

/* void nuevo1nombre(void)

{ int clave;

ventana(1,2, 80,25);

textbackground(BLUE);

clrscr();

cprintf("¿Está seguro de haber ingresado?");

key=get_key();

mientras(key!=key_alt_x && key!=key_esc)

{

ventana(1 ,2,80,25);

textbackground(AZUL);

clrscr();

new1=new2=(struct Student *)malloc(sizeof (estructura estudiante));

if(head==NULL)

head=new1;

else

{ this1=head ;

while(this1->siguiente!=NULL)

this1=this1->siguiente;

this1->siguiente=new1;

}

this1=new1;

printf("\nRegistro%d:",n+1);

printf("\nXing Ming :");

gets(this1->name);

printf("\nXue Hao:");

gets(numstr); p>

this1->num=atol(numstr);

printf("\nNian Ling:");

gets(this1->age);

printf("/nXing Bie:");

gets(this1->sex);

printf("/nXue Yuan:");

obtiene(this1->xibie);

printf("/n Ji Guan:");

obtiene(this1->jiguan);

n ++;

this1->next=NULL;

printf("¿Estás seguro de ingresar: Y/N?");

if( getch()=='n')

main();

else

new1name();

}

}*/

void nuevo1nombre(void)

{ int key;

char a;

ventana (1, 2,80,25);

textbackground( AZUL);

clrscr();

cprintf("¿Está seguro de haber ingresado?") ;

key=get_key();

mientras(key!=key_alt_x &&am

p;tecla! =key_esc)

{

ventana(1,2,80,25);

fondo de texto(AZUL);

clrscr( );

new1=new2=(struct Student *)malloc(sizeof(struct Student));

if(head==NULL)

head= nuevo1;

else

{ this1=head;

while(this1->siguiente!=NULL)

this1=this1 - >siguiente;

este1->siguiente=nuevo1;

}

este1=nuevo1;

printf("\nRegistro%d :",n+1);

printf("\nXing Ming:");

gets(&a);

gets(this1->nombre);

printf("\nXue Hao:");

gets(numstr);

this1->num=atol(numstr);

printf("\nian Ling:");

gets(this1->edad);

printf("\n Xing Bie:");

consigue(this1->sexo);

printf("\n Xue Yuan.");

consigue(this1->xibie);

printf ("\nJi Guan:");

gets(this1->jiguan);

n++;

this1->next=NULL;

printf("¿Está seguro de ingresar: S/N?");

if(getch()=='n')

main();

else

nuevo1nombre();

}

principal();

}

/*listallhanshuyonglaishuchuquanburenyuandejilu*/

void listall(void)

{

int i=0

window(1,2) ,80,25);

textbackground(1);

textcolor(0);

clrscr();

if( head==NULL)

{cprintf("\nlista vacía.\n");return;

}

this1=head;

hacer

{ cprintf("/nnúmero de registro %d\n",++i);

cprintf("nombre:%s",this1->nombre) ;.

cprintf(" número:%ld",this1->num);

cprintf(" edad:%s",this1->edad);

cprintf(" sexo: %s", this1->sexo);

> cprintf(" xibie:%s",this1->xibie);

cprintf(" jiguan:%s",this1->jiguan);

cprintf(" chino: %6.2f",this1->score.chinese);

cprintf(" inglés:%6.2f",this1->score.english);

cprintf(" matemáticas: %6.2f",this1->score.math);

cprintf(" total:%6.2f",this1->score. " total:%6.2f",this1->score.total) ;

cprintf(" ave:%6.2f\n",this1->score.ave);

this1=this1->siguiente;

/ /this1->next=NUL >next=NULL;

} while(this1!=NULL);

getch();

main();

}

//*insertar

struct estudiante *insert(struct estudiante *cabeza,struct estudiante *semental)

{

estructura estudiante *p0,*p1,*p2;

p1=cabeza;

p0=semental;

if(cabeza= =NULL)

{head=p0;p0->next=NULL;}

else

while((p0->num>p1->num ) && (p1->siguiente!=NULL))

{p2=p1;p1=p1->siguiente;}

if(p0->num<=p1-> num)

{if(head==p1)

{head=p0;

p0-> > }

más

{p2 ->siguiente=p0;

p1->siguiente=p1;

}

}

más

{p1->next=p0

p0->next=NULL;

}

n=n+1;

return(head);

}

void wfile(void)

{FILE *fptr;

char a[10];

if(n<1)

{printf("\nNo puedo escribir lista vacía.\n");return;}

// char a[10];

cprintf("Por favor, introduzca el nombre del archivo:");

gets(a);

if((fptr=fopen(a, "wb"))== NULL)

printf("\nNo puedo abrir el archivo agentes.rec\n ");

más

{este

s1=cabeza;

while(this1->next!=NULL)

{fwrite( this1,sizeof(struct Student),1,fptr);

this1=this1->siguiente;

}

// fwrite(this1,sizeof(struct Student ),1,fptr);

fclose(fptr );

printf("/nArchivo de %d registros escritos.\n",n);

}

}

getch();

main();

}

//* rfile

vacío rfile(void)

{FILE *fptr;

char b[10];

cprintf("Ingrese el nombre del archivo: ");

gets(b);

if((fptr=fopen(b," rb"))==NULL)

printf("/nNo se puede abrir el archivo % s\n",b);

else

{n=0;

head=(struct Student *)malloc(sizeof(struct Student) ) ;

this1=cabeza;

fread(this1,sizeof(struct Student),1,fptr);

n++;

while(1)

{if(sizeof(fptr))

{ fclose(fptr);

this1->next=NULL;printf("/ nLectura de archivo. El número total de agentes ahora es %d\n",n);

getch(); main();

}else{

this1->next=(struct Student *)malloc(sizeof(struct Student));

this1=this1->siguiente;

fread(this1,sizeof(struct Student) , 1,fptr);

n++;

}} this1->next=NULL;

//fread(this1,sizeof(struct Student), 1 ,fptr);

//n++;

fclose(fptr );

printf("\nArchivo leído. El número total de agentes ahora es % d.

\n",n);

}

getch();

main();

}

//*wfile

/*void wfile(void)

{char a[10];

ARCHIVO *fptr;

if(n<1)

{printf("\nNo se puede escribir una lista vacía.\n");return;}

cprintf(" Ingrese el nombre del archivo:" );

gets(a);

if((fptr=fopen(a, "wb"))==NULL)

{cprintf(" \nNo puedo abrir el archivo ");puts(a);cprintf("\n" );

}

else

{fwrite(agent,sizeof (struct Student ),n,fptr);

fclose(fptr);

printf("/nArchivo de %d registros escritos .\n",n);

}

getch();

main();

}

//*rfile

void rfile(void)

{FILE *fptr;

char a[10];

cprintf("Ingrese el nombre del archivo:");

gets(a);

if((fptr=fopen(a, "wb"))==NULL)

{cprintf("/nNo se puede abrir el archivo ");puts(a);

}

else

{ while(fread(&agent[n],sizeof(agent[n]),1 ,fptr)==1)

n++;

fclose(fptr);

printf("\nArchivo leído. El número total de agentes ahora es % d.\n",n);

}

getch();

main();

}*/

//*cjlr

void cjlr(void)

{ struct Student *p1;

long num; char ddd[5] ;

char ccc[5];

ventana(1,2,80,25);

fondo de texto(AZUL);

clrscr ();

p1=head;

printf("ingrese el número del estudiante:");

scanf("%ld",&num );

if(head==NULL)

{

printf("\ nlist nulo! \n");

}

p1=head;

while(num!=p1->num && p1->siguiente!=NULL)

{p1=p1->siguiente;}

if(p1 ->num==num)

{printf(

"chino:");

scanf("%f",&p1->score.中文);

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

// p1->score.score.english=atof(numstr);

//getch();

printf("matemáticas:") ;

scanf("%s",ddd);

// obtiene(ddd);

p1->.total=p1->puntuación. chino+p1->puntuación.inglés+p1->puntuación.matemáticas;

p1->puntuación.ave =(p1->puntuación.chino+p1->puntuación.inglés+p1->puntuación. matemáticas)/3.0;

}

getch();

main();

}

//*cjlr

/*void cjlr(void)

{struct Student *p1;

long num; char ddd[4];

ventana(1,2,80,25);

fondo de texto(AZUL);

clrscr();

p1=cabeza;

printf("ingrese el número del estudiante:");

scanf("%ld",&num);

if(head==NULL)

{

printf("\nlista nula!\n");

}

p1=cabeza;

while(num!=p1->num && p1->siguiente!=NULL)

{p1=p1->siguiente;}

if(p1->num= =num)

{printf("chinese:");

scanf("%f",p1->score.score.chinese=atof(numstr);

//getch();

printf("inglés:");

scanf("%f",p1->score.english);

//gets(numstr );

//p1->score.english=atof(numstr);

// getch();

printf("matemáticas:");

//scanf("%f",p1->score.math);

//scanf("%f", p1->score.math);

gets(ddd);

p1->score.math=atof(ddd);

p1->score .ave=(p1->score.chinese+p1->score.english+p1->score.math )/3.0;

getch();

}

getch();

main();

}*/

//*del<

/p>

void del()

{struct estudiante *p1,*p2;

número largo;

ventana(1,2,80 ,25);

textbackground(BLUE);

clrscr();

printf("ingrese el número del estudiante:");

scanf("%ld",&num);

if(head==NULL)

{

printf("\nlista nula! \n"); salir(1);

}

p1=cabeza;

while(num != p1->num && p1->siguiente ! =NULL)

{p2=p1;p1=p1->siguiente;

}

if(num==p1->num)

{if(p1==cabeza) cabeza=p1 ->siguiente;

else

p2-> siguiente=p1->siguiente;

printf("el %ld mensaje tiene del\n",num);

n=n-1;

}

else

printf("¡No se encuentra %ld!\n",num);

getch();

main();

}

//

void cjtj(void)

{struct estudiante *p;

for( p=cabeza;p. =NULL;p=p! =NULL;p=p->siguiente)

{ p->score.total=p->score.chinese+p->score. español+p->puntuación.matemáticas;

p-> puntuación.ave=p->puntuación.total/3.0;

}

}

//

void cjpx(void)

{

estructura estudiante *p,*p1;

int i,j,t;

temperatura flotante;

for(i=0;i

{

p=cabeza;

p1=p->siguiente;

if(p->puntuación.totalpuntuación.total;

p- >puntuación.total=p1->puntuación.total;

p1->puntuación.total=temp;

}

}

p>

}

//

void cxxs(void)

{ struct Student *p;

nombre de char1[20];

ventana(1,2,80,25);

fondo de texto( AZUL);

clrscr();

printf("shu ru yao cha xun de x

ue sheng de xing ming ");

"shu ru yao cha xun de xue sheng de xing ming:");

gets(nombre1);

for(p=head;p!=NULL;p=p->.next)

{if(strcmp(p->nombre,nombre1)==0)

{printf("xingming:%s\n",p->nombre);

printf("xuehao:%ld\n",p->num);

printf ("nianling:

printf("xingbie:%s\n",p->sexo);

printf("xibie:%s\n",p->xibie );

printf("jiguan:%s\n",p->jiguan);

}

}

} getch();

main();

}

/*chaxunchengji*/

void cxcj(void)

{ struct estudiante *p;

char nombre2[20]; int i;

ventana(1,2,80,25);

textbackground(AZUL);

clrscr();

printf(" shu ru yao cha xu de xue sheng de xingming:");

gets( nombre2);

for(p=head;p!=NULL;p=p->siguiente)

{if(strcmp(p->nombre,nombre2) ==0 )

{printf("xingming:%s\n",p->nombre);

printf("chino:%6.2f\n",p->puntuación. chino);

printf("inglés:%6.2f\n ",p->puntuación.inglés);

printf("matemáticas:%6.2f\n",p ->puntuación.math);

printf("total:%6.2f\n",p->puntuación.total);

printf("ave:%6.2f\ n",p->score.ave);

}

}

}getch();

main();

}

/*dayingmugexueshen*/

lista vacía( void)

{ char name3[20];

int i=0;

ventana(1,2,80,25);

fondo de texto(AZUL);

clrscr();

printf("shu ru yao da ying de xue sheng xingming:");

gets(name3);

if(head==NULL)

{ printf("\lista vacía.\n");

retorno;

}

for(this1=head;this1!=NULL;this1=this1->siguiente)

{

if(strcmp(this1->nombre, nombre3)==0)

{printf("/nnnúmero de registro %d\n",++i);

printf("xingmming:%s\n",this1 ->nombre);

printf("xuehao:printf("xingmming:%s\n",this1->num);

printf("nianling:%d\n ",this1->edad);

printf("xingbie:%s\n",this1->sexo);

printf("xueyuan: printf("xueyuan: % s\n",this1->xibie);

printf("jiguan:%s\n",this1->jiguan);

printf("chino:%6.2f \n",this1->score.chinese);

printf("inglés:%6.2f\n",this1->score. this1->score.english);

printf("matemáticas:%6.2f\n",this1->puntuación.math);

printf("total:%6.2f\n",this1->puntuación.total);

printf("ave:%6.2f\n",this1->score.ave);

}

}

} getch();

principal();

}