Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - mickroses1

#1
Programación C/C++ / promedio alumnos en C
30 Noviembre 2016, 05:53 AM
hola lo que pasas es que necesito hacer un programa que pueda  decirme  el promedio de los alumnos  cuantos alumnos  aprobados y cuantos  reprobados, y tambien el mas alto y el mas bajo de los promedios y el promedio total de todos lo que llevo es esto.

#ifndef BIBLIOTECA_H_INCLUDED
#define BIBLIOTECA_H_INCLUDED

#include <stdio.h>
#include <stdlib.h>

void llenaDatos(float cal[50][50],char nombres[50][50],int n,int m);
void imprimeDatos(float cal[50][50],char nombres[50][50],int n,int m);
void promedioind(float cal[50][50],int n,int m);
void promedioind2(float prom[50],float cal[50][50],int n,int m);
void aprobadosreprobados(float cal[50][50],char nombres[50][50],int n,int m);

void llenaDatos(float cal[50][50],char nombres[50][50],int n,int m){

   int i,j;

   for(i=0;i<n;i++){
       printf("\n\ Alumno %d: ",i+1);
       fgets(nombres[i],50,stdin);
       strtok(nombres[i],"\n");
       for(j=0;j<m+1;j++){
           if(j==m){
               cal[i][j]=0;
           }else{
              printf("\t\nCalificacion del parcial %d: ",j+1);
               scanf("%f",&cal[i][j]);
               fflush(stdin);
           }
       }
   }

}

void imprimeDatos(float cal[50][50],char nombres[50][50],int n,int m){

   system("cls");
   int i,j;
   float promedios[50];

   promedioind(cal,n,m);
   //promedioind2(promedios,cal,n,m);

   printf("\t Alumno \t ");
   for(i=0;i<m;i++){
      printf("Parcial %d \t\t",i+1);
   }
   printf("Promedio final");
   printf("\n");

   for(i=0;i<n;i++){
       printf(" %d .- %s \t\t", i+1,nombres[i]);
       for(j=0;j<m+1;j++){
           printf("%f \t\t",cal[i][j]);
       }
       printf("\n");
   }

  /* for(i=0;i<n;i++){
       printf(" %d .- %s \t\t", i+1,nombres[i]);
       for(j=0;j<m;j++){
           printf("%f \t\t",cal[i][j]);
       }
        printf("%f \t\t",promedios[i]);
       printf("\n");
   }
   */

}

void promedioind(float cal[50][50],int n,int m){
   int i,j;
   for(i=0;i<n;i++){
       for(j=0;j<m;j++){
           cal[i][m]+=cal[i][j];
       }
       cal[i][m]/=m;
   }
}

void promedioind2(float prom[50],float cal[50][50],int n,int m){
   int i,j;
   for(i=0;i<n;i++){
       prom[i]=0;
       for(j=0;j<m;j++){
           prom[i]+=cal[i][j];
       }
       prom[i]/=m;
   }
}

void aprobadosreprobados(float cal[50][50],char nombres[50][50],int n,int m){
   int i,j,apro,repro;
   char aproba[50][50],reprueba[50][50];

   for(i=0,repro=0,apro=0;i<n;i++){
       if(cal[i][m]<6){
           repro++;
       }else{
           apro++;
       }
   }

   printf("\n\t Hubo %d aprobados \n",apro);
    printf("\n\t Hubo %d reprobados \n",repro);
   printf("\n");

}

#endif // BIBLIOTECA_H_INCLUDED


#include <stdio.h>
#include <stdlib.h>
#include "Biblioteca.h"

int main(void)
{
   float calificaciones[50][50];
   int alumnos,parciales;
   char nombres [50][50];

   printf("\t\n Ingrese la cantidad de alumnos: ");
   scanf("%d",&alumnos);

   printf("\t\n Ingrese la cantidad de parciales: ");
   scanf("%d",&parciales);

   fflush(stdin);

   system("cls");

   llenaDatos(calificaciones,nombres,alumnos,parciales);

   imprimeDatos(calificaciones,nombres,alumnos,parciales);

   aprobadosreprobados(calificaciones,nombres,alumnos,parciales);

   return 0;
}



Mod: Los códigos deben ir en etiquetas GeSHi, los titulos deben ser descriptivos