Colección de citas famosas - Colección de poesías - Código fuente C++ del sistema de gestión de información estudiantil

Código fuente C++ del sistema de gestión de información estudiantil

#include

#include

#include

#include< malloc.h>

#define INIT_SIZE 10

#define INCRE_SIZE 10

#define SUBJECT_NUM 3

#define LEN 3

void show_Start();

void show_Table();

void addRecord();

void Info_delete();

void eliminarRegistro();

void eliminar_Num(int);

void eliminar_Nombre(char tarName[]);

void Info_modify();

void modificarRecord();

void modificar_Num(int);

void modificar_Nombre(char[]);

void Info_query() ;

void queryRecord();

void query_Num(int);

void query_Name(char[]);

visualización nula ();

void quit();

void menu_CMD();

char *subject[SUBJECT_NUM] = {"Alta generación","Puntuación " ,"lenguaje C"};

struct STUDENT

{

int num;

char name[20];

p>

char sex;

puntuación flotante[SUBJECT_NUM];

};

//struct STUDENT stu[LEN + 1];< / p>

//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

int static stuNum = 0

//Definido temporalmente; primeros tres estudiantes...

STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);;

int main()

{

//registro = (ESTUDIANTE*)malloc(tamañode(ESTUDIANTE)*INIT_SIZE);

//ESTUDIANTE *registro = (ESTUDIANTE*)malloc(tamañode(ESTUDIANTE) * INIT_SIZE);

/*

registro[1].num = 1001;

strcpy(registro[1].nombre,"Jason"); /p>

registro[1].sexo = 'M';

registro[1].puntuación[0] = 85,0;

registro[1].puntuación [ 1] = 90,0;

registro[1].puntuación[2

] = 95,0;

registro[2].num = 1002;

strcpy(registro[2].nombre,"Jerry");

registro[ 2].sexo = 'M';

registro[2].score[0] = 85,0;

registro[2].score[1] = 90,0;

registro[2].puntuación[2] = 95,0;

registro[3].num = 1003;

strcpy(registro[3].nombre,"Jessie ");

registro[3].sexo = 'F';

registro[3].puntuación[0] = 85,0;

registro[3 ].puntuación[1] = 90,0;

registro[3].puntuación[2] = 95,0;

*/

/*

Info_modify();

int key;

cout<<"Por favor, introduzca su elección: ";

cin>>key;

p>

if(key == 1)

{

int targetNum;

cout<<"Ingrese el número de estudiante que desea modificar. Número: ";

cin>>targetNum;

modificar_Num(targetNum);

cout<

mostrar. () ;

}

if(key == 2)

{

char targetName[20];

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

cin>>targetName;

modificar_Name(targetName);

cout<< endl;

display();

}

if(clave == 3)

{

salir(0);

}

*/

show_Start();

menu_CMD();

return 0;

}

//Aún debería mostrarse después de la modificación

void show_Start()

{

//cout<

cout<<" *********************** ******** *********** "<

cout<<" Este es un "<

cout<<" sistema de gestión del desempeño de los estudiantes "<

cout<<" Puede administrar el desempeño de los estudiantes"<

cout<<"

Todos son bienvenidos a usar "<

cout<<" Hecho por Jason "<

cout<<" ********** ** ****************************** "<

}

// Muestra información del encabezado, es decir: número de estudiante, nombre, sexo, educación superior, puntaje, lenguaje C

void show_Table()

{

<. p> cout<<"ID de estudiante"<<"\t"<<"Nombre"<<"\t"<<"Género";

cout<<"\t"<

cout<

}

void menu_CMD()

{

tecla int;

while(1)

{

cout<<"1. Agregar información del estudiante"<

cout<<"2. Eliminar información del estudiante"<

cout<<"3. Modificar información de los estudiantes"<

cout<<"4. Consultar información de los estudiantes"<

cout<<"5.

cout<<"6. Salir"<

cout<<"Ingrese su elección: ";

cin>>clave;< / p>

while(1)

{

if((clave < 1)||(clave > 6))

{

int key;

cout<<"¡Su entrada es incorrecta, vuelva a ingresar!"<

cout<<"Por favor seleccione (1 - 5 ) : ";

cin>>tecla;

}

más

{

descanso;

}

}

interruptor(tecla)

{

caso 1:

addRecord();

romper;

caso 2:

eliminarRecord();

romper;

caso 3:

modificarRecord();

romper;

caso 4:

queryRecord();

ruptura;

caso 5:

mostrar();

romper;

caso 6:

salir();

romper;

}

}

}

////////////////////////////////////// // /////////////////////////////////////////////

