Red de conocimiento informático - Conocimiento sistemático - Buscamos ayuda de expertos para crear un "sistema de gestión del estado de los estudiantes" en lenguaje C++

Buscamos ayuda de expertos para crear un "sistema de gestión del estado de los estudiantes" en lenguaje C++

El diseño de mi curso el año pasado fue este, me gustaría compartirlo contigo.

Es absolutamente utilizable.

Lo aceptaré con una sonrisa

#include

#include

#include

#include

usando el espacio de nombres std;

int sum,avarage;

int cantidad=0 //Registra el número de estudiantes

de flujo *archivo[50]

////////////////////////////// /// Estructura de puntuación de los estudiantes

struct score

{

float yw

float sx; float yy;

int suma;

int avarage;

puntuación de estructura *siguiente;

}; >// ////////////////////////////////Datos del estudiante clase

clase estudiante

{

público:

cadena mun;

nombre de cadena;

int suma;

int avarage;

puntuación sc1; //puntuación;

estudiante de clase *siguiente;

}; ///// ////////////////////////Declaración de función

void input(student *head); //Entrada

void search1(estudiante *head); //Consulta de nombre

void search2(student *head); //Consulta de número de estudiante

void change(estudiante * head); //Modificar

void shanchu(student *head); //Eliminar

void get(student *head); //Obtener datos

void tongji(student *head) ); //Puntuación estadística total y datos de puntuación media

void display(); //Mostrar menú

void show(student *head); /Mostrar datos

void readin(student *head); //Guardar datos

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

void main() //Función principal

{

system("color ff ");

char x;

bool flag2=0;

estudiante *head=nuevo estudiante; //Inicializa los datos del sistema de gestión de estado de estudiantes

head-> next=NULL;

cout<<" ★ ---- Diseño: Fang Bing, Clase 2, 06 Xinke▕ Todos los derechos reservados. Los infractores serán procesados- ---★ \n ";

display(); //Mostrar interfaz de operación

do

{

p>

hacer

{

cin>>x

if((x>='0'&&x<='8'))

flag2=1;

else

{

cout<<"!!!!!!!!!!!! !!!!Error de comando!!!!!!!!!!!!!!!!"<

cout<<" Seleccione el número correspondiente para operar: ";

}

} while(flag2==0);

cambiar(x)

{

caso '1 ':

cout<<"******************Ingrese los datos del estudiante ahora************** * **\n";

input(head);

cout<<"La información del estudiante ingresada es:\n";

show(head )

mostrar(); romper

caso '2':

cout<<"************ * **Modificar los datos del estudiante ahora******************\n";

change(head);

display() ;

break; //Modificar por nombre

case '3':

cout<<"************ ******Ahora muestra toda la información del estudiante******************\n";

show(head);

display();

break; //Mostrar datos

case '4':

{

char z; >

cout<<"****************** Ahora consulta la información del estudiante****************** ** \n";

cout<<"Seleccione el método de consulta:";

cout<<"(1) Consulta de nombre; (2) Consulta de identificación del estudiante: "; cin >>z;

while(z!='1'&&z!='2')

{

cout<<"!! !!! !!!!Error de comando <¡Por favor elija (1) o (2)!>!!!!!!!!!!!!"<

cout<<"Por favor elija método de consulta: (1). Consulta de nombre; (2). Consulta de número de estudiante: "; cin>>z;

}

switch(z)

{ <). /p>

case '1': search1(head);break;//Buscar por nombre

case '2': search2(head);break;//Buscar por número de estudiante Consulta

}

mostrar();

romper

}

case '5':

cout<<"************Ahora consulta las calificaciones totales y promedio de los estudiantes************ ***\n";

tongji(cabeza);

display(); break;

caso '6':

cout<<"******************Ahora guarda la información del estudiante*********************\n ";

readin(head);

display();

break;

caso '7':

cout<<"******************Ahora elimine la información del estudiante especificada******************\ n" ;

shanchu(cabeza);

show(cabeza);

display();

break; //Eliminar

caso '8':

cout<<" ╔══════════════════════════ ═╗ \n";

cout<<" ║ Has salido del sistema de gestión de estado de estudiante, ¡gracias por usarlo ║\n";

cout<<" ╚ ════ ═══════════════════════╝\n";

cout<

salir(0 );

romper

}

}mientras(bandera2==1

}

