Diccionario de datos del sistema de gestión de dormitorios
Incluye
Incluye
Entero N = 2; //Variables globales. El número de estudiantes ingresados cambiará su valor automáticamente.
Estudiante de estructura
{
Número de caracteres[10];
Nombre del personaje[10];
Fracción flotante [3]{
Sistema ("CLS");
Printf("Salga directamente, ingrese Enter, guarde los datos ingresados y salidos, e ingrese al menú principal 22 veces \nSe recomienda salir de la cantidad previamente guardada, de lo contrario los datos se perderán");
Función de escaneo (" %d ", & y);
(= = 1)
Salir(0);
En caso contrario, si (Y == 2)
Guardar (STU);
Otro
();
}
} & lt//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
INT I, J, M, A, Y ;
System(* * *
CLS");
Of printf("Ingrese el número de registros a agregar:\ nm = ");
(" %d ", &m) scanf
Para (i = n, i es N+M; + +)
{
System(" CLS");
Printf ("Ingrese el ID del estudiante #% d's nuevo estudiante: +1);
Scanf (" " T [I]. NUM);
is(J = 0;;J++)
(STRCMP(T[]min,T[J]min)== 0)//Evitar números de estudiantes duplicados. .
{
-
Printf("El alumno de este estudiante ya existe, vuelva a ingresar:).
Dormir( 3000);
Avance
}
}
Cuando (i = n, I
{
(《CLS》);
Printf("Ingrese el número de estudiantes en % s para aumentar la escuela: (separados por espacios)\el nombre del tercer curso, la puntuación del primer curso, puntuación de la segunda puerta\n ", T[]NUM);
//T [i][0]= 0, puntuación de T[I]. Con [1] = 0, T[i] ]. puntuación[2]= 0;
Función de escaneo (" %s% f% f% f, T [I]). Nombre, &t [i]. Puntuación [0], la puntuación es &t [I] [1], la puntuación es & t[I][2]);
AVG .score[0]+T[I]score[1]+ [I][2 puntos]) /3.0;
}
N = N+m//El número de alumnos es igual al número de alumnos ya nacidos, más los recién incorporados. unos.
Printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * \n ");& lt/Salida ("Agregar " , ingresa un retorno de carro, \ n ");
printf("Regresa al menú principal, ingresa 2, retorno de carro \ N ");
(" de printf sale del programa e ingresa cualquier retorno de carro\n ");
Printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
(%d scanf,& a;
(= = 1)/& gt;add(STU); p>
En caso contrario, if (== 2)
();
Otro
{
System("CLS ") ;....../>Printf("¿Quieres salir? Después de ingresar, ingresa al auto por la Salida 2, guarda los datos y ingresa al menú principal 22 veces\nTe recomiendo que guardes algunos antes saliendo, de lo contrario los datos se perderán");
If scanf's ("%d ",&y) (y = = 1)
Salir(0);
En caso contrario, si (Y == 2)
Guardar (STU);
Otros
Principalmente ();
}
}
/ ************ ********************** **** ************************* ********************** **** ******* /
guardar entero(estudiante t[])//Archivo para guardar datos
{
ARCHIVO * FP p>
CHar[20],ch;
Soy uno,y;
Sistema("CLS");
Printf ("Guarde en un archivo nuevo e ingrese,\nGuarde el archivo existente e ingrese 2 \n ");
(" %d ",&a) scanf about
CH = getchar function()//Recibe retorno de carro; de lo contrario, aparece el error de que () se asigna espacio de función
If (a == 1)
{
. Salida("Ingrese un nuevo nombre de archivo: \ n (incluida la extensión, no más de 20 caracteres)\ n "
Obtener
((FOPEN de FP (); S = (S, "w+")== null)//El archivo señalado por FP.
{
printf(" este archivo \ n ");
Salir(0);
}
}
De lo contrario, if (== 2)
{
printf("Ingrese un nombre de archivo existente: \ N (incluida la extensión, No más de 20 caracteres)\ N ");
Obtener;
((FP = FOPEN(" w+")= = NULL)
{< / p>
Sistema(CLS");
printf(" Por favor \ n ";};
Salir(0);
}< / p>
}
El archivo escrito con fprintf(FP) en lugar del archivo "%%d\N",N) //
es (I = 0; I++ )
(strlen's T[I].NUM)! = 0)//Si el número de estudiantes no está vacío, escriba 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 [i] puntuación [1], T [i] puntuación [2], T [i] promedio);
fprintf(FP, "\n");
}
Otro
;
FCLOSE ( FP);
System("CLS";);
Printf("Por favor\n¡Guárdalo y listo!\n ");
}
/ * **************************************** * ************ **************************************** * **** /
Lectura no válida (estudiante t[])//Leer datos del archivo
{
ARCHIVO * FP
Explicación y, m, I, x;
CHar [20], ch;
CH = getchar function()// Recibir caracteres de entrada, de lo contrario () asignar espacio a la función S.Error.
System("CLS");
Printf("Ingrese el nombre del archivo para leer los datos:\n(incluida la extensión, dentro de 20 caracteres)\n"); /p>
Obtener;
((FP = FOPEN ("R"))== NULL)
{
Sistema("CLS " );
printf(" Por favor, este archivo \ n ");
Sleep(3000)
System("CLS");
Printf("¿Salir? Salga e ingrese un retorno de carro para guardar los datos ingresados en la salida 2. Ingrese 22 para regresar al menú principal\nLe recomiendo que guarde los números antes de salir, de lo contrario se perderán los datos") ;
(" %d ", scanf&y;
(Y == 1)
Salir(0);
De lo contrario, si (Y == 2)
Guardar(
Otro
();
}
Fscanf( FP , " %d ", & x); // Número de estudiantes registrados
(Stu); I x, i++) // Leer todos los datos. Fscanf(FP, " % f % f % f % f de % s % s, T [I] min, nombre de T [I], &t [i]. puntuación [0],
Puntuaciones son &t[I][1]. Puntuación[2], &t[I]. Promedio);
FCLOSE(FP);
Sistema(" CLS"); p>
N-= N//n se establecerá en 0.
n = ****** ************************************* ************ ****** ******************************* *** /
Menú()//Seleccione menúBR/& gt;{
Interpretación x;
printf("Seleccione el menú correspondiente:\ n ");
Printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * \n ");
printf("Ingrese Para registros nuevos, ingrese 0 e ingrese\n");
& gtPrintf("Para todos los estudiantes, ingrese\n");
Printf("Consulte el registro correspondiente, ingrese 2, ingrese \n ");
Printf("Elimine el registro correspondiente, ingrese 3, luego ingrese\n "); >("de printf agrega un nuevo registro, entrada 4 entrada \n");
Printf("Leer los registros del archivo, entrada 5, entrada\n"); >Printf("Por favor, promedie desde la clasificación más alta hasta la salida más baja, ingrese 6 entradas \ n ");
Printf("El número de estudiantes es de menor a mayor, y salida, ingrese 7 entradas\ n"); ");
& gt Salida (el que tenga la puntuación más alta en cada curso, ingrese un retorno de carro\n");
("La puntuación de printf se guarda en la entrada de texto 9 input\n");
("de printf sale del programa, ingresa 11, ingresa \n");
printf(" por favor * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n ");
Scanf(" %d " y x);
Devolver x;
}
/ ***** ********************** ************** ************************************* **************** *** /
No válido para_exit()//exit.
{
Interpretación;
Sistema ("CLS");
Printf("Salga directamente, ingrese y guarde los datos, salir ingresa 2 y entra al menú principal 22 veces\nTe recomiendo guardar los números antes de salir, de lo contrario perderás los datos");
("%d", scanf&y;
(Y == 1)
Salir (0);
Otro (Y == 2)
Guardar (STU);
Otros
();....../& gt;}
/ *************** *** ************************ ************************* * ************************** * /
avg _ organiz(student t[])//Promedio alto a bajo la clasificación no es válida.
{
I,J;
temperatura estructural del estudiante[1];br/>(i = 0;i<n-1;i+ +) p>
(J = I +1, J & ltn, J++)
(T[I].AVG <T[J].Promedio)
{
TEMP[0]= T[];
T[]= T[J];
T[J]. = TEMP[0];
}
Lista (STU);
}
/ ******** ************ **************************************** **** *********** ********************** /
Núm. no válido _ organizar (estudiante t[])//El número de estudiantes está en orden de pequeño a grande.
& gt{
Interpretar IJ;
Estructurar temperatura del estudiante[1];
Sí (I = 0; i& ltn ; I++)
(J = 0, J & ltN-1, J++)
(STRCMP(T [J]).Número, T [j +1]. NUM)> 0)
{
Temperatura[0] = T[J].
T[J]= T[J+1];
= TEMP[0] en T[j+1];
}
}
p>
Lista(t);
}
/ ************ *********** **************** ********************** *********** **************** **** /
Alto no válido(estudiante t[])// Busque la puntuación más alta en la materia.
{
INT I, J, K,
La estructura genera máximo [1]
Valor máximo [0] =; T [0];
System("CLS");
printf("Ingrese el tema que está buscando: 1 o 2 o 3\n"); p >
Función Scanf(&k, total ' % d ');
(I = 1;i
Máximo[0] = [0]. Puntuación[K- 1]>T[i][k-1] tiene la puntuación más alta[0]: [I]
System("CLS");
Output("will % La materia de d se divide en:% %5.2fEl número de estudiantes es\n", el puntaje más alto de k[0] es [k-1], el puntaje más alto es [0]NUM);
}
/ **************************************** ************************************************* **** * /
()
{
Explicado;
(1)
{
A menu();
switch(A)//Selecciona el menú según la acción correspondiente.
{
En este caso es 0: entrada (STU); avance
Caso 1: avance de lista (STU);
Caso, investigación (STU); avance;
Caso tres: Del (Stu); avance;
Caso cuatro: avance (STU);
En el caso, 5: lectura (STU); descanso;
Escenario 6: avg _ organizar(stu); avance;
Caso 7: num _ organizar(stu) ;Avance;
Caso 8: Stu;Avance;
Caso: Guardar (STU);Avance;
Valor predeterminado: to _ exit(); /p>
}
}
}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *