Foros del Web » Programación para mayores de 30 ;) » Programación General »

Solicitud de Ayuda

Estas en el tema de Solicitud de Ayuda en el foro de Programación General en Foros del Web. Por favor, ayudarme a solvertar los errores. Yo soy incapaz de eliminarlos. Os quedaría muy agradecido. #include <stdio.h> #include <stdlib.h> #define ESTACIONES 20 #define MAXDIAS ...
  #1 (permalink)  
Antiguo 07/11/2005, 15:39
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 1
Antigüedad: 18 años, 5 meses
Puntos: 0
Solicitud de Ayuda

Por favor, ayudarme a solvertar los errores. Yo soy incapaz de eliminarlos. Os quedaría muy agradecido.

#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;
*estacionMaxDias=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/(float((metCiudad[*estacion]).numDias));
printf("%.1f", litros);
else {
printf("%.1f",0.0);
printf("%.1f",0.0);
}
}
Muchas gracias por vuestra colaboración y ayuda. Hasta pronto.
  #2 (permalink)  
Antiguo 07/11/2005, 16:05
Avatar de kittya  
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.