Red de conocimiento informático - Conocimiento informático - Programación en c++ del sistema de gestión del desempeño estudiantil

Programación en c++ del sistema de gestión del desempeño estudiantil

¿Estás pidiendo demasiadas funciones?

#include

#include

#include

usando el espacio de nombres std;

struct Stu_score{

int num;

int mark[3];

nombre de cadena;

Stu_score*next ;

float aver; //Promedio de tres clases de las tres clases

};

//definir la clase de Estudiante

clase Estudiante{

privado:

Stu_score*head;

void Swap(Stu_score*,Stu_score*); //Swap(Stu_score*); /Swap(Stu_score*); //Intercambia los campos de datos de dos objetos Stu_score

void Print(Stu_score*); //Muestra el registro especificado

Stu_score*Find(int) ; //Busca el registro con el número de estudiante especificado y devuelve un puntero al registro

public:

Student(){head=NULL;}

Stu_score*get_head(){return head;}

int ListCount(); //Calcula el número total de registros en la lista vinculada actual y devuelve un número entero

void AddItem(int num, nombre de cadena,int mark[3]);//agregar un registro a

void RemoveItem(int);

void List();

void Sort_by_num( );

void Sort_by_aver();

void Search(int);

int Promedio();

} ;

p>

int Student::ListCount(){

if(!head)return 0;

Stu_score*p=head;

int n=0;

while(p){

n++;

p=p->siguiente;

}

return n;

}

void Student::AddItem(int num, string name,int mark[3]){

si(! cabeza){

cabeza=new Stu_score;

for(int i=0;i<3;i++)

cabeza->marca[i]= marca[i];

cabeza->num=num

cabeza->nombre=nombre;

cabeza->siguiente=NULL;

return;

}

Stu_score*t=head;

mientras (t&&t

->numero! =num)

t=t->next;

if(t){

cout<< "Operación fallida: registro con número de estudiante "<< num<<"¡ya existe!" <

}

Stu_score*p=head;

while(p->next)p=p ->siguiente;

Stu_score*p1=nuevo Stu_score;

p1->.num=num;

for(int i=0;i<3 ;i++)

p1->marca[i]=marca[i];

p1->nombre=nombre;

p1->siguiente=NULL ;

p-> next=p1;

return;

}

void Estudiante::RemoveItem(int num){

Stu_score*t=Buscar(num);

if(!t)return;

Stu_ Score*p=cabeza;

if(head==t){

head=head->next;

eliminar p;

cout<< "Eliminando exitosamente el registro con el estudiante numero "<

return;

}

while(p->siguiente!=t )p=p->siguiente;

Stu_score*p1=p->siguiente;

p->siguiente=p1->siguiente;

eliminar p1 ;

cout<< "El registro con el número de estudiante "<

Regresar;

}

void Student::Print(Stu_score*p){

cout.precision(3);

cout<< p->num< < "\t\t";

cout<nombre<<"\t\t";

cout<marca[0]<< ; "\t"<marca[1]<<"\t"<marca[1]<<"\t"<aver<

return;

}

void Estudiante::List(){

if(ListCount==0){

cout < < "Error: ¡la lista actual está vacía! " <

Regresar;

}

Stu_score*p=head;

cout<<< "*** Hay un registro:"<

cout << "Número de escuela\t\t Nombre\t\tInglés\t \tmath \themistry\t\puntaje promedio"<<endl;

while(p){

Print(p);

p=p- >siguiente ;

}

cout<< endl;

return;

}

void Estudiante: :Buscar (int num){

cout<< "Buscando...." <

Stu_score*p=Buscar(num);

if (p){

cout<<< "Número de estudiante\t Nombre\t Inglés\t Matemáticas\t Química\t Puntuación promedio"<

Imprimir (p );

}

cout<

}

Stu_score *Estudiante::Buscar(int num ){

if(ListCount()==0){

cout<< "Error: ¡La lista actual está vacía!" <

Devuelve NULL

}

Stu_score*p=head;

while(p){

if(p->num= =num) romper;

p=p->siguiente

}

if(! p){

cout<< "Error: ¡registro no encontrado! \n";

return NULL;

}

return p;

}

void Estudiante::Intercambiar(Stu_score *p1,Stu_score *p2){

int i;

Stu_ Score*temp=new Stu_score;

temp- >num=p1->num;

p1->num=p2->num;

p2->num=temp->num;

for (i=0; i<3;i++)

temp->marca[i]=p1->marca[i];

for(i=0; i<3 ;i++)

p1->mark[i]=p2->.mark[i];student.AddItem(num,name,mark);

}

estudiante.Promedio();

iofile.close();

iofile.close()close();

}

}

}

void SaveToFile(){

Stu_score*p;

nombre de carácter[20] ;<

p> fstream iofile;

int i=0;

iofile.open("stud.dat",ios::out|ios::binary);

if(!iofile) {

cerr<< "¡error de apertura!"<

abortar();

}

p=student.get_head();

while(p)

{

p->nombre.write((char*)&p- >. marca[1],tamañode(int));

iofile.write((char*)&p->marca[2],tamañode(int));

p =p->siguiente;

}

iofile.close();

iofile.close()

iofile.close(); ();

iofile.close()close();

}

int main(){

cout<< " ¡Bienvenido!\n Sistema de gestión de calificaciones de estudiantes\nVer 1.01\n\n";

int select;

char s;

while(1){

seleccionar=Menú();

cambiar(seleccionar){

caso 0:

s=Salir();

if(s=='y'||s=='Y')return 0;

descanso;

caso 1:

AddNew();

ruptura;

caso 2:

Sort_by_num();

ruptura;

caso 3:

DoFind();

romper

caso 4:

DoDelete(); > ruptura;

caso 5:

Lista();

ruptura;

caso 6:

ShowAverage();

ruptura;

caso 7:

Loadfromfile();

ruptura;

caso 8:

SaveToFile();

break;

predeterminado:

cout<< "¡Entrada no válida! " <

}

}

Devuelve 0;

}