Red de conocimiento informático - Aprendizaje de código fuente - Sistema de gestión de estudiantes con estructura de datos

Sistema de gestión de estudiantes con estructura de datos

#include

#include

#include

#include

usando el espacio de nombres std;

estudiante de clase

{

p>privado:

long int stu_num; //número de estudiante, número de dormitorio

p>

long int stu_grade;

char stu_name[ 40]; //nombre

char class_name[40] //clase

char house_name; [20]; //dormitorio

público:

estudiante()

{

stu_num=0; p> stu_grade=0;

stu_name[0] =0;

class_name[0] =0

house_name[0] =0;

p> p>

}

estudiante(long a, long e, char * b,char *c, char * d)

{

Setdata( a, e, b, c, d);

}

char * Getstuname(void) //búsqueda de nombre

{

return stu_name ;

}

long Getstunum(void) //búsqueda de número de estudiante

{

return stu_num ;

}

char * Gethousename(void) //búsqueda de número de dormitorio

{

return house_name

}

char * Getclassname(void) //búsqueda por clase

{

return class_name;

}

void Setdata(long a, long e, char *b,char *c,char *d)

{

stu_num = a;

stu_grade = e ;

strcpy(stu_name, b);

strcpy(class_name, c);

strcpy(house_name, d);

}

void Show(void)

{

cout<< "Número de estudiante:"<

cout<< "Calificación de Matemáticas:"<

cout<< " Grado de idioma: "<

t;"\t";

cout<< "clase:"<

}

}};

void main(void)

