Red de conocimiento informático - Computadora portátil - Entrenamiento en lenguaje C

Entrenamiento en lenguaje C

/*8. Sistema de gestión del desempeño estudiantil

Atributos del estudiante: número de estudiante, nombre, año y mes de inscripción, número de semestres con calificaciones, calificaciones de cuatro cursos, etc. miembros,

En programación, se requiere que cuando se ingresa el estado de ejecución, i sea ingresar el registro del estudiante, D sea eliminar y s sea consultar (use el número del estudiante como condición de consulta , ingrese p para generar el registro completo del estudiante y use la programación de matriz de estructura o puntero de estructura)

*/

#include "stdio.h"

#include "conio.h"

# include "stdlib.h"

#include "string.h"

#include "windows.h"

int stu_num=0; //variable global, el número de estudiantes que ingresaron sus calificaciones

struct Student //Matriz de estructura, utilizada para almacenar los datos de los estudiantes

{

char num[11]; / /Guardar número de estudiante

char name[11]; //Guardar nombre

char sex[3]; //Guardar género

char date[11] ; //Año de almacenamiento y mes de admisión

int term; //Número de semestre de almacenamiento

float score1; //Puntuación de almacenamiento 1

puntuación flotante2; //Puntuación de almacenamiento 2

puntuación flotante3; //Guardar puntuación 3

puntuación flotante4 //Guardar puntuación 4

}estudiante[100];

void advertencia() //Función de advertencia

{

char a;

printf("No hay datos del estudiante que buscas, presiona cualquier tecla Retorno y vuelve a ingresar");

a=getch() //Guardar cualquier tecla

}

void input() //Función de entrada

{

char a;

do

{

system("cls");

printf("(i)Ingrese los datos del estudiante\n(e) Regrese al menú principal\nPor favor ingrese la opción que desea ejecutar: ");

a=getch(); //Obtener opciones de entrada

if(a=='i'||a=='I') / /Ingresar datos del estudiante

{

system("cls") ; //Función borrar pantalla

printf("Ingresar los datos del désimo estudiante a continuación\ nNúmero de estudiante: ", stu_num 1); //Las siguientes operaciones almacenan los datos del estudiante en la estructura

scanf("s",amp;student[stu_num].num);

printf("Nombre:");

scanf("s",amp;estudiante [stu_num].nombre);

> printf("Género:");

scanf("s", amp; estudiante[stu_num].sexo);

printf("Año y mes de inscripción:");

scanf("s", amp; estudiante[stu_num].fecha);

printf("semestre:

scanf("d"); , amp; estudiante[stu_num].term);

printf("Puntuación 1:");

scanf("f", amp; estudiante[stu_num].puntuación1);

printf("Puntuación 2: ");

scanf("f", y estudiante[stu_num].puntuación2); 3 : ");

scanf("f", amp; estudiante[stu_num].score3);

printf("Puntuación 4: ");

scanf("f",& estudiante[stu_num].score4);

stu_num;

}

if(a=='e'|| a=='E') //Salir de la función de entrada

{

break; //Forzar que el bucle salga de la función de entrada

}

} while(1);

}

void salida() //Función de salida

{

sistema (" cls"); //Función borrar pantalla

int i, j;

printf("ID del estudiante\t Nombre, sexo, año y mes de ingreso, semestre grado 1 grado 2 grado 3 grado 4\ n");

for(i=0; ilt; stu_num; i ) //Envíe los datos de los estudiantes uno por uno a través de la declaración for

{

printf(" -12s-8s-8s-10s-6d-8.2f-8.2f-8.2f-5.2f\n", estudiante[i].num, estudiante[i].nombre, estudiante[i].sexo, estudiante[i].fecha, estudiante[i].término, estudiante[i].puntuación1, estudiante[i].puntuación2, estudiante[i].puntuación3, estudiante[i].puntuación4);

}

printf("Presione cualquier tecla para regresar al menú principal");

j=getch(); //Guardar cualquier tecla

p>

}

void review() //Modificar función

