Respuesta :
Respuesta:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Definición de la estructura para almacenar los datos del estudiante
struct Estudiante {
char nombre[50];
int matricula;
float calif1;
float calif2;
float calif3;
float promedio;
};
// Prototipos de funciones
void ingresarDatos(struct Estudiante estudiantes[], int n);
void mostrar(struct Estudiante estudiantes[], int n);
void calcularPromedio(struct Estudiante estudiantes[], int n);
void modificar(struct Estudiante estudiantes[], int n);
void ordenar(struct Estudiante estudiantes[], int n);
void eliminar(struct Estudiante estudiantes[], int *n, int pos);
void mostrarPromedioFinal(struct Estudiante estudiantes[], int n);
int main() {
int n;
printf("Ingrese el número de estudiantes: ");
scanf("%d", &n);
// Crear un array de estudiantes
struct Estudiante estudiantes[n];
ingresarDatos(estudiantes, n);
calcularPromedio(estudiantes, n);
mostrar(estudiantes, n);
mostrarPromedioFinal(estudiantes, n);
return 0;
}
void ingresarDatos(struct Estudiante estudiantes[], int n) {
for (int i = 0; i < n; i++) {
printf("\nIngrese el nombre del estudiante %d: ", i + 1);
scanf("%s", estudiantes[i].nombre);
printf("Ingrese la matricula del estudiante %d: ", i + 1);
scanf("%d", &estudiantes[i].matricula);
printf("Ingrese la calificacion 1 del estudiante %d: ", i + 1);
scanf("%f", &estudiantes[i].calif1);
printf("Ingrese la calificacion 2 del estudiante %d: ", i + 1);
scanf("%f", &estudiantes[i].calif2);
printf("Ingrese la calificacion 3 del estudiante %d: ", i + 1);
scanf("%f", &estudiantes[i].calif3);
}
}
void mostrar(struct Estudiante estudiantes[], int n) {
printf("\nDatos de los estudiantes:\n");
for (int i = 0; i < n; i++) {
printf("Nombre: %s, Matricula: %d, Calificaciones: %.2f, %.2f, %.2f, Promedio: %.2f\n",
estudiantes[i].nombre, estudiantes[i].matricula, estudiantes[i].calif1,
estudiantes[i].calif2, estudiantes[i].calif3, estudiantes[i].promedio);
}
}
void calcularPromedio(struct Estudiante estudiantes[], int n) {
for (int i = 0; i < n; i++) {
estudiantes[i].promedio = (estudiantes[i].calif1 + estudiantes[i].calif2 + estudiantes[i].calif3) / 3.0;
}
}
void mostrarPromedioFinal(struct Estudiante estudiantes[], int n) {
printf("\nPromedio Final:\n");
for (int i = 0; i < n; i++) {
if (estudiantes[i].promedio >= 60) {
printf("%s Aprobado\n", estudiantes[i].nombre);
} else {
printf("%s Reprobado\n", estudiantes[i].nombre);
}
}
}