{

estudiante s1;

int flags=0;

long stu_num; //número de estudiante

long stu_grade;

char stu_name[40]; //nombre

char nombre_clase [40]; //clase

char nombre_casa[20] //dormitorio

tiempo_t t;

tiempo(&t) ;

ifstream file1;

ofstream file3;

char flag = 'y';

cout<<"---- ----------------------- Sistema de gestión de estudiantes ------------------ -------------"<

cout<& lt; "\t\t hora:" << ctime(&t);

while( flag=='y' || flag=='Y')

{ // bucle controlado por flag

cout<<"------ --------------- ---------------------------------- - -------------------------\n";

cout<<"\t\t 1: ¡Ingrese la información del estudiante! n";

cout<<"/t\t 2:¡Ver información del estudiante por número de estudiante! \n";

cout<<"/t\t 3:Ver estudiante información por número de dormitorio! /n";

cout<<"\t\t 4: ¡Ver información del estudiante por nombre! /n";

cout<<"/t\ t 5: ¡Ver información de los estudiantes por clase!

cout<<"/t\t 6: ¡Mostrar toda la información del estudiante!";

cout<<"/t\t 7: ¡Modificar la información del estudiante por ID de estudiante!";

cout<<"/t\t 8: ¡Eliminar información del estudiante por ID de estudiante!\n";

cout<<"----------- -------------------------------------------------- ------------------\n";

cout<< "Ingrese su opción:";

char Choice;

cin>>elección;

cambiar(elección)

{

caso '1':

file3.open("c:\\stu.dat",ios. :app|ios::binary);

entrada: flags=0;

cout<< "Ingrese el número de estudiante:";

cin>>stu_num;

while (stu_num<100000 || stu_ num>999999)

{

cin.clear();

rewind(stdin);

cout << "Ingresaste un número de estudiante incorrecto, ingresa un número de seis número de dígito" << endl;

cout & lt;< "Número de escuela:";

cin >> stu_num;

}

cout<< "Ingrese su puntaje de matemáticas:";

cin>> stu_grade;

while (stu_grade< 0 || stu_grade>100)

{

cin.clear();

rewind(stdin);

cout << "Las calificaciones que ingresó están fuera de formato, vuelva a escribirlas las calificaciones percentiles" << endl;

cout << "Calificación:";

cin >> stu_grade;

}

cout<< " Ingrese la puntuación china: ";

cin>> stu_grade;

while (stu_grade<0 || stu_grade>100)

{

cin.clear();

rewind(stdin);

cout << "La puntuación que ingresó no cumple con el formato, vuelva a ingresar los cien puntos puntuación" << endl;

cout << "Calificación:";

cin >> stu_grade;

}

archivo1. open("c:\\stu .dat",ios::in|ios::binary|ios::begin);//Abre el archivo en modo lectura

while(!file1.eof( ))

{

int n;

file1.read((char *)&s1,sizeof(estudiante));

n=file1.gcount();

if(n==tamañode(estudiante))

{

if(s1.Getstunum()==stu_num )

banderas=1

}

}

archivo1.clear();

archivo1. close();

if (flags==1)

{

cin.cle

ar();

cout << "El número de estudiante está duplicado, ¡vuelva a ingresar!" << endl;

ir a entrada;

}

cout<< "Ingrese nombre:"; cin>>stu_name;

cout<< "Ingrese clase:"; cin>>nombre_clase;

cout< < " Ingrese al dormitorio: "; cin>> nombre_casa;

s1.Setdata(stu_nit)Setdata(stu_num,stu_grade,stu_name,class_name,house_name);

file3.write( (char* )&s1,sizeof(s1));

file3.clear();

file3.close();

break;

case '2'://buscar por stu_num

cout< ;< "Ingrese el número de estudiante del estudiante:";

cin>>stu_num;

while (stu_num<100000 || stu_num>999999)

{

cin.clear();

rebobinar(stdin);

cout << "El número de estudiante que ingresó es incorrecto, ingrese el número de estudiante de seis dígitos" << endl;

cout << "Número de estudiante:";

cin >> stu_num;

}

file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg );/ /abre el archivo como leído

while(!file1.eof())

{

int n;

file1.read ((char *)&s1,sizeof(estudiante));

n=file1.gcount();

if(n==sizeof(estudiante))

{

if(s1.Getstunum()==stu_ num) //mostrar información del estudiante

{

s1.Show() ;

flags=1;

}

}

archivo1.clear();

archivo1. close() ;

if (flags==0)

cout << "No busco registro de estudiante con número de estudiante: "<< stu_num <<"!" ;

flags=0;

break;

case '3'://buscar por número de dormitorio

cout<< " Por favor, introduzca el número de dormitorio:";

cin>> house_name;

file1.open(

"c:\\stu.dat",ios::in | ios::binary | ios::beg);//abre el archivo como leído

while(!file1.eof())

{

int n;

archivo1.read(( char *)&s1,sizeof(estudiante));

n=archivo1 .gcount();

if(n==tamañode(estudiante))

{

if(strcmp(s1. house_name)==0)

{

s1.Show();

banderas=1;

}

}

file1.clear();

file1.close();

if (flags==0)

cout << "Ningún estudiante registro encontrado para dormitorio:"<< house_name <<"!" << endl;

flags=0;

break;

case '4': //buscar por nombre

cout<< "Por favor ingrese el nombre del estudiante:";

cin>> stu_name;

file1.open("c:\ \stu.dat",ios::in | ios::binary | ios::beg);//abre el archivo como leído

while(!file1.eof())

{

int n;

file1.read(( char *)&s1,sizeof(estudiante));

n=file1.gcount() ;

if(n==tamañode(estudiante))

{

if(strcmp(s1.Getstuname(),stu_ nombre)==0)

{

s1.Show();

banderas=1;

}

}

file1.clear();

file1.close();

if (flags == 0)

cout << "No registro de estudiante encontrado para el nombre: "<< stu_name <<"!" << endl;

flags=0;

break;

case '5' ://buscar por clase

cout<< "Ingrese el nombre de la clase:";

cin>> nombre_clase;

file1.open("c: \\stu.dat",ios::in | ios::binary | ios::beg);//abre el archivo como leído

while(! file1.eof())

{

int n;

file1.read(( char *)&

s1,tamañode(estudiante));

n=file1.gcount();

if(n==tamañode(estudiante))

{

if(strcmp(s1.Getclassname(), class_name)==0)

{

s1.Show();

banderas =1;

}

}

}

archivo1.clear();

archivo1.cerrar ();

if (flags==0)

cout << "No se encontró ningún registro de estudiante para la clase como :"<< nombre_clase <<"!" ;

flags=0;

break;

case '6'://muestra toda la información del estudiante

file1.open( "c:\\stu.dat",ios::in | ios::binary);//abre el archivo como leído

while(!file1.eof())

{

int n;

file1.read((char *)&s1,sizeof(estudiante));

n=file1. gcount();