//////////////////////////////////Menú de visualización

visualización nula( )

{

cout<<" ╔═══════════════════════════╗" <

cout<<" ║ ☆ Sistema de gestión del estado del estudiante☆ ║"<

cout<<" ║══════════ ═══════ ══════════║"<

cout<<" ║ ║"<

cout< <" ║ (1)Ingreso de datos del estudiante║"<

cout<<" ║ (2) Modificación de datos del estudiante║"<

cout<< "

║ (3) Mostrar información del estudiante║"<

cout<<" ║ (4) Consultar información del estudiante║"<

cout<<" ║ - -(1) Buscar por número de estudiante║"<

cout<<" ║ --(2) Buscar por nombre║"<

cout<< " ║ --Puntuaciones estadísticas totales y puntuaciones medias║"<

cout<<" ║ (5) Consulta las puntuaciones totales y puntuaciones medias de los estudiantes║"< cout<<" ║ (6) Guardar información del estudiante║"<

cout<<" ║ (7) Eliminar información especificada del estudiante║"< cout<<" ║ (8) Salir del programa║"<

cout<<" ║ ║"<

cout<<" ║══; ═ ════════════════════════║"<

cout<<" ║Nota: Por favor ingrese los corchetes correspondientes ¡Números arábigos para realizar operaciones relacionadas! ║"<

cout<<" ║ Para guardar los datos, cree primero el archivo especificado: ║"<

cout<<" ║ (D: \ \Sistema de gestión de estado de estudiantes\\resultados de estudiantes.txt) ║"<

cout<<" ╟——————————————————— — ——————╢"<

cout<<" ║====================Gracias por su uso === ====================║"<

cout<<" ╚════════

═══════════════════╝"<

cout<<" →Por favor seleccione el número correspondiente para operar: "<

}

///////////////////////////////////Pantalla datos del estudiante

void show(estudiante *head)

{

estudiante *stu=head->next;

cout<< " | ID de estudiante | Nombre | Chino | Matemáticas | Inglés | Puntuación total | Puntuación media |"<

while(stu!=NULL)

{

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<

stu=stu->siguiente;

}

sistema( "pausa ");

}

/////////////////////////////// ///Guardar datos del estudiante

void readin(estudiante *head)

