Red de conocimiento informático - Conocimiento informático - Diseño e implementación de sistema de contabilidad del desempeño estudiantil

Diseño e implementación de sistema de contabilidad del desempeño estudiantil

#include "iostream.h"

#include "string.h"

#include "fstream.h"

# definir N 100

struct stu

{

nombre de char[10]

sexo de char[3];

char asunto[10];

char subna[4];

char id[9];

float xf; p> flotante pscj;

flotante sycj;

flotante jmcj

flotante zhcj

flotante sdxf; p> };

estructura stu s1[N];

estructura stu *ps;

estructura stu s; ();

verificación nula();

verificación nula_num();

verificación nula();

verificación nula_idcj(); ;

void shrt();

void shrtzhjx();

void shrtzhsx()

void shrtsdjx();

void shrtsdsx();

void del();

void savequit();

void menu(); >

int todo;

texto vacío();

int principal()

{

menú();

return 1;

}

menú vacío()

{

int x;

x=1;

mientras(x)

{

coutlt;lt;" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "lt;lt;endl;

coutlt;lt;"Sistema de gestión del rendimiento estudiantil " lt;lt;endl;

coutlt;lt;endl;

coutlt;lt;" Entrada de puntuación del estudiante (1) Consulta de información del estudiante (2) Eliminar registro del estudiante (3) " lt;lt;endl;

coutlt;lt;endl;

coutlt;lt;" Ordenar (4) Guardar información del estudiante (5) Ver registros guardados (6) "lt ; lt;endl;

co

utlt;lt;endl;

coutlt;lt;" Salir del sistema de software (0) "lt;lt;endl;

coutlt;lt;"\nPor favor seleccione una función: " ;

cingt;gt;x;

cambiar(x)

{

caso 1: entrada(); romper;

caso 2: comprobar(); romper

caso 3: del(); romper

caso 4: shrt(); p >

caso 5: savequit(); break;

caso 6: text();

caso 0: coutlt;lt; "lt ;lt;endl;break;

}

}

}

entrada nula()

{

int i, u;

coutlt; "Ingrese el número de estudiantes que desea ingresar (actualmente limitado a 100):"; p> cingt ;gt;all;

ps=s1;

for(i=1;ilt;=all;i,ps)

{

coutlt;lt;"Por favor ingrese la "lt;lt;ilt;lt;"información del estudiante"lt;lt;endl;

coutlt;lt;"ID del estudiante:";

p>

cingt;gt;ps-gt;id;

coutlt;lt;endl;

coutlt;lt;"Nombre:";

cingt;gt;ps-gt;nombre;

coutlt;lt;endl;

coutlt;lt;"Género:";

cingt;gt ;ps-gt;sex;

coutlt;lt;endl;

coutlt;lt;"Número de curso:";

cingt; gt;ps- gt;subna;

coutlt;lt;endl;

coutlt;lt;"Curso:";

cingt;gt;ps- gt;asunto;

coutlt;lt;endl;

coutlt;lt;"Créditos:";

cingt;gt;ps-gt;xf;

coutlt;lt;endl;

coutlt;lt;"Resultados habituales:";

cingt;gt;ps-gt;pscj;

coutlt;lt;endl;

coutlt;lt;"Resultados experimentales:";

cingt;gt;ps-gt;sycj;

coutlt;lt ;endl;

coutlt;lt;"Puntuación del trabajo:";

cingt;gt;ps-gt;jmcj;

coutlt; lt;endl;

> coutlt; lt; "Ingrese 0 para dejar de escribir y 1 para continuar escribiendo:"

p> if(ps-gt;sycjgt;0)

ps -gt;zhcj=(float)(ps-gt;pscj*0.15 ps-gt;sycj*0.15 ps-gt;jmcj*0.7

else

ps-gt); zhcj=(float)(ps-gt; pscj*0.3 ps-gt; jmcj*0.7

if(ps-gt;zhcjgt;=90amp;amp;ps-gt;zhcjlt;= 100)

ps-gt;sdxf=ps-gt;xf;

else if (ps-gt;zhcjgt;=80amp;amp;ps-gt;zhcjlt;90)

ps-gt;sdxf=ps-gt;xf*0.8;

else if (ps-gt;zhcjgt;=70amp;amp;ps-gt;zhcjlt;80)

ps-gt;sdxf=ps-gt;xf*0.75;

else if (ps-gt;zhcjgt;=60amp;amp;ps-gt;zhcjlt;70)

ps-gt; sdxf=ps-gt; xf*0.6;

si no ps -gt;

if(u!=1; ) menú();

}

}

verificación nula ()

{

int a;

coutlt;lt;" lt;lt;Interfaz de consultagt;gt; "lt;lt;endl;

coutlt;lt;endl;

coutlt; lt;" lt;Consulta de información básica del estudiantegt; "lt;lt;endl;

coutlt;lt; endl;

coutlt;lt;" (1) Consulta por número de estudiante" lt;lt;endl;

coutlt;lt;" (2) Consulta por nombre"lt;lt ;endl;

coutlt;lt;endl;

coutlt;lt;" lt;Puntuación del examen del estudiante querygt;"lt;lt;endl;

coutlt;lt;endl;

coutlt;lt;" (3) Consulta por número de estudiante"lt;lt;endl;

co

utlt;lt;" (0) Volver al menú anterior "lt;lt;endl;

coutlt;lt;"Por favor seleccione el método de consulta:";

cingt;gt ; a;

cambiar(a)

{

caso 1: check_num(); ) ; romper;

caso 3: check_idcj(); romper

caso 0: romper

}

}

