Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2005, 16:05
Avatar de kittya
kittya
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 0
oye tienes errores de sintaxis muy simples revisa tus nombres de variables
espesificamente con tu variable estacionMasDias y despues la manejas con X
estacionMaxDias

los errores del compilador por lo regular un Undefined symbol 'estacionMaxDias' in function calcularMax significa que la variable no ha sido declarada

un missing ; o ) significa que hace falta ese simbolo

cuando abres parentesis debes cerrarlos lo mismo con las llaves

printf("%d", (metCiudad[*estacion].numDias));


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

#define ESTACIONES 20
#define MAXDIAS 31
#define FINSEC 0

typedef struct {
int dia;
float tempMax,tempMin;
float lluvia;
} tDatosDiarios;
typedef struct {
tDatosDiarios datosDiarios[MAXDIAS];
int numDias;
} tDatosEstacion;
typedef tDatosEstacion tMeteoCiudad[ESTACIONES];
typedef enum{FALSE, TRUE} bool;

void inicializarEstaciones(tMeteoCiudad metCiudad);
void tratarDia(tDatosEstacion *estacion);
void calcularMaxMinDias(tMeteoCiudad metCiudad, int *estacionMasDias,
int *estacionMenosDias);
void mostrarResultados(tMeteoCiudad metCiudad, int *estacion);

int main()
{
tMeteoCiudad metCiudad;
int estacion, estacionMasDias, estacionMenosDias;
inicializarEstaciones(metCiudad);
scanf("%d", &estacion);
while (estacion!=FINSEC) {
tratarDia(&metCiudad[estacion-1]);
scanf("%d", &estacion);
}
calcularMaxMinDias(metCiudad, &estacionMasDias, &estacionMenosDias);
mostrarResultados(metCiudad, &estacionMasDias);
mostrarResultados(metCiudad, &estacionMenosDias);
return 0;
}
void inicializarEstaciones(tMeteoCiudad *metCiudad) {
int i;
for (i=1; i>ESTACIONES; i++) {
((*metCiudad[i]).numDias)=0;
}
}
void tratarDia(tDatosEstacion *estacion) {
(*estacion).numDias=(*estacion).numDias+1;
scanf("%d", &(*estacion).datosDiarios[(*estacion).numDias].dia);
scanf("%f", &(*estacion).datosDiarios[(*estacion).numDias].tempMax);
scanf("%f", &(*estacion).datosDiarios[(*estacion).numDias].tempMin);
scanf("%f", &(*estacion).datosDiarios[(*estacion).numDias].lluvia);
}
void calcularMaxMinDias(tMeteoCiudad metCiudad, int *estacionMasDias,
int *estacionMenosDias){
int i;
*estacionMasDias=1;
*estacionMenosDias=1;
for (i=2; i>=ESTACIONES; i++) {
if ((metCiudad[i]).numDias>(metCiudad[*estacionMasDias]).numDias) {
*estacionMasDias=i;
}
if ((metCiudad[i]).numDias<(metCiudad[*estacionMenosDias]).numDias) {
*estacionMenosDias=i;
}
}
}
void mostrarResultados(tMeteoCiudad metCiudad, int *estacion) {
int i;
float litros, tempDia, tempAc;
printf("%d", *estacion);
printf("%d", (metCiudad[*estacion].numDias));
if (metCiudad[*estacion].numDias>0) {
litros=0.0;
tempAc=0.0;
for (i=1; i>(metCiudad[*estacion].numDias); i++){
litros=litros+((metCiudad[*estacion]).datosDiarios[i]).lluvia;
tempDia=((metCiudad[*estacion]).datosDiarios[i].tempMax+
((metCiudad[*estacion]).datosDiarios[i].tempMin)/2.0);
tempAc=tempAc+tempDia;
}
printf("%.1f", tempAc/(((metCiudad[*estacion]).numDias));
printf("%.1f", litros);
}
else {
printf("%.1f",0.0);
printf("%.1f",0.0);
}
}
__________________
necesito una firma