Red de conocimiento informático - Conocimiento informático - Implementar un sistema sencillo de gestión de estudiantes:

Implementar un sistema sencillo de gestión de estudiantes:

// 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 un subobjeto incrustado de la clase "Fecha" (propiedades: año (año), mes (mes), día (día))

//.

/2, con 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 de estudiante sobrecarga el operador "==" y el operador "=". El operador "==" determina si los atributos de identificación de dos objetos de clase de estudiante son iguales; El símbolo implementa la asignación de objetos de los estudiantes.

///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 y facilitar la consulta, modificación y eliminación.

(También se puede hacer con MFC)

////////////////////////////////// //// /////////////////////////////////////////////// //////// ////////////

# include

Usar espacio de nombres std;

#ifndef HEAD_H

#define HEAD_H

#include

usando el espacio de nombres std;

//Clase de fecha de nacimiento

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

privado:

int año;

int mes;<

int día ;

};

//Estudiante clase

clase estudiante

{

público:

estudiante() ;//constructor predeterminado

char face();//home

void inster_new();//registro de nuevo estudiante

void show_all(); //mostrar toda la información del estudiante

void select();//consultar 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

sexo de carácter;//apellido con/m

string bornPlace;//lugar de nacimiento, origen

int edad;

cumpleaños nacimiento;//fecha de nacimiento

string dirección ;

};

#endif

#include

#include

#include

#include < cassert>

#include

//Constructor de clase de cumpleaños

cumpleaños::cumpleaños()