void check_num()

{

int estudiante=0, i

char id[9]; > ps=s1;

coutlt;lt;"Ingrese el número de estudiante que desea consultar:";

cingt;gt;id;

para (i =0; ilt; N; i, ps )

{

if(strcmp(id, ps-gt; id)==0)

{ coutlt;lt;"Número de estudiante:"lt;lt;ps-gt;idlt;lt;" "lt;lt;"Nombre: "lt;lt;ps-gt;namelt;lt;" "lt;lt ;" Género: "lt;lt;ps-gt;sexlt;lt;endl;

estudiante=1;}

}

if(estudiante= =0 )

coutlt;lt;"----------------Resultados de la consulta: ¡¡No existe ese estudiante!!";

coutlt; lt; endl;

check();

}

void check_name()

{

int estudiante= 0, i;

estudiante=0;

ps=s1;

nombre de char[10]; lt; "Por favor ingrese el nombre que desea consultar:";

cingt;gt;name;

ps=s1;

for(i=0 ;ilt; N; i, ps )

{

if(strcmp(nombre, ps-gt;nombre)==0)

{coutlt; lt;" Número de estudiante: "lt;lt;ps-gt;idlt;lt;" "lt;lt;"Nombre: "lt;lt;ps-gt;namelt;lt;" "lt;lt;"Género: "lt; lt; ps-gt; sexlt; lt; endl;

estudiante=1;

}

}

si (estudiante= =0)

coutlt;lt;"----------------Resultados de la consulta: ¡¡No existe tal estudiante!!"lt;lt;endl;

coutlt;lt;endl;

check();

}

void check_idcj()