/ /////////////////////////////////////////////// //////// ///////////////////////////////////Agregar información del estudiante

void addRecord()

{

if(stuNum == 0)

{

cout<<"Hubo no había ningún registro antes, ahora cree una nueva tabla!"<

stuNum++;

}

else

{

cout<<" ¡Ahora agregue nueva información al final de la tabla actual!"<

stuNum++;

}

// Si el espacio de la matriz no es suficiente, vuelva a solicitar espacio

if(stuNum > INIT_SIZE)

{

cout<<"El espacio de memoria no es suficiente, ¡ahora vuelva a solicitar espacio de memoria nuevo!"<

record = (STUDENT*)realloc(record,(INIT_SIZE + INCRE_SIZE)*sizeof(STUDENT));

cout<<"¡Solicitud espacial completada!"< p>

}

cout<<"Quieres agregar un nuevo conjunto de información ahora, ¿estás seguro? ?"<

cout<<"Por favor, introduzca su elección (Y/N): ";

char choi;

cin>>choi ;

if((choi == 'Y')| |(choi == 'y'))

{

cout<<"Por favor, ingrese su número de estudiante: ";

cin>>record[stuNum] .num;

cout<<"Por favor, ingrese su nombre: ";

cin> >record[stuNum].name;

cout<<"Por favor, ingrese Género (M es masculino, F es femenino): ";

cin>>record[stuNum].sex ;

int i;

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

{

cout<<"Por favor ingrese la puntuación de "<

cin>>record[stuNum].score[i];

}

}

if((choi == 'N')|| (choi == 'n'))

{

cout<<" ¡Salga de agregar información de nuevos estudiantes!"<

cout<

}

cout<<"¡Ahora hay "<

cout<

}

////////////////////////////////////////// // ////////////////////////////////////////

/ //// /////////////////////////////////////////////// //////// /////////////////////////////////////Eliminar información completada por la noche ...

//Mostrar información del encabezado de borrado de registro

void Info_delete()

{

cout<<"Por favor, introduzca la eliminación método: "<

cout<<"1. Eliminar por número de estudiante"<

cout<<"2.

cout<<"3. Salir de la eliminación"<

}

//Eliminar información del estudiante, incluidas dos subfunciones

void deleteRecord()

{

int key;

cout<

Info_delete();

cout<<"Por favor, introduzca su Select: ";

cin>>clave;

if(clave == 1)

{

int targetNum;

p>

cout<<"Ingrese el número de estudiante del estudiante que desea eliminar: ";

cin>>targetNum;

//Eliminar por número de estudiante

delete_Num(targetNum);

cout<

}

if(key == 2)

{

char targetName[20];

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

cin>>targetName;

//Eliminar por nombre

eliminar_Nombre(targetName);

cout<

}

si( clave == 3)

{

mientras(1)

{

menu_CMD();

}

}

}

//Eliminar información del estudiante por número de estudiante

//Completar solo la operación de eliminación sin generar operaciones de salida se pueden realizar en el menú principal

void delete_Num(int tarNum)

{

int i;

for( i = 1;i <= stuNum;i++)

{

if(record[i] .num == tarNum)

{

//La eliminación debe discutirse en dos situaciones

//1. La información del estudiante que se eliminará es la. el ultimo

//2. La información del estudiante a eliminar no es la última

//En el primer caso, la información del estudiante a eliminar es la última

if (i = stuNum)

{

cout<<"La información del estudiante que desea eliminar es: "<

show_Table ();

cout<

<

cout<

cout<

show_Table() ;

for(int i = 1;i <= stuNum - 1;i++)

{

cout<

for(int j = 0;j < SUBJECT_NUM;j++)

{

cout<<"\t"<

}

cout<

}

//La información mostrada debe colocarse en la parte posterior

/*

stuNum--; >

cout<<"Ahora quedan "<

cout<

*/

}

//2. En el segundo caso, el alumno a eliminar no es el último

if(i != stuNum)

{

cout<< "La información de la carta del estudiante que desea eliminar es: "<

show_Table();

cout<

<

{

registro[j-1] = registro[j];

}

// Luego complete la salida

cout<

cout<<"Después de la eliminación, la tabla de información del estudiante es: "<

show_Table() ;

for(int i = 1;i <= stuNum-1;i++)

{

cout<

for(int j = 0;j < SUBJECT_NUM;j++)

{

cout<<"\t"<

}

cout <

}

/*

stuNum--;

cout<<"Aún quedan"<< stuNum<< "Información del estudiante";

cout<

*/

}

stuNum--;

cout<<"Aún quedan "<

cout<

}

}

}

