La Red de Conocimientos Pedagógicos - Currículum vitae - 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 las opciones que desea ejecutar:");

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

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

{

system("cls") ; //Función de limpieza de pantalla

printf("Ingrese los datos del %désimo estudiante a continuación \nID de estudiante:",stu_num+1); //Las siguientes operaciones almacenan los datos de los estudiantes en la estructura

p>

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

printf("Nombre:");

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

printf("Género:");

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

printf("Entrar

Mes del año escolar: ");

scanf("%s",&student[stu_num].date);

printf("Term:");

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

printf("Grado 1:");

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

printf("Puntuación 2:");

scanf("%f",&estudiante[stu_num].puntuación2);

printf ( "Puntuación 3:");

scanf("%f",&student[stu_num].score3);

printf("Puntuación 4:");

scanf("%f",&student[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

{

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

int i,j;

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

for(i=0;i

{

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].plazo,estudiante[i].puntuación1,estudiante[i].puntuación2,estudiante[ i].score3,student[i].score4);

}

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

j=getch(); //Guardar cualquier clave

}

void review() //Modificar función

{

int i=0;

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

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 del 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;i

{

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

{

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

}

}

}

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

{

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

scanf("%s",&name); //Ingrese la búsqueda; datos y use la instrucción for para comparar uno por uno

for(i=0;i

{

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

{

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

}

}

}

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

{

return;

}

else //Para evitar elegir la opción incorrecta

{

goto st ;

}

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

{

advertencia();

ir a st;

p>

}

sistema("cls");

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

printf("ID del estudiante\t Nombre, sexo, 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,student[i].score2,student[i].score3,student[i].score4);

printf("Por favor actualice los datos del estudiante\nNúmero de estudiante:"); los datos después de encontrarlo

scanf("%s",&student[i].num);

printf("Name:");

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

printf("Género:");

scanf("%s",&estudiante[i].sexo) ;

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

scanf("%s ",&student[i].fecha);

printf("Término :");

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

pri

ntf("Puntuación 1:");

scanf("%f",&student[i].score1);

printf("Puntuación 2:");

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

printf("Puntuación 3:");

scanf("%f",&student [i].score3);

printf("Puntuación 4:");

scanf("%f",&student[i].score4);

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\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("Ingrese el número de estudiante del estudiante:");

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

for(i=0;i

{

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

{

break; el bucle después de encontrarlo

}

}

}

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

{

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

scanf("%s ",&name); //Ingrese los datos de búsqueda y use la declaración for Comparar uno por uno

for(i=0;i

{

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

{

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

}

}

}

else if(a=='e'||a=='E') //Salir de la consulta function

{

return;

}

else //Para evitar elegir la opción incorrecta

{

goto st;

}

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

{

advertencia();

goto st;

}

printf("ID del estudiante\t Nombre Género Año y mes de inscripción Semestre Grado 1 Grado 2 Grado

3 Puntuación 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].plazo,estudiante[i].puntuación1,estudiante[i]. score2,student[i].score3,student[i].score4);

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

a=getch( );

}

void del() //Eliminar función

{

int i=0,j;

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

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

printf("(x ) Buscar y eliminar por nombre\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("Ingrese el número de estudiante del estudiante: ");

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

for(i=0; 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("Por favor ingrese el nombre del estudiante name: ");

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

for(i=0 ;i

{

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

{

break; //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) //Aparece una advertencia y busca nuevamente cuando no se encuentran los datos del estudiante

{

advertencia();

goto st;

}

for(j=i;j

{

estudiante[ j]=estudiante[j+1]

;

}

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

{

hacer

p>

{

char a;

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

printf("\t\ t Bienvenido al 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 las opciones 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() ;

break;

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

case 'S ':

search();

break;

case 'e': //Salir del programa

case 'E' :

return;

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

goto st;

}

} while(1);

}

void main()

{

printf("Miembros del equipo:\nLi Donghai Chen Zhirui\nLinghua Fulin lo sucedió\nDu 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 y elimine el sueño también.