Diseño del curso de examen final, usando lenguaje C, los siguientes son los requisitos generales, ¡también hice el menú!
# include & ltiostream & gt
# include & ltfstream & gt
# include & ltstring& gt//Archivo de encabezado de cadena de control
Usar el espacio de nombres std
Class Student //Crear un registro de compañero de clase para una clase.
{
//Contacto principal
Público:
char nombre[20];
int num
int age
Sexo encantador;
Doble en;
Doble caballo;
Doble com p>
Doble avenida
Estudiante * siguiente
Estudiante * stu
Estudiante(); //Constructor
Vacío display()
{
cout & lt& lt"Nombre:"
}
Estudiante(char n[ 20], int nu, int ag, char se, doble e, doble m, doble c, doble av
~ estudiante()
void Set();/ /Agregar p>
void Delete(); //Eliminar
void Alter(); //Modificar
void List() //Mostrar
void aver();
void s search();//consulta
//void rear CHN();
//void rear chnu() ;
void stat xis(); //Ordenar
void ssave(); //Guardar
void sload() // Leer
//Función de clasificación
void pnumb();
void Peng();
void pmat();
void pcomp();
Amigo Void Caozuo(int);
//void pAA();
};
void estudiante::aver()
{
Doble z;
z = en+ma+com;
ave = z /3;
}
Estudiante::estudiante()//Constructor
{
strcpy (nombre, "nomame") ;
num = 0;
sexo = ' M
edad = 0;
doble en = 0;
doble ma = 0;
doble com = 0;
doble ave = 0;
}
estudiante:: estudiante (char n[20], int nu, int ag, char se, doble e, doble m, doble c, doble av)
{
strcpy(nombre, n) ;
num = nu
Género = se
Edad = ag
en = e;
ma = m;
com = c;
ave = av
}
Estudiante::~ estudiante(){ };
Estudiante * s[50];
int I = 0;
int j = 0;
//nombre de char[20 ];
//int num;
//int age;
//char sex;
//double en;
//double ma;
//double com;
void estudiante::Set()
{
cout &
lt& lt"Ingrese un nombre:"
CIN & gt;& gtName;
cout & lt& lt"Ingrese su número de estudiante:"
CIN & gt; & gtnum
cout & lt& lt"Por favor, ingresa tu edad:"
CIN & gt;& gtAge;
cout & lt& lt "Por favor ingresa tu género:"
CIN & gt;& gtgender;
cout & lt& lt"Ingresa tu puntuación en inglés:"
CIN & gt;& gt;
cout & lt& lt"Ingrese su puntaje de matemáticas:"
CIN & gt;& gt马;
cout & lt& lt"Ingrese la puntuación de la computadora:"
CIN>& gtcom
j++;
s[I]=nuevo estudiante (nombre, número, edad, sexo, es, ma, com, ave);
i++;
}
Estudiante nulo:: Eliminar() //(2) Eliminar una persona (Eliminar)
{
cout & lt& lt"Ingrese el nombre del estudiante que desea eliminar:"
CIN & gt;& gtName;
p>
for(int h = 0;h<h++)
{
if(strcmp(nombre,s[h]->nombre) = =0)
{
I-;
s[h]= s[h+1];
h++; /p>
}
else cout & lt& lt"¡El objeto que solicitó eliminar no existe! ¡Compruebe que la entrada sea correcta!"; p>
}
Nulo estudiante::Alter() //(3) Modificar datos (Alter)
{
cout & lt& lt" Por favor ingrese el nombre del estudiante que desea modificar: "
CIN>>Name;
for(int h = 0;h<I;h++)
{ p>
if(strcmp(nombre, s[h]-& gt; nombre)==0)
{
int nu
int ag
char se
Doble e
Doble m
Doble c
cout & lt&; lt"Ingrese su ID de estudiante:"
CIN & gt;& gtnu;
cout & lt& lt"Ingrese su edad:"
CIN & gt; & gtse;
cout & lt& lt"Ingrese el género:"
CIN & gt; & gt;& gte;
cout & lt& lt"Ingrese su puntuación de matemáticas:"
CIN & gt;& gtm;
cout & lt& lt "Ingrese la puntuación de la computadora:"
CIN & gt;& gtc;
s[h ]-& gt; ]-& gt; edad = ag
s[h]-& gt; género = se
s[h]->en = e;
s[h]->ma = m;
s[h]->com = c ;
cout & lt& lt" los datos se modifican a
¡logro! ";
Romper;
}
Si (i == j)
{
cout & lt& lt"¡Lo siento! ¡El estudiante que deseas consultar no existe! "& lt& ltendl
Break;
}
//else cout & lt;& lt"¡El estudiante que desea modificar no existe! ¡Por favor revisa y vuelve a ingresar! ”& lt& ltendl
}
}
Nulo estudiante::List() //(4) Mostrar registros (lista)
{
cout & lt& lt"Los datos de todas las libretas de direcciones de este sistema son los siguientes:"
Si (i==0)
cout & lt& lt "¡No se han ingresado datos en el sistema de gestión o los datos han sido eliminados! "& lt& ltendl
for(int k = 0; k & lt i; k++)
{
//cout & lt;& lt" nombre :"
//cout<<"Nombre:"
s[k]->display();
}
p>}
//void estudiante::RearchN()
//{
//if(i==0) p>
//cout <<"¡No hay datos de entrada en el sistema de gestión o los datos han sido eliminados! "& lt& ltendl
//cout & lt;& lt"Ingrese el nombre del estudiante que desea consultar"
//CIN & gt;& gtName; p>
//for(int j = 0;j<i;j++)
//{
//if(strcmp(nombre,s[j]-& gt ;name)==0)
//{
//cout & lt;& lt"El estudiante que desea consultar es:"
/ /cout <<"ID de estudiante:"
//break;
//}
//De lo contrario
// cout <<"¡Lo siento! ¡El estudiante que deseas consultar no existe! "& lt& ltendl
//if (i == j)
//{
//cout & lt;& lt"¡Lo siento! ¡El estudiante que deseas consultar no existe! ”& lt& ltendl
//}
//}
//}
//void estudiante::RearchNU()
//{
//int n;
// if(i==0)
//cout & lt ;<"¡No hay datos de entrada en el sistema de gestión! "& lt& ltendl
//cout & lt;& lt"Ingrese el número de estudiante del estudiante que desea consultar"
//CIN & gt;& gtn;< /p >
//for(int j = 0;j<i;j++)
// {
//if(s[j]-> cantidad == n)
// {
//cout & lt;& lt"El estudiante que desea consultar es:"
//cout & lt ; & lt"Edad:"
//& lt;& lt" " " & lt& lt"Puntuación de Matemáticas:"
//descanso;
/ / }
//else cout & lt;& lt "¡Lo siento! ¡El estudiante que deseas consultar no existe!"& lt& ltendl
//}
//si (yo
== j)
//{
//cout & lt;& lt"¡Lo siento! ¡El estudiante que deseas consultar no existe!"& lt& ltendl
// }
//}
Estudiante anulado::ssearch()//Consulta
{
// system( " cls ");
cout & lt& lt" \n**Consulta información del estudiante* * \n " & lt& ltendl
cout & lt& lt"Por favor ingrese la consulta método:"
cout & lt& lt"1. Buscar por número de estudiante"
cout & lt& lt"2. lt"3 .Return "
char c;
CIN & gt; & gtc;
Interruptor (c)
{
Caso "1":
{ int n;
if (i==0)
{
cout & lt& lt"¡No se ingresaron datos en el sistema de gestión!"& lt& ltendlExit(0);
}
cout & lt& lt"Por favor ingrese el número de estudiante del estudiante desea consultar"
CIN>>n;
for(int j = 0;j<j++)
{
if (s[j]-& gt; cantidad==n)
{
cout & lt& lt"El estudiante que desea consultar es:"
cout & lt& lt"Edad:"
Descanso;
}
//else cout & lt;& lt"¡Lo siento! El estudiante que deseas consultar no existe "& lt& ltendl
}
Si (i == j)
{
cout & lt& lt" ¡Lo siento! ¡El estudiante que desea consultar no existe!"& lt& ltendl
}
Pausa;
}
Caso " 2":
{ if(i==0)
cout & lt& lt"Ingrese el nombre del estudiante que desea consultar"
CIN & gt;& gtNombre;
for(int j = 0;j<i;j++)
{
if(strcmp(nombre,s[j]- > nombre)==0)
{
cout & lt& lt"El estudiante que desea consultar es:"
//cout & lt; & lt" Número de estudiante:"
cout & lt& lt"Número de estudiante:"
Descanso;
};
// de lo contrario
p>//cout <<"¡Lo siento! ¡El estudiante que deseas consultar no existe! "& lt& ltendl
If (i == j)
{
cout & lt& lt"¡Lo siento! ¡El estudiante que deseas consultar no existe! "& lt& ltendl
}
}
Descanso;}
Caso "3":
Regresar ;
}
}
Nulo estudiante::pnumb()//Ordenar por número de estudiante.
{
Estudiante *p1, *p2
int n;
p 1 = stu; n = 1;
mientras(p 1->;siguiente)
cout & lt& lt"* * *Sí"
int I;< /p >
p 1 = estu;
for(I = 1;i<n;i++)
{
p 1 = estu
if(p 1->num & gtp 1->next->Num) //Si el nodo principal es mayor que el segundo.
{
p2 = p 1->; siguiente;
p 1->; siguiente = p 1->; /p>
p2->; next = p 1; //Intercambio de nodo principal
stu = p2
}
p 1 = stu;
while(p 1->;Next->Num) //Intercambio intermedio
{
p2 = p 1
p 1 = p 1->siguiente;
if(p 1->num & gtp 1->siguiente->número)
{
p2->siguiente = p 1->siguiente;
p 1->siguiente = p 1->siguiente-> ;Siguiente;
p2->;Siguiente->siguiente = p 1;
p1=p2->Siguiente; //Intercambio
}
}
}
p 1 = estu;
Hacer
{
p 1->; mostrar();
p 1 = p 1->; next;
} while(p 1);
}
Void Student::pmat() //Ordenar por puntuaciones de matemáticas.
{
Estudiante *p1, *p2
int n;
p 1 = stu; n = 1;
mientras(p 1->;siguiente)
cout & lt& lt"* * *Sí"
int I;< /p >
p 1 = estu;
for(I = 1;i<n;i++)
{
p 1 = estu
if(p 1->ma>p 1->next->ma) //Si el nodo principal es mayor que el segundo.
{ p2 = p 1->; siguiente
p 1->; siguiente = p 1->; p2->; next = p 1; //Intercambio de nodo principal
stu = p2
}
p 1 = stu;
mientras(p 1->; siguiente-> siguiente)//intercambio intermedio
{ p2 = p 1;
p 1 = p 1- >Siguiente;
if(p 1->caballo>p 1->siguiente->caballo)
{
p2 ->siguiente = p 1->siguiente;
p 1->siguiente = p 1->siguiente->siguiente;
p2- >Siguiente->siguiente = p 1;
p1=p2-> Siguiente; //Intercambio
}
}
}
p 1 = stu;
hacer
{ p 1->;display();
p 1 = p 1->; siguiente
} mientras(p 1); >
}
Estudiante nulo::pcomp()//Presione Ranking chino de resultados.
{
Estudiante *p1, *p2
int n;
p 1 = stu; n = 1;
mientras(p 1->;siguiente)
cout & lt& lt"* * *Sí"
int I;< /p >
p 1 = estu;
for(I = 1;i<n;i++)
{
p 1 = estu
if(p 1->com>p 1->next->com) //Si el nodo principal es mayor que el segundo.
{
p2 = p 1->; siguiente;
p 1->; siguiente = p 1->; /p>
p2->; next = p 1; //Intercambio de nodo principal
stu = p2
}
p 1 = stu;
mientras(p 1->; siguiente-> siguiente)//intercambio intermedio
{
p2 = p 1 ;
p 1 = p 1->siguiente;
if(p 1->com & gtp 1->siguiente->com)
p>
{ p>
p2->; siguiente = p 1->; siguiente;
p 1->; siguiente = p 1->; >p2->Siguiente-& gt;siguiente = p 1;
p1=p2->Siguiente; //Intercambio
}
}
}
p 1 = estu;
hacer
{
p 1->;display();
p 1 = p 1->;siguiente;
} while(p 1);
}
Estudiante vacío::Peng ()//Ordenar por puntuación en inglés.
{
Estudiante *p1, *p2
int n;
p 1 = stu; n = 1;
mientras(p 1->;siguiente)
cout & lt& lt"* * *Sí"
int I;< /p >
p 1 = estu;
for(I = 1;i<n;i++)
{ p 1 = stu;
si(p 1 ->es>p 1->next->en) //Si el nodo principal es mayor que el segundo.
{ p2 = p 1->; siguiente
p 1->; siguiente = p 1->; p2->; next = p 1; //Intercambio de nodo principal
stu = p2
}
p 1 = stu;
mientras(p 1->; siguiente-> siguiente paso)//intercambio intermedio
{ p2 = p 1;
p 1 = p 1- >Siguiente; p>
if(p 1->es>p 1->Siguiente->Es)
{
p2 ->siguiente = p 1->siguiente;
p 1->siguiente = p 1->siguiente->siguiente;
p2- >Siguiente->siguiente = p 1;
p1=p2- >Siguiente; //Intercambio
}
}
}
p 1 = stu;
hacer
{ p 1->;display();
p 1 = p 1->; siguiente
} mientras(p 1); p>
}
void estudiante::s taxi()//sort
{
char c;
cout & lt& lt"Seleccione el método de clasificación:"
cout & lt& lt"1... Ordenar por número de estudiante"
cout & lt& lt"2...Clasificar por Puntuación en inglés"
cout & lt& lt"3...Ordenar por puntuación de matemáticas"
cout & lt& lt"4...clasificada por puntuación de computadora"
cout & lt& lt"5...return"
cout & lt& lt" Seleccione (1-5)"
CIN>& gtc;
Cambiar (c)
{
case ' 1 ':pnumb(); break;
Caso 2: Pnum(); p>
Caso "3": pmat(); romper
Caso "4": pcomp();
Caso "5": retorno
p>}
}
Nulo estudiante ::ssave() //Guardar en archivo.
{
char c;
cout & lt& lt"\nGuardar la información del estudiante (esto sobrescribirá el archivo original).
¿Quieres continuar? [Sí/No]: "CIN>>c;
if(toupper(c)!='Y ') devuelve;
ofstream tfile("date.txt ", IOs: :binary);
Estudiante * p = stu
Mientras(p)//Escribir archivo
{
tfile<<p->nombre<< "\t"<<p->num<<"\t"<<p->en<<"\t"<<p-> caballo& lt& lt" \t " & lt& ltp->; ave
tfile & lt& ltendl
p = p -& gt;Siguiente;
}
tfile . /p>
cout & lt& lt"Guardado..."
}
Nulo estudiante::sload() //Leer
{
Estudiante * p;
p = stu
mientras(p)
{
stu = p- & gt; siguiente;
Eliminar p
p = stu
}
ifstream tfile("date.txt ", IOs ::binary);
char name 1[20];
int num 1;
Sexo encantador
doble en1, ma1, com1, ave1, edad 1;
tfile & gt>name 1>>num 1>>en1>>ma 1>>com 1>>ave 1>>Sexo>>age 1;
mientras (tfile.good ())
{
//Crear contacto de estudiante
Estudiante;
s = stu
p>s = estudiante nuevo (nombre 1, num1, edad 1, género, en1, ma1, com1, ave 1
s-> next = 0; & gt;ave = stu-& gt;ave
If(stu) //Si ya existe un nodo
{
Estudiante* p2
p2 = stu
Y (p2->siguiente paso)//encontrar el nodo de cola
{
p2 = p2- >Siguiente ;
}
p2->;next = s; //Conexión
}
De lo contrario// Si no hay ningún nodo (tabla vacía)
{
stu = s; // conexión
}
tfile & gt& gtname 1 & gt;& gtnum 1 & gt;& gten1 >& gtma 1 & gt;& gtcom 1 & gt;& gtave 1;
}
tfile();
p. >cout & lt& lt" \ nSe ha cargado la información del estudiante...\ n "
}
Operación no válida (int p)
{
Estudiante t;
Interruptor (p)
{
Caso 0: t .
;Break;
Caso 1: t. Set();Break;
Caso 2: t. Delete();Break;
Caso 3: t. . Alter(); break;
Caso 4: t . Lista();
Caso 5: t s search(); p>Caso 6: t . stat xis(); // Ordenando
Caso 7: Salir (0); p>
void main()
{
char w;
hacer
{
cout & lt& lt"Ingrese el código de operación (entrada de puntuación/0 agregar personal/1 eliminar personal/2 modificar datos/3 mostrar registros/4 consultar/5 ordenar/6 salir/7)"& lt& ltendl
int a;
CIN & gt; (y/n)" & lt;& ltendl
CIN & gt;& gtw;
} while(w = = ' y ');
}//Utiliza la instrucción while para volver al bucle anterior.
Además, el grupo IDC tiene muchos productos online con precios económicos y buena reputación.