Red de conocimiento del abogados - Ley de patentes - Buscando respuestas a la programación en lenguaje C

Buscando respuestas a la programación en lenguaje C

#include

#include

#include

#include

//Usa getch();

usando

namespace

std;

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

clase

Estudiante

{

público:

char

nombre[20];

char

Clase[20];

char

Id[20];

int

Cnum;

//Puntuación del curso C

int

Mnum;

//Puntuación del curso de Matemáticas

int

Enum;

//Puntuación del curso de inglés

int

Gnum;

// Deportes

int

suma;

//Puntuación total

int

ave;

//Puntuación media

Estudiante

*

Siguiente;

void

Entrada()

{

cout<<"\t\tPor favor ingrese el nombre del estudiante: ";

cin>>nombre;

cout< <"\t\tPor favor ingrese la clase del estudiante:";

cin>>Clase;

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

cin>>Id;

cout<<"\t\tIngrese la puntuación de C++: ";

cin>>Cnum;

cout<<"\t\tPor favor ingrese las calificaciones del curso de matemáticas:";

cin>>Mnum;

cout<<"\t\t Por favor ingrese las calificaciones para el curso de inglés: ";

cin>>Enum;

cout<<"\t\tIngrese las calificaciones para el curso de japonés: ";

cin>>Gnum;

sum=Cnum+Mnum+Enum+Gnum;

ave=(Cnum+Mnum+Enum+Gnum)/4;

}

void

ReadFile(istream

&

in)

{

in>>nombre>>Clase>>Id>>Cnum>>Mnum>>Enum>>Gnum>>ave>>suma;

}

void

Mostrar()

{

cout<<"Nombre:"<

;Cnum<

<<"Matemáticas:"<

}

};

p>

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Clase de masaje estudiantil﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

clase

Masaje estudiantil

