Red de conocimiento informático - Consumibles informáticos - Maestros, el lenguaje C compila la gestión de archivos de los estudiantes, por favor ayuda.

Maestros, el lenguaje C compila la gestión de archivos de los estudiantes, por favor ayuda.

# includelt; iostream.hgt;

# includelt; includelt; stdlib.hgt;

# includelt; fstream.hgt;

//****Definir una estructura de datos de átomos de estudiantes****//

struct stuatom

{

char *nombre;

int id

char sexo

float math, eng, comp, totll, aver;

void show();

void setup();

};

p>

//************Definir una serie de operaciones en los estudiantes************//

estudiante de clase

{

privado:

stuatom ob[100];

int stulen;

público :

estudiante();

entrada nula();

orden nula(); p>

consulta vacía ();

lectura vacía ();

adición vacía ();

eliminación vacía

;

};

//********Inicialización de datos de estudiantes (constructor de clases)************//

estudiante::estudiante()

{

//Utiliza un bucle for para inicializar los datos en todas las matrices

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

{

ob[i].math=ob[i].eng=ob[i].comp =ob[i].totll =ob[ i].aver =0;

ob[i].id =0;

ob[i].sex =' ';

ob[i ].nombre =NULL;

ob[i].sex =' ';

ob[i].nombre =NULL;

p>

}

this-gt; stulen =0;

}

//*******Ingrese los datos del estudiante y determine si está dentro del dominio de datos especificado************//

void stuatom::setup()

{

char n[20 ]; char s;

int b;

// Si la entrada está dentro del dominio de datos, salga del bucle y asigne un valor.

//Si ya no está en el campo de datos, realiza un bucle hasta que los datos de entrada coincidan con el campo de datos

haz {

coutlt;lt;"Estudiante ID: ";

cingt;gt;b;

if(bgt;1020||blt;1001)

coutlt;lt;"Ingreso de datos incorrectos !!"lt ;lt;endllt;lt;endl;

}mientras (blt;1001||bgt;1020);

id=b;

//si la entrada debe estar dentro del dominio de datos, salga del bucle y asigne un valor.

//Si ya no está en el dominio de datos, realiza un bucle hasta que los datos de entrada coincidan con el dominio de datos

do{

name=new char[strlen (n) 1 ];

coutlt;lt;" Nombre: ";

cingt;gt;n;

if( strlen(n)gt; 6 || strlen (n)lt;4)

coutlt;lt;"¡¡Ingreso de datos incorrectos!!"lt;lt;endllt;lt;endl;

} while ( strlen (n)gt ;6 amp;amp; strlen(n)lt;4);

strcpy(nombre, n);

coutlt;lt;"Género (m/f) ):";

cingt; gt; s;

//Si la entrada está dentro del dominio de datos, salga del bucle y asigne un valor.

//Si ya no está en el dominio de datos, realice un bucle hasta que los datos de entrada coincidan con el dominio de datos

while (s!='m' amp; amp; s!= 'f')

{

coutlt;lt;"¡¡Ingreso de datos incorrectos!!"lt;lt;endllt;lt;endl;

coutlt;lt ;" Género( m/f): ";

cingt;

}

sexo=s; float m, e , co;

coutlt;lt;" Matemáticas: ";

cingt;gt;m;

//Si la entrada está dentro el dominio de datos, salte del bucle y asigne un valor.

//Si ya no está en el dominio de datos, realiza un bucle hasta que los datos de entrada coincidan con el dominio de datos

while (mlt; 0 || mgt; 100)

{

coutlt;lt;"¡¡Ingreso de datos incorrectos!!"lt;lt;endllt;lt;endl;

coutlt;lt;"Matemáticas: ";

cingt; m;

}

math=m;

coutlt;" Inglés: ";

cingt ;gt;e;

//Si la entrada está dentro del dominio de datos, salga del bucle y asigne un valor.

//Si ya no está en el dominio de datos, realiza un bucle hasta que los datos de entrada coincidan con el dominio de datos

while (elt; 0 || egt; 100)

{

coutlt;lt;"¡¡Ingreso de datos incorrectos!!"lt;lt;endllt;lt;endl;

coutlt;lt;" Inglés: ";

cingt; e;

}

eng=e;

lt;

cingt ;gt;co;

//Si la entrada está dentro del dominio de datos, salga del bucle y asigne un valor.

//Si ya no está en el dominio de datos, realiza un bucle hasta que los datos de entrada coincidan con el dominio de datos

while (colt; 0 || cogt; 100)

{

coutlt;lt;"¡¡Ingreso de datos incorrectos!!"lt;lt;endllt;lt;endl;

coutlt;lt;"Computadora: ";

cingt; gt;

}

comp=co;

totll=matemáticas comp; aver=(math eng comp)/3;

}

//************Muestra los datos del estudiante en la pantalla de acuerdo con lo especificado. format******//

