#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <malloc.h>
int main(void)
{
double *temp = NULL;
double *sichern = NULL;//für realloc zum zwischenspeichern
double *luft = NULL;
int werte = 0;
int werte_pro_tag = 3;
int tage = 1;
int i = 0;
int j = 0;
int k = 0;
double summeT = 0.0;
double summeL = 0.0;
printf("F\201r wieviele Tage sollen die Messdaten eingelesen werden?");
printf("\nIhre eingabe: ");
scanf("%d", &tage);
printf("\n");
//Speicher für Temperaturen reservieren
if( NULL == (temp = (double*)malloc(tage * werte_pro_tag * sizeof(double))) )
{
printf("\nEs konnte kein Speicher reserviert werden!");
exit(1);
}
//Speicher für Luftdruck reservieren
if( NULL == (luft = (double*)malloc(tage * sizeof(double))) )
{
printf("\nEs konnte kein Speicher reserviert werden!");
exit(1);
}
for(i=0; i<tage; i++)
{
printf("\nTag: %d\n", i+1);
for(j=0; j<werte_pro_tag; j++, k++ )
{
printf(" Temperatur %d: ", j+1 );
while( 1 != scanf ( "%lf", &temp[k] ))
{
puts("Fehler in der Eingabe, bitte wiederholen!");
while(getchar () != '\n');//puffer leeren
}
while(getchar () != '\n');
}
printf(" Luftdruck: ");
scanf("%lf", &luft[i]);
}
for(i=0; i<=k; i++)//durchschnitt Temperaturen
{
summeT += temp[i];
}
for(i=0; i<tage; i++)//durchschnitt Luftdruck
{
summeL += luft[i];
}
summeT /= k;
summeL /= (k/3);
printf("\nDurchnittstemperatur \201ber %d Tag(e): %f", k/3, summeT);
printf("\nDurchnittsluftdruck \201ber %d Tag(e): %f", k/3, summeL);
//Hier abfragen ob noch ein weiterer Tag eingegeben werden soll
printf("\n\n");
printf("Wollen Sie weitere Tage eingeben[j/n]?");
if('j' == getch())
{
printf("\n\nF\201r wieviele Tage sollen die Messdaten eingelesen werden?");
printf("\nIhre eingabe: ");
scanf("%lf", &tage);
if( NULL == (temp = (double*)realloc(temp, _msize(temp) + werte_pro_tag * tage * sizeof(double)) ))
{
printf("\nEs konnte kein Speicher reserviert werden!");
exit(1);
}
printf("\nNeuer Speicher ist reserviert!");
//Hier neue Daten einlesen...
}
else
{
printf("\n***Der reservierte Speicherplatz wurde wieder freigegeben***");
printf("\n***Das Programm wird beendet***");
}
free(temp);
free(luft);
//free(sichern);
printf("\n\n");
return 0;
}