{

int i=0;

char a , num[11], nombre[11];

p>

st: system("cls"); //Función borrar pantalla

printf("(x) Buscar y modificar por número de estudiante\n(m)

Buscar y modificar por nombre\n(e) Regresar al menú principal\nIngrese la opción que desea ejecutar: ");

a=getch(); //Obtener opciones de entrada

if(a=='x'||a=='X') //Buscar por ID de estudiante

{

printf("Ingrese el ID de estudiante: ") ;

scanf("s", amp; num); //Ingrese los datos de búsqueda y use la declaración for para comparar uno por uno

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

{

if(strcmp(num, estudiante[i].num)==0)

{

break; // Finaliza el ciclo después de encontrarlo

}

}

}

else if(a== 'm'||a==' M') //Buscar por nombre

{

printf("Ingrese el nombre del estudiante: "); > scanf("s", amp; name); //Ingrese los datos de búsqueda y use la declaración for para comparar uno por uno

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

{

if( strcmp(nombre, estudiante[i].nombre)==0)

{

//Finalizar el descanso; bucle después de encontrarlo

}

}

}

else if(a=='e'||a==' E') //Salir de la función de modificación

{

return;

}

else //Para evitar elegir la opción incorrecta

{

goto st;

}

if(i==stu_num) //Avisa cuando los datos del estudiante no están disponibles encontrado y buscar de nuevo

{

advertencia ();

goto st

}

sistema( "cls");

printf("El estudiante que desea cambiar La información es:\n"); //Envíe la información del estudiante a modificar

printf("Estudiante ID\t Nombre, Género, Año de inscripción, Mes, Semestre Grado 1 Grado 2 Grado 3 Grado 4\n");

printf("-12s-8s-8s-10s-6d-8.2f -8.2f-8.2f-5.2f\n", estudiante[i].num, estudiante[i].nombre, estudiante[i].sexo, estudiante[i].fecha, estudiante[i].término, estudiante[ i].score1, estudiante[i].score2, estudiante[i].score3, estudiante[i].score4);

printf("Actualice los datos del estudiante\nNúmero de estudiante: "/); /Actualiza los datos después de encontrarlos

scanf("s",amp; Student[i] .num);

pr

intf("Nombre:");

scanf("s",amp; estudiante[i].nombre);

printf("Género:");

scanf("s", amp; estudiante[i].sex);

printf("Año y mes de inscripción:"); amp ;estudiante[i].fecha);

printf("Término:");

scanf("d", & estudiante[i].term);

printf("Puntuación 1:");

scanf("f", estudiante[i].puntuación1);

printf("Puntuación 2:" );

scanf("f", amp; estudiante[i].score2);

printf("Puntuación 3: "); ", estudiante[i].puntuación3);

printf("Puntuación 4: ");

scanf("f", estudiante[i]. puntuación4);

printf("Los datos del estudiante han sido modificados, presione cualquier tecla para regresar");

a=getch() //Guardar cualquier tecla

}

void search() //Función de consulta

{

int i=0;

char a, num[11 ], nombre[ 11];

st: system("cls"); //Función borrar pantalla

printf("(x)Buscar por número de estudiante\n(m) Buscar por nombre\ n(e) Regresar al menú principal\nPor favor ingrese la opción que desea ejecutar: ");

a=getch(); //Obtener opciones de entrada

if (a =='x'||a=='X') //Buscar por ID de estudiante

{

printf("Ingrese el ID de estudiante:"); >

scanf("s", amp; num); //Ingrese los datos de búsqueda y use la declaración for para comparar uno por uno

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

{

if(strcmp(num, estudiante[i].num)==0)

{

break; / encontrado Luego finaliza el ciclo

}

}

}

else if(a=='m'||a= ='M ') //Buscar por nombre

{

printf("Ingrese el nombre del estudiante: "); amp; name ); //Ingrese los datos de búsqueda y use la declaración for para comparar uno por uno

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

{

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

{

break; // Finaliza el ciclo después de encontrarlo

}

<

p> }

}

else if(a=='e'||a=='E') //Salir de la función de consulta

{

return;

}

else //Para evitar elegir la opción incorrecta

{

ir a st ;

}

if(i==stu_num) //Aparece una advertencia cuando no se encuentran los datos del estudiante y busca nuevamente

{

advertencia( );

goto st;

}