/*

//El mismo método que el anterior

void delete_Name(char tarName[])

{

int i;

for(i = 1;i <= stuNum;i++)

{

if (strcmp(record[i].name,tarName) == 0)

{

//La eliminación se discutirá en dos situaciones

/ / 1. La información del estudiante a eliminar es la última

//2. La información del estudiante a eliminar no es la última

//La primera situación: el estudiante. a eliminar es el último

if(i = stuNum)

{

cout<<"La información del estudiante que desea eliminar es: " <

show_Table();

cout<

<

cout<

cout<

show_Table();

for(int i = 1;i

<= stuNum - 1;i++)

{

cout<

for(int j = 0;j < SUBJECT_NUM;j++)

{

cout<<" \t"<

}

cout<

}

}

//Segundo caso: El alumno a eliminar no es el último

if(i != stuNum)

{

cout<<"La información de la carta del estudiante que desea eliminar es: "<

show_Table();

cout<

<

//Avanzar todo un paso; lugar

for(int j = i+1;j <= stuNum;j++)

{

registro[j-1] = registro[j] ;

}

cout<

// Luego complete la salida

cout<<"Después de la eliminación, el estudiante la tabla de información es: " <

show_Table();

for(int i = 1;i <= stuNum-1;i++)

{

cout<

for( int j = 0;j < SUBJECT_NUM;j++)

{

cout<<"\t"<

}

cout<

}

cout<

}

}

}

*/

void delete_Name(char tarName[])

{

int i;

for(i = 1;i <= stuNum;i++)

{

/ /La eliminación también debe dividirse en Discusión de dos situaciones

//1.

La información del estudiante a eliminar es la última

//2 La información del estudiante a eliminar no es la última

//Cuando el estudiante a eliminar es el último. uno, genere directamente información sobre los estudiantes anteriores de LEN-1

if(strcmp(record[i].name,tarName) == 0)

{

if(i == stuNum)

{

cout<<"La información del estudiante que desea eliminar es: "<

show_Table( );

cout<

<

cout<

cout<<"Después de la eliminación, la tabla de información del estudiante es: "<

show_Table ();

for(int i = 1;i <= stuNum-1;i++)

{

cout<

for(int j = 0;j < SUBJECT_NUM;j++)

{

cout<<"\t"<

}

cout<

}

/*

stuNum--;

cout<<"Todavía hay "<

cout<

*/

}

//Cuando el estudiante a eliminar no es el último, mueve todo hacia adelante un dígito

if(i != stuNum)

{

cout<<"El La información del estudiante que desea eliminar es: "<

show_Table();

cout<

cout<

cout<

// Mueve todo hacia adelante un dígito

for(int j = i+1;j <= stuNum;j++)

{

registro[j-1] = registro[j];

}

// Luego genera

cout<

cout<<"Después de la eliminación, la tabla de información del estudiante es: "<

show_Table();

for(int i = 1;i <= stuNum-1;i++)

{

cout<

for(int j = 0; j < SUBJECT_NUM;j++)

{

cout<<"\t"<

}

cout<

}

/*

stuNum--;

cout<<"Allí todavía son Siguientes "<

cout<

*/

}

stuNum--;

cout<<"Aún queda "<

cout<

}

}

}

/************************ ** ************************************************* * **

****************************************** * *****************************************/

//Mostrar información del encabezado de modificación del registro

void Info_modify()

{

cout<<"Ingrese el método de modificación: "<

cout<<"1. Modificar por número de estudiante"<

cout<<"2. Modificar por nombre"<

cout< <"3. Salir de la modificación"<

}

//Consultar las calificaciones de los estudiantes, que por supuesto incluye dos subfunciones

void modificarRegistro ()

{

int clave;

cout<

Info_modify();

cout<<"Por favor ingrese su elección: ";

cin>>key;

//Modificar por número de estudiante

if(key == 1)

{

int targetNum;

cout<<"Ingrese el número de identificación del estudiante que desea modificar: ";

cin>>targetNum;

modify_Num(targetNum) ;

p>

cout<

//display();

}

//Modificar por nombre

if(key == 2)

{

char targetName[20];

cout<<"Por favor, introduzca el nombre del estudiante que desea modificar: ";

cin>>targetName;

modificar_Nombre(targetName);

cout<

//display();

}

//Salir de la modificación

if(key == 3)

{

mientras(1 )

{

menu_CMD();

}

}

}

//Modificar por número de estudiante

void modificar_Num(int tarNum)

