Está en la página 1de 6

#include<stdio.

h>

float promediopracticas(int vector[]);

void promediofinal(float vector[],int numero,float PP,int EP,int EF);

void imprimirnombre(float max,char nombres[][30],float promedio[],int alumnos);

main(){

int i,j,N,EF,EP,ES;

float PP,max=0;

do{

printf("Digite la cantidad de alumnos: ");scanf("%i",&N);

}while(N<=0);

int nota[4];

float promedio[N];

char nombre[30],nombres[N][30];

printf("\nDigite los datos de los alumnos:");

for(i=0;i<N;i++){

fflush(stdin);

printf("\n\nAlumno%i: ",i+1);gets(nombre);

for(j=0;j<4;j++){

do{
printf("Practica calificada %i: ",j+1);scanf("%i",&nota[j]);

}while(nota[j]<0 || nota[j]>20);

PP = promediopracticas(nota);

printf("Promedio de practicas %.1f\n",PP);

do{

printf("Examen Parcial: ");scanf("%i",&EP);

}while(EP<0 || EP>20);

do{

printf("Examen Final: ");scanf("%i",&EF);

}while(EF<0 || EF>20);

promediofinal(promedio,i,PP,EP,EF);

printf("Promedio final: %.1f",promedio[i]);

if(promedio[i]<10){

printf("\nEl promedio es menor a 10 debe rendir un examen


sustitutorio\n");

do{
printf("Examen sustitutorio: ");scanf("%i",&ES);

}while(ES<0 || ES>20);

if(EP<EF)

EP = ES;

else

EF = ES;

promediofinal(promedio,i,PP,EP,EF);

printf("Nuevo Promedio final: %.1f",promedio[i]);

if(max<promedio[i])

max = promedio[i];

for(j=0;j<30;j++){

nombres[i][j] = nombre[j];

imprimirnombre(max,nombres,promedio,N);

return 0;

}
float promediopracticas(int vector[]){

int i,j,min=21;

float PP=0;

for(i=0;i<4;i++){

if(min>vector[i]){

min = vector[i];

j = i;

for(i=0;i<4;i++){

if(i!=j)

PP += vector[i];

PP /= 3;

return PP;

void promediofinal(float vector[],int numero,float PP,int EP,int EF){


vector[numero] = (PP + EP + EF)/3;

void imprimirnombre(float max,char nombres[][30],float promedio[],int alumnos){

int i,j,k=0;

for(i=0;i<alumnos;i++){

if(max==promedio[i])

k++;

if(k==1)

printf("\n\nEl alumno con mayor nota es: ");

else

printf("\n\nLos alumnos con mayor nota son: ");

for(i=0;i<alumnos;i++){

if(max==promedio[i]){

j = 0;

while(nombres[i][j]!='\0'){

printf("%c",nombres[i][j]);

j++;
}

if(k==1)

printf("");

else if(k==2){

k--;

printf(" y ");

else

printf(", ");

printf(" Promedio: %.1f",max);

También podría gustarte