printf("ID del estudiante\t Nombre Género Inscripción Año, Mes, Semestre Grado 1 Grado 2 Grado 3 Grado 4\n ");

printf("-12s-8s-8s-10s-6d-8.2f-8.2f-8.2f-5.2f\n", estudiante[i]. num, estudiante[i].nombre, estudiante[i].sexo, estudiante[i].fecha, estudiante[i].término, estudiante[i].puntuación1, estudiante[i].puntuación2, estudiante[i].puntuación3 , estudiante[i]. puntuación4);

printf("Presione cualquier tecla para regresar al menú principal"

a=getch(); >}

void del() //Eliminar función

{

int i=0, j

char a, num; [11], nombre[11];

st: system("cls"); //Función borrar pantalla

printf("(x) Buscar y eliminar por número de estudiante\ n(m) Buscar y eliminar por nombre\n (e) Regresar al menú principal\nIngrese la opción que desea ejecutar: ");

a=getch(); //Obtener opciones de entrada

if(a==' x'||a=='X') //Buscar por número de estudiante

{

printf("Por favor, ingrese el número de estudiante del estudiante:");

scanf("s", amp; num); //Ingrese los datos de búsqueda y use la declaración for para comparar uno por uno

para (i=0; ilt; stu_num; i)

{

if(strcmp(num, estudiante[i].num)==0)

{

break; // Finaliza el ciclo después de encontrar

p>

}

}

}

else if(a=='m'||a=='M') //Presione Buscar nombre

{

printf("Por favor ingrese el nombre del estudiante: ");

scanf("s", amp; name); //Entrada Encuentra datos y úsalos para comparar una por una

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

{

if(strcmp(nombre, estudiante[ i].nombre)==0)

{

bre

ak; // Finaliza el ciclo después de encontrarlo

}

}

}

else if(a=='e' || a=='E') //Salir de la función de eliminación

{

return

}

else

{

goto st; //Para evitar una selección incorrecta de opciones

}

if(i==stu_num) //Preguntar cuando no se encuentran datos del estudiante Advertir y buscar nuevamente

{

advertencia()

goto st

}

for( j=i;jlt;stu_num;j) //Eliminar los datos del estudiante sobrescribiendo los datos con la declaración for

{

estudiante[j]=estudiante[j 1 ];

p>

}

stu_num-=1;

printf("Los datos del estudiante han sido eliminados, presione cualquier tecla para regresar al menú principal ");

a=getch();

}

void menu() //Función de directorio

{

do

{

char a;

st: system("cls"); //Función borrar pantalla

printf("\t\t Bienvenido Sistema de gestión del desempeño estudiantil versión 1.22\n\n\n\t\t\t(i) Ingresar datos del estudiante\n\n\t\t\t(d) Eliminar datos del estudiante\ n\n\t\t\t (o) Ver datos de estudiantes\n\n\t\t\t(s) Consultar datos de estudiantes\n\n\t\t\t(r) Modificar datos de estudiantes\n\ n\t\t\t(e )Salga del sistema\n\n\nPor favor ingrese la opción que desea ejecutar: "); //Menú principal

a=getch(); //Obtener opciones de entrada

switch (a)

{

case 'i': //Ingrese la función de entrada

case 'I' :

input() ;

break;

case 'o': //Ingrese la función de salida

case 'O' :

salida();

break;

case 'r': //Ingrese la función de modificación

case 'R' :

revise();

break;

case 'd': //Ingrese la función de eliminación

case 'D' :

del();

p>

break;

case 's': //Ingresa la función de búsqueda

case 'S':

search();

break;

case 'e': //Salir del programa

caso 'E'

return;

default: //Para evitar elegir la opción incorrecta

goto st; p > } while(1);

}

void main()

{

printf("Miembro del equipo:\nLi Donghai Chen Zhirui\nLinghua Fulin lo sucedió\nA Dewei Zhong Penghui\n\n\n\n\t\tPor favor espere..."); //Columna de reconocimiento

Sleep(7000);

menu();

}

Esta es la tarea final realizada por varios de nosotros, puede usarla como referencia si no se puede usar la función de Windows; elimínelo. También elimine el sueño.