void stuatom::show()

{

cout.setf(ios::left);

cout.width( 6);

coutlt;lt;""lt;lt;idlt;lt;" ";

cout.width(8);

coutlt; lt;nombre;

cout.width(10);

coutlt;lt;sexo;

cout.width (9);

coutlt;lt;math;

cout.width(9);

coutlt;lt;eng;

cout.width(11);

coutlt;lt;comp;

cout.width(10);

coutlt;lt;totlllt;lt; averlt;lt;endl;

}

//***************Ingrese los datos del estudiante********** ******** *****//

void estudiante::input()

{

int n; >

coutlt; lt; endllt;lt;"Ingrese el número de estudiantes que se ingresarán: ";

cingt;gt;n; >

//Ingresar requisitos mediante bucle Ingresar los datos del estudiante para el número de estudiantes.

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

{

coutlt;lt;"Ingrese la información del estudiante"lt;lt;jlt;lt ; endl;

ob[j].setup();

}

this-gt; //Asignación de número de estudiantes< / p>

//Formato de visualización de datos del estudiante

system("cls");

coutlt;lt;endllt;lt;"-------- - ----------------------- Hoja de información del estudiante----------------- ------------ ---------"lt;lt;endl;

coutlt;lt;endllt;lt;" Número de estudiante, nombre, sexo , matemáticas, inglés, puntuación total de computadora, puntuación promedio"lt;lt;endl;

// Genera todos los datos de los estudiantes a través del bucle.

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

{

ob[j].show()

}

coutlt;lt;endl;

coutlt;lt;" ¿Guardar? (Y/N): ";

char Y;

cingt; gt; Y;

sistema("cls");

}

//******** ** ***Muestra la información del estudiante a consultar según un formato determinado.

******************//

void estudiante:: Consulta()

{

int x, i;

coutlt;lt;endllt;lt;" Ingrese el número de estudiante a consultar: ";

cingt;gt;x;

coutlt;lt; endllt;lt;"ID del estudiante, nombre, género, matemáticas, inglés, computadora, puntaje total, puntaje promedio"lt;lt;endl;

for(i=0;ilt;= this-gt;stulen;i)

{ if (x==ob[i].id)

{

cout.setf(ios:: izquierda);

cout .width(6);

coutlt;lt;""lt;lt;ob[i].idlt;lt;" ";

cout.width(8);

coutlt;lt;ob[i].nombre;

cout.width(10);

coutlt ;lt;ob[i].sex;

cout.width(9);

coutlt; ob[i].math; .width(9);

coutlt;lt;ob[i].eng;

cout.width(11);

coutlt;lt;ob [i].comp;

cout.width(10);

coutlt;lt;ob[i].totlllt;lt;ob[i].averlt;lt;endl ;

}

p>

}

getchar();

}

//*** *************** ***Guardar datos del estudiante****************************/ /

void estudiante::save()