{

público:

Masaje estudiantil();

~Masaje estudiantil();

nulo

MostrarMenú();

void

Buscar();

void

Guardar();

void

ModifyItem();

void

RemoveItem();

void

Intercambiar (Estudiante

*,Estudiante

*);

void

Ordenar();

int

ListCount();

void

Display()

{

for(Estudiante

*

p=Head->Siguiente;p!=End;p=p->Siguiente)

p->Mostrar();

cout< <"¡Ingrese cualquier carácter! Continuar...";

getch();

}

void

AddItem ()

{

Fin->Entrada();

Fin->Siguiente=nuevo

Estudiante;

Fin =Fin->Siguiente;

cout<<"¡Agregado exitosamente!"<

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

privado:

Estudiante

*

Cabeza,*

Fin;

ifstream

entrada;

ofstream

salida;

Estudiante

*FindItem(char

*

nombre)

{

para( Estudiante

*

p=Head;p->Siguiente!=End;p=p->Siguiente)

if(!strcmp(p-> Siguiente->nombre, nombre))return

p;

return

NULL;

}

Estudiante

*FindID(char

*

Id)

{

para(Estudiante

*

p=Cabeza;p->Siguiente!=Fin;p=

p->Siguiente)

if(!strcmp(p->Siguiente->Id,Id))return

p;

return

NULL;

}

Estudiante

*FindCLASS(char

*

Clase)

{

for(Estudiante

*

p=Cabeza;p->Siguiente!=Fin;p=p->Siguiente )

if(!strcmp(p->Siguiente->Clase,Clase))return

p;

return

NULL ;

}

}Grado;

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

Masaje de estudiante::Masaje de estudiante()

{

Cabeza=nuevo

Estudiante;

Encabezado->Siguiente=nuevo

Estudiante;

End=Encabezado->Siguiente;

in.open("sort.txt");

p>

if(!in)

cout<<"Este es un sistema nuevo y no hay información del estudiante. Introdúzcala primero.

"<

else

{

mientras(!in.eof())

{

Fin->ReadFile(in);

if(Fin->nombre[0]=='\0')break;

Fin->Siguiente=nuevo p>

Estudiante;

Fin=Fin->Siguiente;

}

in.close();

cout <<"\t\t¡Lea la información del estudiante exitosamente!"<

}

}

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

Masaje para estudiantes::~Masaje para estudiantes()

{

Guardar () ;

for(Estudiante

*

temp;Cabeza->Siguiente!=Fin;)

{

temp=Cabeza->Siguiente;

Cabeza->Siguiente=Cabeza->Siguiente->Siguiente;

eliminar

temp;

p>

}

eliminar

Encabezado,Fin;

}

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

void

Masaje para estudiantes::MostrarMenú()

{

cout<<"〓〓〓〓〓〓〓〓〓〓

Rendimiento

Gestión

Gestión

Sistema

Sistema

〓〓〓〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓〓〓〓★★★★★

★ ★★★★★★

★★★★★〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓〓〓〓〓〓 ★

1. Incrementar el rendimiento de los estudiantes

★〓〓〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓〓〓〓〓★

2. Mostrar puntuaciones de los estudiantes

★〓〓〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓〓〓〓〓〓★

3. Ordenar resultados estadísticos

★〓〓〓〓〓〓〓〓〓"<

cout <<"〓〓〓〓〓〓〓〓〓★

4. Encuentra las puntuaciones de los estudiantes

★ 〓 〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓〓〓〓〓〓★

5. Eliminar puntuaciones de estudiantes

★〓〓〓〓〓〓〓〓〓"<

cout<<"〓〓〓〓 〓〓 〓〓〓★

6. Modificar la información del estudiante

★〓〓〓〓〓〓〓〓 〓" <

cout<<"〓〓〓〓〓〓〓〓★★

0. Salga del sistema de forma segura

p>

★〓〓〓〓〓〓〓〓〓"<

cout<<"\n\t\t\n\t\ tSeleccione: ";

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Buscar función﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Masaje para estudiantes::Buscar()

{

char

nombre[20]

,Id[10],Clase[20];

int

x;

Estudiante

*

p=NULL;

cout<<"\n\t\t************************ ** *******\n";

cout<<"\t\t※

1 Buscar por nombre del estudiante\n\t\t※

2. Buscar por número de estudiante\n\t\t※

3. Buscar por clase de estudiante";

cout<<"\n\ t\t*. ***********************************\nPor favor seleccione: ";

cin> >x;

cambiar(x)

{

caso

1:{cout<<"\t\t Por favor ingrese el nombre del estudiante que desea encontrar: ";cin>>name;

if(p=FindItem(name))

{

p- > Siguiente->Mostrar();

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

cout< < "\t\t¡No se encontró ningún estudiante con ese nombre! "<<'\n'<

cout<<"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}romper;

caso

2 :

{

cout<<"\t\tPor favor ingrese el número de identificación del estudiante que está buscando: ";cin>>Id;

if( p=FindID(Id))

{

p->Siguiente->Mostrar();

cout<<"Ingrese cualquier carácter ! Continuar...";

getch();

}

else

{

cout< < "\t\t¡No se encontró ningún estudiante con este número de estudiante! "<<'\n'<

cout<<"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}romper;

caso

3 :{cout<<"\t\tPor favor ingrese la clase del estudiante que desea encontrar: ";cin>>Clase;

if(p=FindCLASS(Class))

{

p->Siguiente->Mostrar();

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

cout< < "\t\t¡No se encontraron estudiantes en esta clase! "<<'\n'<

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

}break;

}

}

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

void

Studentmassage::ModifyItem()

//Modificar información

{

char

ID[20];

Estudiante

*

p=NULL;

cout<<"\t\tPor favor ingrese El ID de estudiante de la persona a modificar: ";cin>>ID;

if(p=FindID(ID))

{

cout< <" \t\tSe ha encontrado información del estudiante, ¡ingrese nueva información!"<

p->Siguiente->Input();

cout<<"Modificar ¡Éxito! "<

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

cout<<"\t\t¡No encontrado!"<

cout<<"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}

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

void

Studentmassage::RemoveItem()

//

Eliminar información

{

char

ID[20];

Estudiante

*

p=NULL,*temp=NULL;

cout<<"\t\tIngrese el ID del estudiante que desea eliminar:";cin>>ID;

p>

if(p=FindID(ID))

{

temp=p->Siguiente;

p-> Siguiente=p- >Siguiente->Siguiente;

eliminar

temp;

cout<<"\t\t¡Eliminar correctamente!"<

cout<<"¡Ingrese cualquier carácter! Continuar...";

getch();

}

else

{

cout<<"\t\t¡No encontrado!"<

cout<<"¡Ingresa cualquier carácter! Continuar...";

getch();

}

}

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

void

Masaje de estudiante::Intercambio(Estudiante

*p1,

Estudiante

*p2)

{

Estudiante

*temp=new

Estudiante;

strcpy(temp->nombre,p1->nombre);

strcpy(temp->Id,p1->Id);

temp-> Cnum=p1->Cnum;

temp->Mnum=p1->Mnum;

temp->Enum=p1->Enum;

temp->sum=p1->suma;

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

strcpy(p1->Id,p2->Id);

p1->Cnum=p2->Cnum ;

p1->Mnum=p2->Mnum;

p1->Enum=p2->Enum;

p1->suma=p2-> suma;

strcpy(p2->nombre,temp->nombre);

strcpy(p2->Id,temp->Id);

p2 ->Cnum=temp->Cnum;

p2->Mnum=temp->Mnum;

p2->Enum=temp->Enum;

p2->suma=temp->suma;

}

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

int

Studentmassage::ListCount()//Cuenta el número total actual de registros

{

if(!

Cabeza)

return

0;

int

n=0;

para (Estudiante

*

p=Head->Siguiente;p!=End;p=p->Siguiente)

{

n++;

}

regresar

n;

}

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

void

Studentmassage::Sort()//Ordenar los estudiantes actuales

{

cout

<<"Clasificación..."<

Estudiante

*p= NULL, *p1=NULL,*k=NULL;

int

n=MasajeEstudiante::ListCount();

if(n<2)

return;

for(p=Head->Siguiente;p!=End;p=p->Siguiente)

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

{

if(p->suma>k->suma)

{

Masaje estudiantil::Swap(p,k);

}

}

cout

<<" Clasificación completada ! "<

getch();

return;

}

//﹌﹌﹌﹌﹌﹌﹌﹌ ﹌﹌﹌Función de guardar﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Masaje para estudiantes::Guardar()

{

out.open("sort.txt");

for(Estudiante

*p=Head->Next;p!=End;p=p-> norte

text)

salida<nombre<<"\t"<Clase<<"\t"<Id<<"\t"

<Cnum<<"\t"<Mnum<<"\t"<Enum<<"\t"<Gnum<<"\t "<ave<<"\t"<suma<<'\n';

out.close();

}

void

código()

//Contraseña

{

char

s1[ 20]="123",s2[20];

cout<<"Por favor, introduzca la contraseña:";

while(cin>>s2)

{

if(!strcmp(s1,s2))

{

Grade.ModifyItem();break;

}

else

cout<<"La contraseña que ingresó es incorrecta, vuelva a ingresarla:";

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Función principal﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int

main()

{

int

x,i=0;

bool

quit=false;

p>

cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§"<

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

cout<<"\t\t◎\t\t\t\t\t\t

◎" <

cout<<"\t\t◎★★★★

Bienvenido al sistema de gestión del desempeño estudiantil

★ ★★★◎" <

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

cout<<"\t\t◎\t\t\t \t\t\ t

◎"<

cout<<"\t\t§§§§§§§§§§§§§§§§ §§§§§ §§§§§\n"<

cout<<"Por favor presione cualquier tecla para comenzar...";

getch() ;

mientras(!quit)

{

sistema("cls");

Calificación.ShowMenu();

cin> >x;

interruptor(x)

{

caso

0:cout<<" ★★★★Gracias Utilice ★★★★"<

caso

1:Grade.AddItem();break;

caso

2:Grade.Display();romper;

caso

3:Grade.Sort();romper;

caso

4:Grade.Find();romper;

caso

5:Grade.RemoveItem();romper;

caso

6:code();romper;

}

}

return

0;

}

Lo cambié un poco y debería funcionar~

Um~~ ¿Tienes que escribir en C~? ¿No se puede usar C++?