{

char a

estudiante *stu=head; ->next;

cout<<"Guarda los datos del estudiante ingresados ​​ahora, ¿quieres continuar? (s/n)"

cin>>a; >

ofstream outfile( "D:\\Sistema de gestión del estado del estudiante\\Resultados del estudiante.txt",ios::out

if(! outfile)

{

cout <<"!!!!!!!!!!!!Error al abrir el archivo!!!!!!\n"

cout<<"!!! Para guardar datos , primero cree el archivo especificado: D :\\Student Status Management System\\Student Scores.txt!!!\n";

exit(0);

}

while(a! ='n')

{

while(stu!=NULL)

{

archivo de salida<<"**** **

**********Los datos del "<

archivo de salida <<"| Número de estudiante| Nombre| Chino| Matemáticas| Inglés|Puntuación total|Puntuación promedio|"<

cantidad++;

stu=stu->siguiente;

}

descanso

}

cout<<"...¡Se guardaron correctamente los datos del estudiante en ! "

outfile.close()

}

<; p>/////////////////////////////////Ingresar datos del estudiante

anular entrada(estudiante * cabeza)

{

char c

int j=0

estudiante *p=cabeza; p> file[j]=new ofstream("D:\\Sistema de gestión del estado del estudiante\\Resultados del estudiante.txt",ios::app

do

{

p>

estudiante *stu=nuevo estudiante;

cout<<"Ingrese el número de estudiante (limitado a 4 dígitos):"<

cout<<"Por favor, introduzca el nombre:"<>(*stu).name

cout<<" Por favor ingrese la puntuación del idioma: "<

cin>>(*stu).sc1.yw;

//cout<<(*stu). sc1.yw<

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

cin>>(*stu).sc1.sx; ;

//cout<<(*stu).sc1.sx<

cout<<"Ingrese su puntuación en inglés:"<

cin>>(*stu).sc1.yy;

//cout<<

;(*stu).sc1.yy<

(*stu).sc1.sum=(*stu).sc1.yw+(*stu).sc1.sx+(*stu). sc1.yy;

//cout<<(*stu).sc1.sum<

(*stu).sc1.avarage=((*stu). sc1.yw+(*stu).sc1.sx+(*stu).sc1.yy)/3;

//cout<<(*stu).sc1.avarage<

stu->next=p->next;

p->next=stu;

cantidad++; Éxito, quieres seguir escribiendo (y/n)"; cin>>c;

p=p->next;

while(c!='y'&&c != 'n')

{

cout<<"!!!!!!!! Error de comando <¡ingrese y/n!>!!!!!!! !!!"<

cout<<"Ingreso de datos exitoso, desea continuar (s/n)";

cin>>c;

}

} while(c=='y');

j++

cout<<"Entró"<

}

////////////////////// /// ////////Consulta datos de estudiantes usando nombre

void search1(student *head)//Consulta de nombre

{

char c;

nombre de cadena

hacer

{

estudiante *stu=head->siguiente

> bool flag =0;

cout<<"Ingrese el nombre del estudiante que desea consultar:"

cin>>nombre; do{

if(stu!=NULL&&name==(*stu).name) //Salida de las puntuaciones de los estudiantes

{

flag=1; p>

cout <<" | ID de estudiante | Nombre | Chino | Matemáticas | Inglés | Puntaje total | Puntaje promedio |"<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<"

"<

cout<<" | "<

cout<<" | "<

cout<<" | "<

}

stu=stu->siguiente;

} while(stu!=NULL

if(flag==0) p>

cout<<"!!!!!!!!!!!!!!!! ¡¡¡Lo siento! ¡¡¡¡¡El alumno que deseas consultar no existe!!!!!!!!!!!!"<< endl;

cout<<"¿Quieres continuar consultando? (y/n)" cin>>c; 'n')

{

cout<<"!!!!!!!!!!!!!!!Error de comando <¡ingrese y/n!>!!! !!!!!! !!"<

cout<<"¿Quieres seguir consultando? (y/n)"; cin>>c;

}

} mientras(c=='y');

}

//////////////// //////// /////////Consultar datos del estudiante usando el número de estudiante

void search2(estudiante *head)//Consultar número de estudiante

{

char c;string no;

hacer

{

estudiante *stu=head->siguiente

int flag=0;

cout<<"Ingrese el número de estudiante que desea consultar:"

cin>>no

do;

{

if(stu!=NULL&&no==(*stu).mun)

{

flag=1; /p>

cout< <"El estudiante que desea consultar es: "<nombre<

cout<<" | Número de estudiante | Nombre | Chino | Matemáticas | Inglés | Puntuación total | Puntuación media |" <

cout<<" "<

cout< <" | "<

cout<<" | "<

cout<< " | "<

cout<<" | "<

/p>

cout<<" | "<

cout<<" | "<

cout<<" | "<

}

stu=stu->siguiente; p> p>

} while(stu!=NULL);

if(bandera==0)

cout<<"!!!!!!!!! !!!!!!!!!!!!!!!"<

cout<<"Do ¿Quieres seguir consultando? (y/n)";

cin>>c;

while(c!='y'&&c!='n')

{

cout<<"!!!!!!!!!Error de comando <¡ingrese y/n!>!!!!!!!!!!!!"<

cout<<"¿Quieres continuar consultando? (s/n)"<

cin>>c

}

}mientras(c=='y');

}

/////////////////// ///// /////////Modificar datos del estudiante

void change(student *head)

{

string name; c;

hacer

{

bool flag2=0;

estudiante *stu=head->siguiente;

puntuación sc1 ;

cout<<"Ingrese el nombre del estudiante que desea modificar:"

cin>>nombre; hacer

{

if(nombre==(*stu).nombre)

{

flag2=1; >

cout<<" Ingrese una nueva puntuación de idioma chino (puntuación del estudiante): ";

cin>>sc1.yw

cout<<"Ingrese una nueva puntuación de matemáticas (puntuación del estudiante) Puntuación):";

cin>>sc1.sx;

cout<<"Ingrese una nueva puntuación de inglés (puntuación del estudiante):";

cin>>sc1.yy;

(*stu).sc1.yw=sc1.yw

(*stu).sc1.sx=; sc1.sx;

(*stu).sc1.yy=sc1.yy;

(*stu).sc1.sum=(*stu).sc1.yw+(* stu).sc1.sx+(*stu).sc1.yy;

(*stu).sc1.avarage=((*stu).sc1.yw+(*stu).sc1.sx+(* stu).sc1. yy)/3;

<

p> cout<<" | ID de estudiante | Nombre | Chino | Matemáticas | Inglés | Puntuación total | Puntuación media | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<< setw(4)<<(*stu).sc1.yw;

cout<<" | "< cout<<" | "<

cout<<" | "<

cout<<" | "<

cout<<" | "<< endl;

cout<<"....¡Datos modificados exitosamente!\n"

break

}

stu; =stu->siguiente;

}mientras(stu!=NULL

if(flag2==0)

{

cout<<"!!!¡¡Lo siento! ¡¡¡El estudiante que deseas modificar no existe! ¡¡¡Por favor revisa y vuelve a ingresar!!!!!"<

}

cout<<"¿Quieres continuar modificando?(s/n)"

cin>>c

if(c!='y'&&c!='n'; )

{

cout<<"!!!!!!!!!!!!!!!! ¡¡¡Error de comando! ¡¡¡Vuelva a ingresar !!! !!!!!!!!!!";

cin>>c;

}

}mientras(c=='y');

}

//////////////////////////////////// Eliminar datos del estudiante

void shanchu(estudiante *cabeza)//número de estudiante

{

char c;string no

do;

{

int flag=0;

cout<<"Ingrese el número de estudiante que desea eliminar:"; cin>> no;

estudiante *q,*p;

q=cabeza

while(q->siguiente!=NULL&&q->siguiente- >mun! =no)

q=q->siguiente;

if(q->siguiente!=NULL)

{

bandera =1;

p=q->ne

xt;

q->next=q->siguiente->siguiente;

cantidad--; p> cout<<"...¡Eliminado exitosamente! ";

}

if(flag==0)

cout<<" !!! !!!!!!!!!!!!Lo siento! El estudiante que deseas eliminar no existe!!!!!!!!!"<

cout<<"Quieres para continuar ¿Eliminar?(s/n)";

cin>>c;

while(c!='y'&&c!='n')

{

cout<<"!!!!!!!!!!!! Error de comando !!!!!!!!!!!!"< < endl;

cout<<"¿Quieres continuar eliminando? (s/n)"

cin>>c

}

}mientras(c=='y');

}

//////////////////// / /////////////Cálculo de calificaciones totales y calificaciones promedio

void tongji(estudiante *cabeza)

{

char c;

nombre de cadena

hacer

{

estudiante *stu=head->siguiente; p > bool flag=0;

cout<<"-----Cálculo de la puntuación total y puntuación media-----"<

cout<< " Ingrese el nombre del estudiante que desea consultar: ";

cin>>nombre

do{

if(stu!=NULL&&name= =(*stu ).name) //Resultado de las puntuaciones de los estudiantes

{

flag=1;

cout<<" | ID del estudiante | Nombre | Total Puntuación | Puntuación media |"<

cout<<" | "<

cout<<" | "<

cout<<" | "<

cout <<" | "<

cout<<" | "<

stu=stu->siguiente;

} while(stu!=NULL

if(flag==0)

<); p> cout< <"!!!!!!!!!!!! ¡Lo siento! ¡¡¡¡¡El estudiante que deseas consultar no existe!!!!!!!!!!!!"<<; pag

> cout<<"¿Quieres continuar consultando?(y/n)" cin>>c

while(c!='y'&&c!='n')

{

cout<<"!!!!!!!!!!!! Error de comando <¡ingrese y/n!>!!!!!!!!!!!!" <

cout<<"¿Quieres continuar consultando? (y/n)"; cin>>c; (c=='y');

}