{

> int estudiante=0, i;

char id[9];

coutlt; "Ingrese el número de estudiante que desea consultar:"; p > cingt; gt; id;

ps=s1;

para(i=0; ilt; N; i , ps )

{

if(strcmp(id,ps-gt;id)==0)

{

coutlt;lt;"\nID del estudiante: "lt;lt; ps-gt;idlt;lt;endllt;lt;"Nombre:"lt;lt;ps-gt;namelt;lt;endl;

coutlt;lt;"Número de curso: "lt;lt; ps-gt;subnalt;lt;endllt;lt;"Curso:"lt;lt;ps-gt;subjectlt;lt;endl;

coutlt;lt;"Créditos:"lt;lt;ps -gt; xflt; lt; endllt; lt; "Resultados habituales:"lt; endl;

coutlt;lt;"Puntuación completa:"lt;lt;ps-gt;zhcjlt;lt;endllt; lt;"Créditos obtenidos:"lt;lt;ps-gt;sdxflt; lt; endl;

estudiante=1; p>

if(student==0)

coutlt;lt;"----------------Resultados de la consulta: ¡¡No existe tal estudiante!!";

coutlt;lt;endl;

check();

}

void shrt()

{

int i;

coutlt;lt;" lt;lt;Ordenar interfaz>"lt;lt;endl;

coutlt;lt;endl;

coutlt;lt;" (1 ) En orden descendente de puntuaciones integrales."lt;lt;endl;

coutlt;lt;" (2) En orden ascendente de puntuaciones integrales ."lt;lt;endl;

coutlt;lt; ;" (3) En orden descendente de créditos reales "lt; lt; endl;

coutlt; lt; " (4) En orden ascendente de créditos reales "lt; lt; endl;

coutlt;lt;" (0) Regresar a la interfaz principal."lt;lt;endl;

coutlt;lt;"Seleccione el método de clasificación: "lt;lt;endl;

cingt;

switch(i)

{

caso 1: shrtzhjx(); romper;

caso 2: shrtzhsx();

reak;

caso 3: shrtsdjx(); romper

caso 4: shrtsdsx(); romper

;

}

}

void shrtzhjx()

{

int i, j, n, k

flotar a[N], temp;

ps=s1

for(i=0; ilt; N; i , ps )

a[i]=ps-gt;zhcj;

for(i=1,k=all;ilt;all;i,k--)

for(j= 0; jlt; k-1; j )

si(a[j]lt; a[j 1])

{

temp=a[ j];

a[j]=a[j 1];

a[j 1]=temp

}

coutlt;lt;"------------¿Quieres ver los resultados ordenados (1/0)? "lt;lt;endl;

cingt;gt; n;

if(n)

for(i=1,j=0;ilt;=all;i,j)

coutlt;lt; "th" lt;lt;ilt;lt;"Nombre:"lt;lt;" "lt;lt;a[j]lt;lt;endl;

shrt();

}

void shrtzhsx()

{

int i, j, n, k

float a[N; ], temp ;

ps=s1;

for(i=0;ilt;N;i,ps)

a[i]=ps- gt;zhcj ;

for(i=1,k=all;ilt;all;i,k--)

for(j=0;jlt;k-1; j)

if(a[j]gt; a[j 1])

{

temp=a[j];

a [j]=a[j 1];

a[j 1]=temp;

}

coutlt;lt;"-- --- -------¿Quieres ver los resultados ordenados (1/0)? "lt;lt;endl;

cingt;gt;n;

if(n)

for(j=0; allgt; 0; all--, j)

coutlt;lt; "th"lt;lt;alllt;lt; "nombre:" lt; " "lt; a[j]lt;

shrt(); void shrtsdjx()

{

int i, j, n, k

float a[N], temp

ps=s1;

p>

for(i=0;ilt;N;i,ps)

a[i]=ps-gt;sdxf;

for(i=1, k=todos;ilt;todos

;i,k--)

for(j=0;jlt;k-1;j)

if(a[j]lt;a[j 1])

{

temp=a[j]

a[j]=a[j 1]

a[j 1]; ]=temp;

}

coutlt;lt;"------------¿Quieres ver los resultados ordenados (1/0)? "lt; lt; endl;

cingt; gt; n;

coutlt; lt; endl;

i=1;

if( n)

while(ilt;=all)

{

j=0;

coutlt;lt;" th"lt ;lt;ilt;lt;"Nombre:"lt;lt;a[j]lt;lt;endl;

j ;

i ;

}

shrt();

}

void shrtsdsx()

{

int i, j, n, k;

flotar a[N], temp;

ps=s1; ; i, ps )

a[i]=ps-gt;

for(i=1, k=todos; ilt; todos; i, k--)

for(j=0;jlt;k-1;j)

if(a[j]gt;a[j 1])

{

temp=a[j];

a[j]=a[j 1]

a[j 1]=temp

}

coutlt;lt;"------------¿Quieres ver los resultados ordenados (1/0)? "lt;lt;endl;

cingt; gt; n;

coutlt; lt;

si(n)

mientras(allgt;0)

{

j=0;

coutlt;lt;"th"lt;lt;alllt;lt;"nombre:"lt;lt;a [j]lt;lt ;endl;

j ;todos--;

}

shrt();

}

void del()

{

char id[9];

coutlt;lt;"------- ------Ingrese el número de estudiante a eliminar: ";

cingt; gt; id;

int i;

ps=s1;

for(i=0;ilt;N;i,ps)

if(strcmp(id,ps-gt;id)==0)

for(;ilt;( N-i); i , ps )

{

strcpy(ps-gt;id, (ps 1)-gt;id);

strcpy(ps -gt;nombre, (ps 1)-gt;nombre);

strcpy(ps-gt; sujeto, (ps 1)-gt; sujeto

strcpy(ps-gt; subna, (ps 1)-gt; subna);

strcpy(ps-gt;sexo, (ps 1)-gt;sexo);

ps-gt;jmcj=(ps 1)-gt;jmcj;

ps-gt; pscj=(ps 1)-gt;

ps-gt; gt; sycj=(ps 1)-gt;

ps-gt; 1)-gt;zhcj;

}

coutlt;lt;"-----------------El número de identificación del estudiante es" ha sido eliminado lt;lt;idlt;lt;"estudiantes------------------"lt;lt;endl;

}

void savequit()

{

ofstream ofile("student.txt",ios::app);

int i;

ps=s1;

for(i=0; ilt; todos; i , ps )

{

ofilelt;lt;" número de estudiante: "lt;lt;ps-gt;idlt;lt;endl;

ofilelt;lt;" Nombre: "lt;lt;ps-gt;namelt;lt;endl;

ofilelt;lt;"Sexo:"lt;lt;ps-gt;sexlt;lt;endl;

ofilelt;lt;"Número de curso:"lt;lt;ps-gt; subnalt; lt;endl;

ofilelt;lt;"Curso:"lt;lt;ps-gt;subjectlt;lt;endl;

ofilelt;lt;"Resultados habituales: "lt ;lt;ps-gt;pscjlt;lt;endl;

ofilelt;lt;"Resultados del trabajo:"lt;lt;ps-gt;jmcjlt;lt;endl;

ofilelt;lt;"Resultados experimentales:"lt;lt;ps-gt;sycjlt;lt;endl;

ofilelt;lt;"Resultados integrales:"lt;lt;ps-gt;zhcjlt ; lt;endl;

ofilelt;lt;"Créditos:"lt;lt;ps-gt;xflt;lt;endl;

ofilelt;lt;"Créditos obtenidos:" lt;lt;ps-gt;sdxflt;lt;endl;

}

ofile.close();

coutlt;lt;"--- --------------------------Se ha guardado la información del estudiante."lt;lt;endl;

}

void text()

{

ifstream infile("student.txt",ios::in);

if(!infil

e) coutlt;lt;"¡No se puede abrir este documento!"lt;lt;endl;

int i;

char put[101];

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

{

infile.getline(put, 100);

coutlt;lt;putlt;lt; endl;

}

infile.close();

}