{

int i;

for(i = 1 ;i <= stuNum;i++)

{

if(record[i].num == tarNum)

{

cout<

cout<<"Por favor ingrese el ID de estudiante del estudiante: ";

cin>>record [i].num;

cout<<"Por favor ingrese el nombre del estudiante: ";

cin>>record[i].name ;

cout<<"Por favor ingrese el género del estudiante: ";

cin>>record[i].sex;

cout<<"Por favor ingrese "<

cin>>record[i].score[0];

cout<<"Por favor, ingrese"<< asunto[1]<< "puntuación: ";

cin>>record[i].score[1];

cout<<"Por favor, introduzca "<

cin>>record[i].score[2];

}

}

}

//Modificar por nombre

void modificar_Nombre(char tarName[])

{

int i;

for(i = 1;i <= stuNum;i++)

{

if(strcmp(record[i].name,tarName) == 0)

{

cout<

Información del estudiante: "<

cout<<"Por favor ingrese el número de estudiante: ";

cin>>record[i].num;

cout<<"Ingrese el nombre del estudiante: ";

cin>>record[i].name;

cout<<"Ingrese el nombre del estudiante Género: ";

cin>>record[i].sex;

cout<<"Por favor, introduzca la puntuación de "<

cin>>record[i].score[0];

cout<<"Por favor, introduzca la puntuación de "<

cin>>record[i].score[1];

cout<<"Por favor, introduzca la puntuación de "<

cin>>record[i].score[2];

}

}

}

//// / /////////////////////////////////////////////////// /// //////////////////////////////////////////////// /////////////////////////////////////////////////// //// ///////////

//Mostrar la información del encabezado de queryRecord

void Info_query()

{

cout<<"Por favor ingrese el método de consulta: "<

cout<<"1. Consulta por número de estudiante"<

cout<<"2 . Consulta por nombre"<

cout<<"3. Salir de la consulta"<

}

/ /Consultar información del estudiante queryRecord

void queryRecord()

{

int key;

cout<

Info_query( );

cout<<"Por favor, introduzca su elección: ";

cin>>key;

if(key == 1 )

{

int targetNum;

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

cin >>NumDestino;

Num_Consulta(NumDestino);

cout<

}

if(clave == 2)

{

char targetName[20];

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

cin>> nombre_objetivo;

nombre_consulta(ta

rgetName);

cout<

}

//Salir de la consulta y volver al menú principal...

if(clave == 3)

{

mientras(1)

{

menu_CMD();

}

}

}

//Consulta por número de estudiante

void query_Num(int tarNum)

{

int i;

for(i = 1;i <= stuNum;i++)

{

si ( record[i].num == tarNum)

{

//Si hay información sobre el estudiante en la tabla, simplemente genere la información sobre el estudiante.

//Salir la información del estudiante

cout<<"La información del estudiante es la siguiente: "<

//Mostrar información del encabezado

show_Table();

//Muestra la información específica del estudiante

cout<

cout<<"\t"<

cout<

}

}

}

//Consulta por nombre

void query_Name(char tarName[])

{

int i;

for(i = 1;i <= stuNum;i++)

{

if(strcmp(record[i ] .name,tarName) == 0)

{

cout<<"La información del estudiante es la siguiente: "<

show_Table(

cout<

cout<<"\t"<

cout<

}

}

}

// ///////////////////////////////////////////////// ////// ///////////////////////////////////////////// //// //////////////////////////////////////////////// //////// /////////

////

//Mostrar primero la información de todos los estudiantes

//Mostrar las puntuaciones de todos los estudiantes en el registro

void display()

{

show_Table();

int i,j;

for(i = 1;i <= stuNum;i++)

{

//cout<<"ID de estudiante"<<"\t"<<"Nombre"<<"\t"<<"Género";

cout<

para (j = 0;j < SUBJECT_NUM;j++)

{

cout<<"\t"< }

cout<

}

cout<

}

// ///////////////////////////////////////////////// ////// ///////////////////////////////////////////// //// //////////////////////////////////////////////// //////// ///////////

//Salir

void quit()

{

char choi;

cout<<"¿Estás seguro de que quieres salir?"<

cout<<"Por favor, ingresa tu elección (Y/ N): ";

cin>>choi;

if((choi == 'Y')||(choi == 'y'))

{

cout<<"Salir del sistema de gestión de información estudiantil ahora"<

exit(0);

}

//Si no sale, entonces regresa a la interfaz principal

else

{

cout< menu_CMD();

}

}

Esto es original... Lo he ejecutado en C-Free 4.0 y puede ejecutarse normalmente

Puedes intentar ejecutarlo. Si tienes alguna pregunta, contáctame