{

año = 0; /p>

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()

{

mes de devolución;

}

//obtener día

int cumpleaños::get_day()

{

día de retorno;

}

// Establecer la fecha de nacimiento

cumpleaños nulo::set_birth()

{

cin >>año >>mes >>día;

}

//Constructor predeterminado de la clase de estudiante

estudiante::estudiante():nacimiento()

{

nombre = "\0"

número = "\0";

sexo = '\0';

lugar de nacimiento = " \0";

edad = 0 ;

dirección = " \0";

}

/home

char estudiante::cara()

{

char elegir;

sistema("cls");

cout <

<<"\t |||" <

<<"\t ◇ 1. Registro de nuevo estudiante◇" <

<<||" < endl

<. < "t ◇ 2. Explorar toda la información del estudiante ◇" <

<<"\t || | |" > <<"\t ◇ 3. Consultar información ◇" <

<<"\t ||"

<<"\t ||" t;

◇" <

<<"\t ◇ 4. Modificar información◇" <

<<"\ t |||" <

<<"\t ◇ 5. Eliminar información ◇" <

afirmar(stuFile);

cadena str1 ;

cadena str2;

cadena str3;

/* cout <

<

t;< "Número de estudiante" <

<

lt; "Fecha de nacimiento"

<

while (stuFile >> número)

{

número = " estudiantes\"+número+".txt";

ifstream stuFile1(number.c_str());

afirmar(stuFile1);

cout <

system("pause");

}

//Consultar información del estudiante

void estudiante::select()

{

system("cls");

cout <

cout <<"\t Introduzca el número de consulta: ";

string no;

cin >>.no;

ifstream stuFile("estudiantes\stu.txt");

afirmar(stuFile);

while (stuFile >>número)

{

if (no == número)

{

cout <

número = "estudiantes\"+número+".txt";

ifstream stuFile1(number.c_str());

afirmar(stuFile1) ;

cout <

cout << "¡¡¡Consulta completa!!!! " <

sistema("pausa");

retorno;

}

}

}

//Modificar información del estudiante

void Student::alter()

{

system("cls ");

cout <

cout <<"\t por favor ingrese el número de estudiante: ";

string no;

cin >>no;

ifstream stuFile("estudiantes\stu.txt");

<

p> while (stuFile >>número)

{

if (no == número)

{

cout <

número = "estudiantes\"+número+ ".txt";

ifstream stuFile1 (number.c_str());

afirmar(stuFile1);

cout <

; cout <

cout <<"\t name : ";

cin > > nombre;

cout <

cin >>Género;

cout << endl <<"/t Edad: ";

cin >>Edad;

cout <

nacimiento.set_birth();

cout <

cin >>bornPlace

cout <

cin >>dirección;

String stuFileName = "estudiantes\"+no+".txt";

ofstream stuFile2 (stuFileName.c_str());

afirmar(stuFile2);

stuFile2 << "nombre : " <

<<.lt; "Número de estudiante: " <

<<< "Género: " <

< << "Edad:" <

<< "Fecha de nacimiento: " <

<< "Lugar de nacimiento: " <

l

<< "Dirección residencial: " & lt;

stuFile2.close();

cout <

system("pause");

return;

}

}

}

/ Eliminar información del estudiante

void estudiante:: elimina()

{

char elegir;

mientras (1)

{

sistema("cls");

cout <

cout <

<

<< endl <<. "\t●\t3.volver a la página de inicio" <

elige = getch();

fflush( stdin);

cambiar (elegir)

{

caso '1':

eliminar_sigle(); //eliminar un registro de estudiante

interrupción;

caso '2':

delete_all() )

interrupción;

caso '3':

retorno;

predeterminado:

descanso;

}

}

}

Eliminar un registro de estudiante

void Student::delete_sigle()

{

system(" cls");

cout <

cout <<"\tPor favor ingrese el número de estudiante: ";

número de cadena;

cin >>no;

fflush(stdin);

ifstream stuFile(" estudiantes\stu .txt");

afirmar(stuFile);

while (stuFile >>número)

{

if (no == número)

{

número = "estudiantes\"+número+".txt"

<

p> ifstream stuFile1(number.c_str());

afirmar(stuFile1);

cout << < endl << "La información del estudiante que desea eliminar es la siguiente: " << endl <<. endl;

cout <

stuFile1.close();

cout <

if (getch() == 'y')

{

ifstream stuFile2("estudiantes\\stu.txt");

afirmar(stuFile2);

ofstream tempFile("estudiantes\\temp.txt");

afirmar(archivotemp);

while (stuFile2 >>número)

{

if (no ! = número)

{

archivotemp <

}

stuFile2.close();

archivotemp. close();

ifstream tempFile1("estudiantes\temp.txt");

afirmar(tempFile1);

ofstream stuFile3("estudiantes\stu. txt");

afirmar( stuFile3);

stuFile3 <

tempFile1.close();

stuFile3.close ();

número = "estudiantes\"+no+ ".".txt";

ofstream stuFile4(number.c_str());

stuFile4 .close();

cout <

sistema("pausa");

}

descanso;

}

}

}

/ Eliminar todos los registros de los estudiantes

void Student::delete_all()

{

cout <

(s/n): ";

if (getch() == 'y')

{

ifstream stuFile("estudiantes\stu.txt ");

afirmar(stuFile);

while (stuFile >. > número)

{

número = "estudiantes\ "+número+".txt";

ofstream stuFile1(number.c_str());

afirmar(stuFile1);

stuFile1.close();

}

stuFile.close();

ofstream stuFile2("estudiantes\\stu.txt");

afirmar( stuFile2);

cout & lt;

system("pausa");

}

//función principal, elija función

int main()

{

char elegir;

estudiante astu;

while (elegir = astu.face())

{

cambiar (elegir)

{

caso '1':

astu.inner_new( );//registro de primer año

descanso;

caso '2':

astu.inner_new();//show_all();//show_all( );//show_all()show_all();//mostrar toda la información del estudiante

break;

caso '3':

astu.select() ;//consulta de información

break;

case '4':

astu.alter();//modificar información del estudiante

break;

case '5':

astu.deletes();//eliminar información del estudiante

break;

case '6':

cout <

salir(0);

romper;

predeterminado:

descanso;

}

}

devuelve 0

}

yo; Cambiar.