ERROR ARREGLOS, FUNCIONES Y Makefile.win

Iniciado por alfo1294, 27 Julio 2012, 05:19 AM

0 Miembros y 1 Visitante están viendo este tema.

alfo1294

Una ayuda para alguien que recien empieza :D :

#include <stdio.h>
#define ESTUDIANTES 3
#define EXAMENES 4

int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
double promedio(const int estableceCalif[],int examenes);
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
main()

{

int estudiante;
const int calificacionesEstudiantes[ESTUDIANTES][EXAMENES] = {{77,68,86,73},{96,87,89,78},{70,90,86,81}};

printf("El arreglo es:\n");
despliegaArreglo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES);


printf("\n\nCalificacion mas baja: %d\nCalificacion mas alta: %d",minimo(calificacionesEstuadiantes, ESTUDIANTES, EXAMENES),
maximo(calificacionesEstuadiantes, ESTUDIANTES, EXAMENES)) ;


for(estudiante=0; estudiante < ESTUDIANTES; estudiante++){
printf("El pro6medio de calificacion del estudiante %d es %.2f\n"),
estudiante, promedio(calificacionesEstudiantes[estudiante],
EXAMENES);
};
system("PAUSE");
return 0;
}
int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
int i;
int j;
int califBaja=100;

for(i=0;i<alumnos; i++){
for(j=0;j<examenes; j++){
if(calificaciones[j]<califBaja) {
califBaja= calificaciones[j];
}//fin de if
}//fin de for interno
}//fin de for externo
return califBaja;
}//Fin de funcion maximo

double promedio(const int conjuntoDeCalificaciones[], int examenes)
{
int i;
int total=0;

for(i=0; i<examenes; i++) {
total += conjuntoDeCalificaciones;
}//fin de for
return(double)total/examenes;
}//fin de funcion promedio
//IMPRIME ARREGLO
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
int i;
int j;

printf("
  • [1] [2] [3]");

    for(i=0;i<alumnos; i++){
    printf("\ncalificacionesEstudiantes[%d]",i);

    for(j=0; j<examenes; j++){
    printf("%-5d",calificaciones[j]);
    }//fin del for interno
    }//fin del for externo
    }//fin de la funcion despliegaArreglo






    ME DA ESTOS ERRORES, PERO NO SE COMO ARREGLARLOS. :S

    F:\Dev-Cpp\COPIAR A LA PC\Arreglo_de_doble_subindice.c In function `main':
    21 F:\Dev-Cpp\COPIAR A LA PC\Arreglo_de_doble_subindice.c `calificacionesEstuadiantes' undeclared (first use in this function)
    (Each undeclared identifier is reported only once
    for each function it appears in.)
    F:\Dev-Cpp\COPIAR A LA PC\Makefile.win [Build Error] [Arreglo_de_doble_subindice.o] Error 1

avesudra

#1
Hola , para empezar bienvenido al foro , bien , ¿podrías poner el código bajo las etiquetas GeSHi? , si no sabes como , editas el mensaje , seleccionas todo el código , te vas donde pone GeSHi despliegas y le das a C y guardas el mensaje. En cuanto a los errores si lo pones ahora te lo miro.

Como tardas en ponerlo pongo tu código , compilar compila pero no muestra los resultados que quieres ni mucho menos:
Los errores:
Está claro que calificacionesEstuadiantes no está definida, ponlo bien.Hay más errores pero no los he resuelto eso es cosa tuya pues yo no sé como vá el código.
#include <stdio.h>
#include <windows.h>
#define ESTUDIANTES 3
#define EXAMENES 4

int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
double promedio(const int estableceCalif[],int examenes);
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes);
int main()
{

   int estudiante;
   const int calificacionesEstudiantes[ESTUDIANTES][EXAMENES] = {{77,68,86,73},{96,87,89,78},{70,90,86,81}};

   printf("El arreglo es:\n");
   despliegaArreglo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES);


   printf("\n\nCalificacion mas baja: %d\nCalificacion mas alta: %d\n",minimo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES),maximo(calificacionesEstudiantes, ESTUDIANTES, EXAMENES)) ;


   for(estudiante=0; estudiante < ESTUDIANTES; estudiante++)
   {
       printf("El promedio de calificacion del estudiante %d es %.2f\n",estudiante, promedio(calificacionesEstudiantes[estudiante],EXAMENES));
   }
   system("PAUSE");
   return 0;
}

int minimo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
   int i;
   int j;
   int califBaja=100;

   for(i=0; i<alumnos; i++)
   {
       for(j=0; j<examenes; j++)
       {
           if((int)calificaciones[j]<califBaja)
           {
               califBaja= (int)calificaciones[j];
           }//fin de if
       }//fin de for interno
   }//fin de for externo
   return califBaja;
}//Fin de funcion maximo



double promedio(const int conjuntoDeCalificaciones[], int examenes)
{
   int i;
   int total=0;

   for(i=0; i<examenes; i++)
   {
       total += (int)conjuntoDeCalificaciones;
   }//fin de for
   return(double)total/examenes;
}//fin de funcion promedio




//IMPRIME ARREGLO
void despliegaArreglo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
   int i;
   int j;

   printf("[1] [2] [3]");


   for(i=0; i<alumnos; i++)
   {
       printf("\ncalificacionesEstudiantes[%d]\n",i);

       for(j=0; j<examenes; j++)
       {
           printf("%-5d\n",calificaciones[j]);
       }//fin del for interno
   }//fin del for externo
}//fin de la funcion despliegaArreglo




int maximo(const int calificaciones[][EXAMENES], int alumnos, int examenes)
{
//Se te ha olvidado definirla
}

Regístrate en