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: "; p>
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: "; p>
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: "; p>
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); p>
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() p>
{
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; p>
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 ; p>
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";
}
}
}