Sistema de gestión de información de dormitorios de estudiantes
#
Incluido
Incluido
Entero N = 2; //Variable global, el número de estudiantes ingresados lo cambia por sí solo valor
estructura estudiante
{
Número de caracteres[10]
Nombre del personaje[10]; p>Puntuación flotante[3]
}Estudiante[200]
/ *************** ** ************** ********************************** ** ************** *************/
Entrada no válida (struct Student t[]) //Datos de entrada p>
{
int i, j, k,;
system("cls");
printf("ex Introduzca el número de datos para determinar la entrada\nUsted ha determinado algunos\n");
printf("Ingrese 1 carro para continuar\nNo ingrese 0 Ingrese la tecla para salir del programa y cambiar el valor de las variables globales\n ");
scanf("%D",&A);
(A! = 1)
exportar(0);
(i = 0; { System("CLS"); //Borrar pantalla BR /> printf(" Ingrese el número de %d estudiantes: \n", i +1); función scanf ("%s", el número de T[i]); es ( J = 0 J if (STRCMP(T[I].NUM, T[J].NUM) == 0) // Para evitar el mismo número de estudiantes p> { /> - printf("El número de estudiantes ya existe, vuelva a ingresar:"); sleep(3000); Avance; /p> } } es (i = 0; { Sistema ("CLS"); printf("Ingrese el número de estudiante para %s estudiantes: (separados por espacios)\nLa primera puntuación en la puerta famosa, la segunda puntuación en la tercera puerta\n ", T[i]num); // T[i]. puntuación[0] = 0, T[i]. puntuación[1] = 0, T[i]. puntuación[2] = 0; función scanf("%s%F%F%F, T[I]. nombre, &T[I]. puntuación[0], &T[i] puntuación [1], y puntuación de T[i][2]); T[i].avg = (T[i].score[0]+puntuación de T[i]); [1]+ [yo]. Puntuación[2]) / 3,0 } } / ******************* ***************************** ******************* ** **************************/ Lista de interpretación(estudiante t[])//Mostrar toda la información { i; System("CLS"); printf("%d la información del estudiante es la siguiente:\n \n ", N); printf("ID del estudiante Nombre Logros del primer ingreso Logros del segundo ingreso Promedio de logros del tercer ingreso\n"); (i = 0; i++) { (strlen(T[I]num)!= 0) // Determina si se acabó printf("%s\twhere%s\t %5.2f\t%5.2f\t%5.2f\t%5.2f\t\n", T[I] . número, T[i] puntuación[0], T[i ] puntuación[2], T[i] promedio); Otro Avance } putchar(10); } /************************************ ******************* **************** ******** / Estudio no válido (estudiante t[]) //Información de búsqueda de identificación del estudiante { INT I, Y Carácter[10]; (1) {System("CLS" ); printf("Ingrese el número de estudiante:"); scanf function(" %s",&S); (i = 0;i++) { sistema("cls"); ((strcmp(s,t[i].num)) )//Si encuentra el número de estudiantes, genere { printf("ID de estudiante % de calificaciones de estudiantes de la siguiente manera:\n\n", T[] NUM); printf(tercer logro de ingreso "segundo logro de ingreso primer logro de ingreso número promedio de estudiantes\n") nombre); printf("%\n" twhere%s\t%5.2f\t%5.2f\t%5.2f\t%5.2f\t\n", T[i]. número, T[I]. Nombre, T[i]. puntuación[0], puntuación[1] para T[i], puntuación[1] para T[i],[2 puntos], T[i]. promedio); putchar(10); rest; } else if ((strcmp(s,t [I); ]. NUM)) ! = 0 &&stren(T[I]. num) == 0) //La búsqueda después de la finalización no es definitiva { printf("\nSin contar información:\n\n"); Avance; } } printf("Por favor****************** *** ***************\n";} Salida (continuar consulta, ingresar un retorno de carro\n"); printf("volver al menú principal, ingresar 2\n"); Salida (para salir del programa, ingrese cualquier Enter\n"); printf("Por favor ******* **** ***************************\n"); scanf("%D",&A ); (== 1) investigación(estudiante, N); si no (== 2) descanso Otro { System("CLS"); printf("Salir Introduzca un retorno de carro para salir y guardar datos en salir ingrese 2, ingrese 22 para regresar al menú principal\nSe recomienda guardar el número antes de salir, de lo contrario los datos se perderán"); función scanf ("%d", &y); BR />Si (== 1) Exportar (0); Si no (Y == 2) Guardar (STU); p> p> Otro Principal(); } } (); p> } / ******************* ***************** ***** **************************** ******************* ***** ***/ void del(student t[]) //Eliminar la información de un estudiante { INT I, J, A, Z, Y ; char B[10]; System("CLS"); printf("Ingrese el número de escuelas que quiero eliminar:) scanf("%s", B (i = 0; i++) (STRCMP(B, T); [. min) == 0) romper; si no ((STRCMP(B, T[I]. NÚMERO))! = 0 && strlen(t[i].num) == 0) { printf("Número de información:\n\n"); p>dormir(3000); fuga; } (strlen(t[num)!= 0) { System("CLS"); printf("¿Confirma la eliminación? Ingrese un retorno de carro\n"); (Z == 1) for (J = I, J++) { ( strlen(T[J] . NUM)==0) Descanso Otro { T[J] = T[j +1] ; = N-1; } } } Sistema ("CLS"); printf("*********************************\n"); printf ("Continuar eliminando, ingrese un retorno de carro\n"); .../output("Regrese al menú principal, ingrese un retorno de carro\n"); , ingrese cualquier retorno de carro\n"); printf("Por favor** ********************** ***** *******\n"); scanf("%d", &A); (== 1) del(stu); else if (== 2) (); otro BR /> { Sistema ( "CLS"); printf ("Salga directamente, ingrese un retorno de carro, guarde los datos ingresados antes de salir e ingrese al menú principal número 22\nSe recomienda salir antes de guardar Cantidad de datos que de lo contrario se perderá"); scanf("%d",&y); (== 1) export(0 ); De lo contrario, si (Y == 2) Guardar (STU Otro (); p> } } / ********************************* *************** ************************************* ******** void add (estudiante t agrega información del estudiante]) // { INT I, J, M, A, Y System (* * */ cls"); printf("Ingrese el número de registros a aumentar: \nm="); scanf("% d ", &M); for (i = n, i n + m; + +) { Sistema("cls"); printf("Ingrese el ID del estudiante #%d nuevo estudiante: +1); scanf("T[I]. num); (j = 0; j++) (strcmp(t[]min, t[j]min) == 0) //Evitar número de estudiante duplicado p> { - printf ("El estudiante de este estudiante ya existe, vuelva a ingresar:) sleep(3000); p> Avance; } } para (i = n, i { ("CLS"); printf("Ingrese %s para aumentar el número de estudiantes en la escuela: (use espacios separados)\El nombre del tercero puerta, la puntuación de la primera puerta, el resultado de la segunda puerta\n ", T[] NUM); // Puntuación de T[i][0] = 0 , T[i] . puntuación[1] = 0, T[i]. puntuación[2] = 0; función scanf("%s%F%F,T[I] ]. nombre, puntuación[0] de &T[i], puntuación[2] de &T[i]); AVG = (T[I]. puntuación[0] + T[i] puntuación[1] + [i][2 puntos])/3.0 } N = N + m//número de estudiantes Igual al número de estudiantes que han nacido, más el recién agregado printf ("************************* * * ********* \n"); printf("Regresar al menú principal, enter 2 Enter \n"); printf("Para salir del programa, ingrese cualquier retorno de carro\n"); printf("******** **** ********* *******************\n"); scanf("%D" , &A); (== 1) />add(STU si no (== 2) (); > Otros { Sistema ("CLS"); ... /> printf ("¿Quieres salir? Después de ingresar, ingresa la salida 2 para ingresar al auto, guarde los datos, ingrese 22 para regresar al menú principal\nSe recomienda guardar algunos antes de salir; de lo contrario, los datos se perderán"); If scanf("%d",&Y) (Y==1) Exportar (0); Si no (Y == 2) Guardar (STU); p>Otro Principal(); } } / ************ ****** ********************************************** ** ****** *******************************/ Guardar entero(estudiante t[])//Archivo para guardar datos p> { ARCHIVO * FP; Char [20], I, Y; System("CLS"); printf("Guarde en un archivo nuevo, ingrese un retorno de carro,\nGuarde el archivo existente, ingrese 2 entradas\n" scanf("%d",&a); ch = getchar() //recibe un retorno de carro; de lo contrario, el espacio de la función get() se asigna a error if (a == 1) { output("Ingrese un nuevo nombre de archivo: \n (incluida la extensión, en 20 caracteres o menos) \n" GET(S); ((FP = FOPEN(S, "W + ")) == NULL) // El archivo señalado por FP { printf("El archivo\n"); exportar(0); else if (== 2) { printf("Ingrese un nombre de archivo existente:\n(la extensión incluida no debe exceder los 20 caracteres)\ N"); get(S); ((FP = FOPEN("w+"))==NULL) { p> system(cls"); printf("por favor\n";}; exportar(0); p> } } Con fprintf(fp, no es un archivo "%d\n", n) //escribe el archivo (i= 0;i++) (strlen(t[i]. NÚMERO)! = 0) número de estudiantes // Si el número de estudiantes no está vacío, escribe los datos en el archivo especificado { fprintf(FP, "%S\T%S \ T%-5.2f\t%5.2f\t%5.2f\t%5.2f", T[I].Número,T[].,T[][0],T [puntuación de i] puntuación[1], puntuación de T[i][2], media de T[i] fprintf(FP, "\n"); p >} Otro ; FCLOSE(FP); SISTEMA("CLS"; printf("¡Por favor\n¡Guardar está hecho!\n" } /* ************** * ******************************** **************** *** ***************************/ Lectura no válida(estudiante t[])//Leer datos del archivo p> { ARCHIVO * FP; INT y, M, I, X; char [20], CH = getchar function() // Recibe el carácter de entrada; de lo contrario, get() espacio de función asignado a s, error System("CLS"); "Ingrese el nombre del archivo para leer los datos:\n (incluida su extensión, 20 caracteres o menos)\n"); (FP = FOPEN ("R")) == NULL) { System("CLS"); printf( "Salga de este archivo \n"); Sleep(3000) System("CLS"); printf("¿Salir? Salga, ingrese a Presione Enter para guardar los datos ingresados al salir Ingrese 2, ingrese 22 para regresar al menú principal\nSe recomienda guardar el número primero antes de salir, de lo contrario los datos se perderán"); scanf("%d ", &Y); (Y == 1) salir(0); si no (Y == 2) guardar( otro (); } fscanf(fp, "%d", &x);/ /Leer el número de estudiantes (stu); i = 0; i %F%F%F%F, T[i]min, T[i]nombre, &T[i]. puntuación[0], &T[i] tiene puntuación[1], &T[i]. puntuación[2],&T[i]. promedio); FCLOSE(FP); SYSTEM("CLS"); N-= N // n se establecerá en 0 p> N = ***** ********************************** *********** ***** ********************************** * / Menú () //Seleccione el menú br /> { int x; printf("Seleccione el menú correspondiente:\n") ; printf de ("****************** ******************** ****\n"); printf("Ingrese un nuevo registro, ingrese 0\n"); > printf("Ingrese un retorno de carro \n " para todos los estudiantes); printf ("Consulte el registro correspondiente, ingrese 2\n"); printf ("Elimine el registro correspondiente, ingrese 3\n" printf("Agregar un nuevo registro, ingresar 4, ingresar\n"); printf("Leer el registro del archivo, ingresar 5, ingresar\n"); printf("Ordene y genere el promedio de mayor a menor, ingrese 6 entradas\n"); printf("Ordene el ID del estudiante de menor a mayor y genere , entrada 7 entrada\n" "); >Salida (la puntuación más alta para cada materia, ingrese un retorno de carro\n"); printf("puntuación guardada en un entrada de texto 9 entrada\n "); printf ("Para salir de este programa, ingrese 11, ingrese \n"); printf ("Por favor ****** ****** **************** **********\n"); scanf("%d", con X); Devolver X } / ***** **************** **** **************************** ******************* ****** *******************/ void to_exit() //salir { p> int ; System ("CLS"); printf ("Salga directamente, ingrese un retorno de carro y guarde los datos, salga, ingrese 2, ingrese 22 atrás). al menú principal\n Se recomienda guardar el número antes de salir, de lo contrario los datos se perderán"); scanf("%d",&Y); (Y == 1) Salir (0); Otro (Y == 2) Guardar (STU); Otro (); ...... />} / ******************* ************ ************* ************************* *********** ************* */ Avg_arrange(student t[]) no válido // Ordenar promedio de mayor a menor { I,J; Estructura estudiante TEMP[1]; BR />(i = 0; I +) (J = I +1, J (T[I]. AVG { TEMPERATURA [0] = T []; T [] = T [J]; = TEMPERATURA [0]; } Lista (STU); ************ **************************************** **** ************ ********************** / Num_arrange(estudiante) no válido t [ ])//El orden del número de estudiantes de pequeño a grande > { Interpretación IJ; Estructura estudiante TEMP [1]; (i=0;I (J=0,J (STRCMP(T[ J ]. Número, T[j +1]. NUM) > 0) { Temperatura[0] = T[J]. T[J] = T[j+1] T[j+1] = TEMPERATURA[0]; } p> Lista (T); } / ********************** *** **************** ******************************* *** **************** **** / Invalid high(student t[]) //Encuentra la asignatura con la puntuación más alta p> { INT I, J, K, estructura estudiante max[1] max[0] = T[0] ; system("cls"); printf("Ingrese el tema que está buscando: 1 o 2 o 3\n"); > scanf("% d", &K); (i = 1; i max[0] = [0]. puntuación[k-1]>Puntuación[k-1]max[0] para T[i]:[I] System("CLS"); Salida(" %d materia se divide en: %5.2f el número de estudiantes es \n", K max[0] puntuación[k-1] max[0] NUM); } / ********************************************* ** * ********************************************** / () { Interpretado (1) { amenu( ); Switch(A) // Realiza la acción correspondiente según el menú seleccionado { Caso 0: input (stu );Avance Caso 1: Lista(stu);Avance; Estudio de caso(stu);Avance; Caso 3: DEL( stu); p> Caso 4: agregar (stu); romper; Caso 5: leer (stu); Caso 6 :avg_arrange(STU);Avance; /p> Caso 7: num_arrange(STU);Avance; Caso 8: Alto(STU);Avance; Caso: save(stu); /p> Predeterminado: to_exit(); } } } /****** ****** ************************************* ********** ****** ************************************* ********** ******Universidad Jiaotong de Beijing, Yang Dongping************************ / / /