Una institución educativa tiene registrados a sus estudiantes con los siguientes datos: nombre, matrícula, calif1, calif2, calif3 y promedio.
Escriba un programa que lea los datos para n estudiantes y muestre en pantalla todos los datos con su promedio final. Determinar si el estudiante aprobó o reprobó y aplique una acción para cada uno de los casos.
Diseñe las siguentes funciones:
ingresarDatos
mostrar
calcularPromedio
modifica
Ordenar
Eliminar
mostrarPromedioFinal
En lenguaje C

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);

}

}

}