El Sistema de Gestión de Información Estudiantil, uno de nuestros proyectos de graduación, no es demasiado largo, solo 50 líneas.
// Autor: Molan QQ: 57253105.
// ////////////////////////////////////////// //////////// //// ////////////////////////////////// ///////////
/1. Diseñar una clase de estudiante Estudiante, incluyendo nombre, número de estudiante, género, lugar de origen, edad, fecha de nacimiento y dirección, donde "fecha de nacimiento" se define como
//es una Clase de "fecha" (los atributos son: año, año, año, año, año, año, año, año, año, año, año). (año), mes, fecha).
/2. Tiene las funciones de ingreso de datos, visualización, guardado, consulta (consulta por número o nombre de estudiante), modificación y eliminación.
/3. La clase Student sobrecarga el operador "==" y el operador "=". El operador "==" juzga dos objetos de la clase Student y el operador "==" juzga dos si la identificación. los atributos de los objetos de Estudiante son iguales; el operador "=" implementa la asignación de objetos de Estudiante.
///4. Dar el código fuente del programa y comentar cada parte detalladamente.
/5. Agregue los módulos funcionales correspondientes según sus propias habilidades y necesidades para mejorar las funciones del sistema de simulación.
/6. Utilice la referencia del objeto de flujo de E/S como parámetro de función miembro para implementar el acceso a archivos para facilitar la consulta, modificación y eliminación.
(También se puede hacer con MFC)
////////////////////////////////// //// /////////////////////////////////////////////// /////// ////////////
# include lt;iostreamgt;
Usar espacio de nombres std;
#ifndef HEAD_H
#define HEAD_H
#include lt; stringgt
usando el espacio de nombres std
//Birthdate class; p>
cumpleaños de la clase
{
público:
cumpleaños(); //construcción predeterminada
int get_year() ; //obtener el año de nacimiento
int get_month(); //obtener el mes de nacimiento
int get_day() //obtener el día de nacimiento
void set_birth(); //establecer fecha de nacimiento
private:
int año
int mes; día;
};
//Estudiante clase
clase estudiante
{
público: p>
estudiante (); //constructor predeterminado
char face(); //inicio
void inster_new(); //registro de nuevo estudiante
void show_all() ;//mostrar toda la información del estudiante
void select(); //consultar la información del estudiante
void alter(); //modificar la información del estudiante
void deletes ( ); //eliminar información del estudiante
void delete_sigle(); //eliminar un registro de estudiante
void delete_all(); //eliminar todos los registros de estudiantes
privado:
nombre de cadena;
número de cadena; //número de estudiante
char sexo; //apellido w/m
string bornPlace; //lugar de nacimiento, origen
int edad;
cumpleaños nacimiento; //fecha de nacimiento
string dirección;
};
#endif
#include lt;fstreamgt;
#
incluir //Constructor de clase de cumpleaños cumpleaños::cumpleaños() { año = 0; mes = 0; día = 0; } //obtener año int cumpleaños::get_year() { año de retorno; } //obtener mes int cumpleaños::get_month mes( ) p> { mes de devolución } //obtener día int cumpleaños::get_day () { día de regreso } // Establecer la fecha de nacimiento void; cumpleaños:: set_birth() { cin gt; año gt; mes gt; //Constructor predeterminado de la clase de estudiante student::student():birth() { name = "\0"; número = "\0"; sexo = '\0'; lugar de nacimiento = " \0"; 0; dirección = " \0" } /home char estudiante::cara() { char elegir; system("cls"); cout lt;lt;endl;< lt;lt;endl lt; "\t |||" lt; endl lt; ||" lt; endl lt. lt; "t ◇ 2. Explorar toda la información del estudiante◇" lt; lt; endl lt; lt; "\t || | |" lt; endl lt; "\t ◇ 3. Consultar información ◇" lt; lt; lt; "\t ||" lt; finl lt; "\t ||" lt; ; endl lt; "\t ◇ 4. Modificar información ◇" lt; endl
lt; "\t ◇ 5. Eliminar información ◇" lt; endl
afirmar(stuFile
string1); ;
> cadena str2;
cadena
/* cout lt; setiosflags(ios::left) lt;
lt;lt;setw(15) lt;lt; "ID de estudiante" lt;lt;setw(5) lt;lt; "Género"
lt;lt;setw (5) lt;lt; "edad" lt;lt;setw(15) lt;lt;
lt; "Fecha de nacimiento"
lt; setw(8) lt; "Lugar de nacimiento" lt;
while (stuFile gt; gt; número)
{
número = " estudiantes\" número ".txt";
ifstream stuFile1(número .c_str( ));
afirmar(stuFile1);
cout lt; stuFile1.rdbuf() lt;!!! " lt; lt; endl lt; lt; endl;
system("pausa");
}
//Consultar información del alumno
void estudiante::select()
{
system("cls");
cout lt; endl lt; \t Consulta de información del estudiante" lt; lt; endl lt; lt; endl;
cout lt; lt; "\t Ingrese el número de consulta: ";
string no;
cin gt; gt.no;
ifstream stuFile("estudiantes\stu.txt");
asser(stuFile); p> while (stuFile gt; gt; número)
{
if (no == número)
{
cout lt ;lt;endl lt;lt;número lt;lt; "El mensaje es el siguiente:" lt;lt;endl;
número = "estudiantes\" número ".txt";
ifstream stuFile1(number.c_str());
afirmar(stuFile1);
cout lt; ;endl lt;endl;
cout lt;lt; "¡¡¡Consulta completa!!!!" " lt; lt; endl lt; lt; endl;
sistema("pausa");
retorno;
}
}
}
//Modificar información del estudiante
void Student:: alter()
{
system("cls");
cout lt;lt;endl lt;lt;"\t información alterar" lt;lt;endl lt;lt;endl;
cout lt ;lt;"\t por favor ingrese el número de estudiante:";
string no;
cin gt;gt;no;
ifstrea
m stuFile("estudiantes\\stu.txt");
while (stuFile gt; gt; número)
{
if (no == número )
{
cout lt; endl lt; número lt; "El mensaje anterior era el siguiente:" endl lt; ;
número = "estudiantes\" número ".txt";
ifstream stuFile1(number.c_str());
afirmar(stuFile1);
cout lt;lt;stuFile1.rdbuf() lt;lt;endl lt;endl;endl;
cout lt;lt;endl lt;lt "Por favor presione el mensaje Enter; nueva información: " lt; lt; endl lt; lt; endl;
cout lt; lt; "\t nombre: ";
cin gt; gt; nombre;
p>
cout lt; endl lt; "\t Género (m/w): ";
cin gt; ;lt;endl lt;lt;"/t Edad: ";
cin gt;gt;Edad;
cout lt;lt;endl lt;lt;"/t Fecha de nacimiento: ";
nacimiento.set_birth();
cout lt; lt; endl lt; lt; "t lugar de nacimiento: ";
cin gt; lugar de nacimiento;
cout lt; endl lt; "t Dirección: "; >Cadena stuFileName = "estudiantes\" no ".txt";
ofstream stuFile2(stuFileName.c_str());
afirmar(stuFile2);
stuFile2 lt; "nombre: " lt; lt; nombre del estudiante: " no lt; lt;endl lt;lt;endl
lt;lt;lt; "Género: " lt;lt;sexo lt;lt;endl lt;lt;endl
lt; ;lt; "Edad:" lt;lt;edad lt;lt;endl lt;lt;endl
lt;lt; "Fecha de nacimiento: " lt;lt;nacimiento.get_year() lt; lt;." lt; nacimiento.get_month() lt;" lt; ; "Lugar de nacimiento: " lt;
lt;lt;endl lt;lt;endl
lt;lt; "Dirección residencial: " lt;lt;dirección lt;lt;endl;
stuFile2.close();
cout lt; lt; endl lt; endl lt; endl lt; t ¡¡¡Modificación de información completada!!!" lt; lt; endl lt; lt; endl lt; lt; "\t" ;
sistema("pausa");
retorno;
}
}
} p >
/ Eliminar información del estudiante
void estudiante:: elimina()
{
char elija;
while ( 1 )
{
system("cls");
cout lt; endl lt; "\t elimina la información del estudiante" lt; ;endl lt;lt;endl;
cout lt;lt;endl lt;endl;"\t●\t1. Eliminar todos los registros excepto un registro de estudiante" lt;lt;endl
lt;lt;endl lt;endl;"\t●\t2. Eliminar todos los registros de los estudiantes" lt;lt;endl
lt;lt;endl lt;lt;"\ t●\t3 .volver a la página de inicio" lt; lt; endl lt; lt; endl lt; endl lt; lt; lt; "\t\t";
elegir = getch();
fflush( stdin);
cambiar (elegir)
{
caso '1':
eliminar_sigle (); /eliminar un registro de estudiante
descanso;
caso '2':
eliminar_all() )
descanso
caso '3':
retorno
predeterminado:
descanso
}
}
}
Eliminar un registro de estudiante
anular estudiante: eliminar_sigle()
{
sistema( "cls");
cout lt;lt;endl lt;lt;"\t eliminando información del estudiante" lt;lt;lt;endl; lt;lt;endl;
p>cout lt; "\tIngrese el número de estudiante: ";
string no
cin gt; );
ifstream stuFile("estudiantes\stu.txt");
afirmar(stuFile);
while (stuFile gt; gt; número) p>
{
si (no == número)
p>
{
número = "estudiantes\" número ".txt"
ifstream stuFile1(number.c_str()); (stuFile1);
cout lt; lt; endl lt; "La información del estudiante que desea eliminar es la siguiente:" lt; >
cout lt;stuFile1.rdbuf() lt;endl lt;
stuFile1.close();
cout lt; "¿Estás seguro? ¿Quieres eliminar? (y/n): ";
if (getch() == 'y')
{
ifstream stuFile2("estudiantes \\stu.txt");
afirmar(stuFile2);
ofstream tempFile("estudiantes\\temp.txt");
afirmar(archivotemp );
while (stuFile2 gt; gt; número)
{
if (no ! = número)
{
p>archivo temporal lt; número lt;
}
stuFile2.close(); >
tempFile.close() ;
ifstream tempFile1("estudiantes\temp.txt");
afirmar(tempFile1);
ofstream stuFile3 ("estudiantes\stu.txt") ;
afirmar(stuFile3);
stuFile3 lt;lt;tempFile1.rdbuf();
tempFile1.close ();
stuFile3.close();
número = "estudiantes\" no ".".txt";
ofstream stuFile4(number.c_str ());
stuFile4.close();
cout lt; endl lt; endl lt; " lt; lt; endl lt; lt; endl lt; lt; "\t";
sistema("pausa");
}
descanso ;
}
}
}
}
/ Eliminar todos los registros de los estudiantes
void estudiante::delete_all()
{
cout lt; endl lt; endl lt; ¿Eliminar toda la información de los estudiantes? Esta operación es irreversible.
(s/n): ";
if (getch() == 'y')
{
ifstream stuFile("estudiantes\stu.txt ");
afirmar(stuFile);
while (stuFile gt;. gt; número)
{
número = " estudiantes\" número ".txt";
ofstream stuFile1(number.c_str());
afirmar(stuFile1);
stuFile1.close() ;
}
stuFile.close();
ofstream stuFile2("estudiantes\\stu.txt"); (stuFile2);
cout lt; endl lt; endl lt; "/t ¡¡¡La información del estudiante utilizada ha sido eliminada!!! " lt; lt; endl lt; lt; endl;
system("pausa");
}
//función principal, elija función p>
int main()
{
char elegir;
estudiante astu;
while (elegir = astu. cara())
{
cambiar (elegir)
{
caso '1':
astu.inner_new(); //registro de primer año
descanso;
case '2':
astu.inner_new(); //show_all(); //show_all()show_all(); //mostrar toda la información del estudiante
break;
case '3':
astu .select(); //consulta de información
break;
case '4':
astu.alter(); //modificar información del estudiante p>
break;
case '5':
astu.deletes(); //eliminar información del estudiante
break;
case '6':
cout lt; endl lt; "\t\t ¡gracias por usarlo! !!!!" lt; lt; endl lt; lt; endl lt; "\t\t";
salir(0);
romper;
predeterminado:
descanso
}
}
devuelve 0; >
Si esto te ayuda, recuerda
Debe aceptarse como una respuesta satisfactoria, ¡gracias! ¡Te deseo una vida feliz!
vaela