{

int i

ofstream outfile

outfile.open("list.txt", ios::trunc);

if(!outfile)

{

coutlt;lt;"No se puede abrir archivo de salida!\n,";

}

//Guarda todos los datos de los estudiantes en list.txt a través del bucle.

for(i=0; ilt; this-gt; stulen; i )

{

outfilelt;lt;ob[i].idlt;lt ;" "lt;lt;ob[i].namelt;lt;" "lt;lt;ob[i].sexlt;lt;" "lt;lt;

ob[i].mathlt ;lt;" "lt;lt;ob[i].englt;lt;" "lt;lt;ob[i].complt;lt;" "lt;lt;ob[i].totlllt;lt;" " lt; lt; ob[i].averlt;

}

outfile.close(); >//******************Mostrar todos los datos del estudiante************************/ /

void estudiante::read()

{

int i

system("cls"); >

coutlt;lt; endllt;lt;"--------------------------Hoja de información del estudiante-------- ----- -----------------------"lt;lt;endl;

coutlt;lt;endllt;lt; " Número, nombre y género del estudiante Matemáticas Inglés Computadora Puntuación total Puntuación promedio "lt; endl; lt;

{

ob[i].show();

}

getchar()

}

<; p>//*** ****************Datos de un estudiante******************//

void Student::add ()

{

int i, d=this-gt;stulen;

coutlt;lt;"Ingrese el información del estudiante a agregar:"lt; lt; endl;

ob[d].setup();

coutlt; lt; endllt; lt; "--- ---------- --------------- Hoja de información del estudiante---------------------- ---------- ----"lt;lt;endl;

coutlt;lt;endllt;lt;" Número de estudiante, nombre, sexo, matemáticas, inglés, total de computadora puntuación, puntuación media"lt;lt;endl;

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

{

ob[i] .show();

}

ofstream fout("list.txt",ios::app);

if(!fout)

{

coutlt;lt; "¡No se puede abrir el archivo de salida!\n,";

}

//Agrega los datos del estudiante agregado a list.txt.

foutlt;lt;ob[d].idlt;lt;" "lt;lt;ob[d].namelt;lt;" "lt;lt;ob[d].sexlt;lt; " "lt;lt;

ob[d].mathlt;lt;" "lt;lt;ob[d].englt;lt;" "lt;lt;ob[d].complt; lt;" "lt;lt;ob[d].totlllt;lt;" "lt;lt;ob[d].averlt;lt;endl;

fout.close(); >

getchar();

}

//************************Eliminar el estudiante con el nombre especificado Data************************//

void Student::del()

{

int i, p; char x[8];

coutlt;lt;" Ingrese el nombre del estudiante que desea eliminar: "lt;lt; endl;

cingt;gt;x ;

//Encontrar el nombre del estudiante a eliminar mediante un bucle for

for(i=0; ilt;

p=i;

coutlt;lt; endllt;lt;"Número de estudiante, nombre, género, matemáticas, inglés, computadora, calificación total, puntaje promedio"lt;lt;endl;

coutlt;lt;ob[i].idlt;lt;" "lt;lt;ob [i].namelt;lt;" "lt;lt;ob[i].sexlt;lt;" " lt;lt;ob[i].mathlt;lt;" "lt;lt;ob[i].englt ;lt;" "lt;lt;ob[i].complt;lt;" "lt;lt;ob [i].totlllt;lt;" "lt;lt;ob[i].averlt;lt;endl;

break

}

else;

continuar;

}

coutlt ;lt;endllt;lt;"----------------- ---------------Hoja de información del estudiante---------- ---------------------- ----"lt;lt;endl;

coutlt;lt;endllt;lt;" Nro. de aprendizaje Nombre Género Matemáticas Inglés Computadora Puntuación total Puntuación promedio "lt;lt; endl;

//Después de la eliminación, los siguientes datos deben avanzar, los datos que se eliminarán deben sobrescribirse y la duración del estudiante debe reducirse 1

stulen--;

for(i;ilt;stulen;i)

{

ob[i]=ob [i 1];

p>

}

this-gt;read ();

coutlt;lt;"¡Eliminar correctamente!"lt;lt;endl;

getchar();

}

//****************Ordenar puntuaciones de los estudiantes********** ******** ****//

void estudiante::order()

{

int k, j

float t; char n[20];

//Algoritmo de clasificación.

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

{

for(k=1; klt;=(2 -j k )

{

if(ob[k].totll lt; ob[k 1].totll)

{

t = ob[k].totll;

ob[k].totll = ob[k 1].totll

ob[k 1].totll = t;

strcpy(n, ob[k].nombre);

strcpy(ob[k].nombre, ob[k 1].nombre);

strcpy(ob[k 1].name, n);

}

coutlt;lt;" Clasificación de puntuación: "lt;lt;endl;

coutlt;lt;"Ranking de puntuación total del nombre"lt;lt;endl;

for(k=0; klt;=stulen; k)

{

coutlt;lt;" ";

cout.setf(ios::left);

cout.width(9);

coutlt ;lt;ob[k].name;

cout.width(9);

coutlt;lt;ob[k].totlllt;lt;klt;lt;endl;

}

getchar()

}

}

}

//************************Seleccionar menú.

*******************//

menú nulo()

{

coutlt;lt ;" \n\n";

coutlt;lt;"------------------ Sistema de calificaciones del estudiante--------- - ------"lt;lt;endllt;lt;endl;

coutlt;lt;"\t\t1. Ingrese y guarde la información del estudiante.\n";

coutlt;lt;"\t\t2.Leer información del estudiante.\n";

coutlt;lt;"\t\t3.Eliminar información del estudiante.\n";

coutlt;lt;"\t\t4.Agregar información del estudiante.\n";

coutlt;lt;"\t\t5.Consultar información del estudiante.\n";

coutlt;lt;"\t\t6.Mostrar el ranking de puntuación.\n";

coutlt;lt;"\t\t7.Salir del sistema...\n\n\ n ";

coutlt;lt;"\t\tPor favor seleccione el elemento de función: ";

}

//------- - -------------------------------------------------- ------------------------------

void main()

{

estudiante a;

while(1)

{

int SEL

system("cls"

menú();

cingt; SEL; p> caso 1:

sistema("cls"); a.input(); a.save();

caso 2:

sistema("cls"); a.read(); descanso

caso 3:

sistema("cls"); >

caso 4:

sistema("cls"); a.add();

caso 5:

sistema("cls "); a.Query(); romper;

caso 6:

sistema("cls"); a.order(); romper;

caso 7:

coutlt;lt;endllt;lt;" Presione cualquier tecla para salir.... "lt;lt;endl;

getchar();

salir(0);

predeterminado:

coutlt; "¡¡Entrada incorrecta!!\n";

}

}

}