Red de conocimiento informático - Conocimiento del nombre de dominio - Primeros auxilios, tarea de programación en C!!

Primeros auxilios, tarea de programación en C!!

// 2.cpp: Define el punto de entrada de la aplicación de consola.

//

#include "stdafx.h"

# include lt;iostreamgt;

# include lt;fstreamgt;

# include lt; string.hgt;

#include lt; conio.hgt; //Utiliza getch(); >

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Clase de estudiante﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Clase de estudiante

{

público:

nombre de char[20];

ID de char[20];

int Cnum;

int Mnum; //Puntuación del curso de matemáticas

int Enum; //Puntuación del curso de inglés

int sum; //Puntuación total

Estudiante * Siguiente ;

void Input()

{

coutlt;lt;"\t\tPor favor ingrese el nombre del estudiante:"; /p>

coutlt;lt;"\t\tPor favor ingrese el número de estudiante del estudiante: "; cingt;gt;Id;

coutlt;lt;"\t\tPor favor ingrese C La calificación de el curso: "; cingt; gt; Cnum;

coutlt; lt; "\t\t Por favor ingrese la calificación del curso de matemáticas: "; cingt; gt; Mnum;

cout<

void ReadFile(istream amp; in)

{

ingt;gt;namegt;gt;Idgt;gt;Cnumgt;gt;Mnumgt;gt;Enumgt ;gt;sum ;

}

void Show()

{

coutlt;lt;"Nombre:"lt;lt ;namelt;lt ;endllt;lt;"Número de estudiante:"lt;lt;Idlt;lt;endllt;lt;"C:"lt;lt;Cnumlt;lt;endl

lt;lt; "Matemáticas:" lt; lt; endllt; "Puntuación total: "lt; /p>

};

//﹌﹌﹌﹌﹌﹌﹌﹌Clase de masaje para estudiantes﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

clase de masaje para estudiantes

{

público:

Masaje Estudiantil();

~Masaje Estudiantil();

void ShowMenu();

void Buscar();

void Guardar();

;

void ModifyItem();

void RemoveItem();

void Swap(Estudiante *, Estudiante *); ordenar();

//void Unpass();

int ListCount()

//void Average(); > void Display()

{

for(Estudiante * p=Head-gt; Siguiente; p!=Fin; p=p-gt; Siguiente)

p-gt; Mostrar();

coutlt; "¡Ingrese cualquier carácter! Continuar..."; }

void AddItem()

{

Fin-gt; Entrada();

Fin-gt; ;

End=End-gt;Siguiente;

coutlt;lt;"¡Agregado exitosamente!"lt;lt;endl;

coutlt;lt;" Ingrese cualquier carácter. Continuar...";

getch();

}

privado:

Estudiante * Jefe, * Fin;

ifstream in;

ofstream out;

Estudiante *FindItem(char * nombre)

{

for(Student * p=Head; p-gt; Next!=End; p=p-gt; Next)// Si la coincidencia es exitosa, se devolverá el puntero anterior; de lo contrario, se devolverá vacío

if(! strcmp(p-gt; Next-gt; nombre, nombre)) return p;

return NULL

}

Estudiante *FindID(char *Id )

{

for(Estudiante * p=Cabeza; p-gt; Siguiente!=Fin; p=p-gt; Siguiente)// Si la coincidencia es exitosa, se devuelve el puntero anterior; si no, devuelve NULL

if(!strcmp(p-gt; Next-gt; Id, Id)) return

return NULL;

}

};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Constructor﹌﹌﹌﹌﹌ ﹌﹌﹌﹌﹌﹌﹌

Masaje estudiantil::Masaje estudiantil()

{

Jefe=nuevo estudiante;

Jefe-gt ;Siguiente=nuevo estudiante;

End=Head-gt;Siguiente;

in.open("sort.txt");

if(!in )

coutlt;lt ;"Este es un sistema nuevo y no hay información del estudiante. Por favor ingresa primero.

"lt;lt;endl;

else

{

while(!in.eof())

{

Fin-gt; ReadFile(in);

if(End-gt; nombre[0]=='\0')break

Fin-gt; Siguiente=nuevo estudiante;

End=End-gt;Siguiente;

}

in.close();

coutlt; lt;\t\tLeer la información del estudiante exitosamente!lt;

}

}

//﹌﹌﹌﹌﹌ ﹌﹌ ﹌﹌﹌﹌﹌Destructor﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Masaje de estudiante::~Masaje de estudiante()

{

Guardar() ;

for(Estudiante * temp; Head-gt; Next!=Fin;)

{

temp=Head-gt;Siguiente ;

Cabeza-gt; Siguiente=Cabeza-gt; Siguiente-gt; Siguiente;

eliminar temp

}

eliminar cabeza, fin;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Menú﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage ::ShowMenu()

{

coutlt;lt;"〓〓〓〓〓〓〓〓〓〓 ☆ Sistema de gestión de puntuación de estudiantes☆ 〓〓〓〓 〓〓〓〓〓 〓"lt;lt;endl;

coutlt;lt;"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓 〓〓〓〓〓 〓"lt;lt;endl;

coutlt;lt;"〓〓〓〓〓〓〓〓〓★ ☆ 1. Incrementar el rendimiento de los estudiantes☆ ★〓〓〓〓〓〓〓 〓〓"lt; lt;endl;

coutlt;lt;"〓〓〓〓〓〓〓〓〓★ ☆ 2. Mostrar puntuaciones de los estudiantes☆ ★〓〓〓〓〓〓〓〓〓"lt ;lt;endl;

coutlt;lt;"〓〓〓〓〓〓〓〓〓★ ☆ 3. Ordenar resultados estadísticos☆ ★〓〓〓〓〓〓〓〓〓"lt;lt;endl ;

coutlt;lt;"〓〓〓〓〓〓〓〓〓★ ☆ 4. Encuentra las calificaciones de los estudiantes☆ ★〓〓〓〓〓〓〓〓〓"lt;lt;endl;

coutlt ;lt;"〓〓〓〓〓〓〓〓〓★ ☆ 5. Eliminar puntuaciones de estudiantes☆ ★〓〓〓〓〓〓〓〓〓"lt;lt;endl;

coutlt;lt;" 〓〓〓〓〓〓〓〓〓★ ☆ 6. Modificar información del estudiante☆ ★〓〓〓〓〓〓〓〓〓"lt;lt;endl;

coutlt;lt; "〓〓〓〓 〓〓〓〓〓★ ☆ 0. Salga del sistema de forma segura

☆ ★〓〓〓〓〓〓〓〓〓"lt;lt;endl;

coutlt;lt;"\n\t\t\n\t\tPor favor seleccione: ";

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Función de búsqueda﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage: :Buscar ()

{

nombre de char[20], Id[10]

int x

Estudiante * p =NULL; ;

coutlt;lt;"\n\t\t********************************* *** ****\n";

coutlt;lt;"\t\t※ 1. Buscar por nombre del estudiante\n\t\t※ 2. Buscar por número de estudiante";

p>

coutlt;lt;"\n\t\t********************************* *****\ nPor favor seleccione: ";

cingt;gt;x;

switch(x)

{

caso 1: {coutlt ;lt;"\t\tIngrese el nombre del estudiante que desea encontrar: ";cingt;gt;name;

if(p=FindItem(name))

{

p-gt;Next-gt;Show();

coutlt;lt;"¡Ingresa cualquier carácter! Continuar...";

getch();

}

else

{

coutlt; lt ;"\t\t¡No se encontró ningún estudiante con este nombre! "lt;lt;'\n'lt;lt;endl;

coutlt;lt;"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}break;

caso 2:

{

coutlt;lt;"\t\tPor favor ingrese el número de identificación del estudiante que desea encontrar: ";cingt;gt;Id;

if(p =FindID(Id ))

{

p-gt;Next-gt;Show();

coutlt;lt;"¡Ingresa cualquier carácter! Continuar...";

getch();

}

else

{

coutlt; lt ;"\t\t¡El estudiante que debería aprender bien no fue encontrado! "lt;lt;'\n'lt;lt;endl;

coutlt;lt;"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}romper;

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Modificar información﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage::ModifyItem() / / Modificar información

{

char name[20];

Estudiante * p=NULL;

coutlt;lt;"\ t \tPor favor ingrese el nombre de la persona que desea modificar: ";cingt;gt;nombre;

if(p=F

indItem(nombre))

{

coutlt;lt;"\t\tSe ha encontrado la información del estudiante, ¡ingrese nueva información!"lt;lt;endl;

p-gt;Next-gt;Input();

coutlt;lt;"¡Modificación exitosa!"lt;lt;endl;

coutlt;lt; ¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

coutlt;lt;"\t\t¡No encontrado!"lt;lt;endl;

coutlt;lt;"¡Ingrese cualquier carácter! Continuar...";

getch ();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Eliminar información﹌﹌﹌﹌﹌﹌﹌﹌ ﹌﹌﹌﹌

void Studentmassage::RemoveItem() // Eliminar información

{

char name[20];

Estudiante * p=NULL, *temp=NULL;

coutlt;lt;"\t\tPor favor ingrese el nombre del estudiante que desea eliminar:"lt;lt;endl;cingt;gt;name;

if(p=FindItem(nombre))

{

temp=p-gt;Siguiente;

p-gt; Siguiente =p-gt;Siguiente-gt;Siguiente;

eliminar temp;

coutlt;lt;"\t\tEliminar correctamente!"lt;lt;endl;

coutlt;lt;"¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

coutlt;lt;"\t\t¡No encontrado!"lt;lt;endl;

coutlt;lt;"¡Ingresa cualquier carácter! Continuar..."

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ ﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage::Swap(Student *p1, Student *p2)//Intercambia los campos de datos de dos variables combox

{< / p>

Estudiante *temp=nuevo Estudiante

strcpy(temp-gt; nombre, p1-gt; nombre

strcpy(temp-gt; Id, p1); -gt; id);

temp-gt; Cnum=p1-gt;

temp-gt; > temp-gt; enumeración = p1-gt; enumeración;

temp-gt; suma=p1-gt; suma

strcpy(p1-gt; nombre, p2-gt; ; nombre);

strcpy(p1-gt; Id., p2-gt; Id.

p1-gt; Cnum=p2-gt; p>p1-gt;Mnum=p2-gt;

p1

-gt; enumeración=p2-gt; enumeración;

p1-gt; suma=p2-gt; suma

strcpy(p2-gt; nombre, temp-gt; nombre

strcpy(p2-gt; Id, temp-gt; Id

p2-gt; Cnum=temp-gt; p2-gt;Mnum=temp-gt;Mnum;

p2-gt;Enum=temp-gt;Enum;

p2-gt;sum=temp-gt;sum;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

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

{

if(! Head)

return 0;

int n=0;

for(Estudiante * p=Head-gt; Siguiente; p!=Fin; p=p-gt; Siguiente)

{

n;

}

devolver n

}

//﹌﹌﹌﹌﹌ ﹌﹌ ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage::Sort()//Ordenar la lista vinculada actual

{

cout lt; "Clasificando..." lt; endl

Estudiante *p=NULL, *p1=NULL, *k =NULL; > int n=MasajeEstudiante::ListCount();

if(nlt;2)

return;

for(p=Head-gt;Next; p !=Fin;p=p-gt;Siguiente)

for(k=p-gt;Siguiente;k!=Fin;k=k-gt;Siguiente)

{

if(p-gt;sumgt;k-gt;sum)

{

Masaje estudiantil::Swap(p,k);

}

}

cout lt; "Clasificación completada" lt;

getch(); >

return;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Función de guardado﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void Studentmassage::Save()

{

out.open("sort.txt");

for(Estudiante *p =Encabezado-gt;Siguiente;p!=End;p=p-gt;Siguiente)

outlt;lt;p-gt;namelt;lt;"\t"lt;lt;p-gt ;Idlt;lt;"\t"lt;lt;p-gt;Cnumlt;lt;"\t"

lt;lt;p-gt;Mnumlt;lt;"\t"lt; lt;p-gt;Enumlt;lt;"\t"lt;lt;p-gt;sumlt;lt;'\n';

out.close();

p>

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ función principal﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int main ( )

{

int x, i=0;

bool quit=false

coutlt "\t \ t§§§§§§§§§§§§§§§§§§§§§§§§§"lt;lt;endl;

for(i=0;ilt; 3 ; i )

coutlt;lt;"\t\t◎\t\t\t\t\t\t ◎"lt;lt;endl;

coutlt; ;"\t\t◎★★★★ Bienvenido al sistema de gestión del desempeño estudiantil★★★★◎"lt;lt;endl;

for(i=0;ilt;3;i)

coutlt;lt;"\t\t◎\t\t\t\t\t\t ◎"lt;lt;endl;

coutlt;lt;"\t \t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"lt;lt;endl;;

Calificación de masaje estudiantil; p>

coutlt;lt;"Presiona cualquier tecla para comenzar...";

getch();

while(!quit)

{

system("cls");

Grado.ShowMenu()

cingt; switch(x)

{

caso 0: quit=true;

caso 1: Grade.AddItem();

caso 2: Grade.Display(); break;

caso 3: Grade.Sort(); caso 4: Grade.Find();

caso 5: Grade.RemoveItem(); descanso;

caso 6: Grade.ModifyItem(); > }

p>

return 0;

}

//Puedes usarlo con cualquier modificación, no es original