Program ma wyświetlać wybraną ilość struktur i ma być oparty na listach. Wyświetla się tylko pierwsza dodana struktura, w kolejnych liczby z kosmosu. Proszę o pomoc.
#include <stdio.h>
#include <stdlib.h>
int *wskg[10], *wskm[10], *wskd[10], *wskmi[10], *wskr[10];
float *wsktemp[10], *wskwilg[10], *wskcis[10], *wskwiatr[10];
struct lista {
int datag[10];
int datam[10];
int datad[10];
int datami[10];
int datar[10];
float temp[10];
float wilg[10];
float cis[10];
float wiatr[10];
struct lista * next;
};
typedef struct lista element;
void main()
{
element * biezacy, * poczatek;
int i, j;
poczatek = NULL;
printf("Ile wynikow chcesz dodac?");
scanf("%d",&j);
int datag[10], datam[10], datad[10], datami[10], datar[10];
float temp[10], wilg[10], cis[10], wiatr[10];
for(i=0;i<j;i++)
{
printf( "Podaj godzine: " );
scanf( "%d", & datag[i] );
wskg[i]=&datag[i];
printf( "Podaj minute: " );
scanf( "%d", & datam[i] );
wskm[i]=&datam[i];
printf( "Podaj dzien: " );
scanf( "%d", & datad[i] );
wskd[i]=&datad[i];
printf( "Podaj miesiac: " );
scanf( "%d", & datami[i] );
wskmi[i]=&datami[i];
printf( "Podaj rok: " );
scanf( "%d", & datar[i] );
wskr[i]=&datar[i];
printf( "Podaj temperature [stopnie Celsjusza]: " );
scanf( "%f", & temp[i] );
wsktemp[i]=&temp[i];
printf( "Podaj wilgotnosc [%%]: " );
scanf( "%f", & wilg[i] );
wskwilg[i]=&wilg[i];
printf( "Podaj cisnienie [hPa]: " );
scanf( "%f", & cis[i] );
wskcis[i]=&cis[i];
printf( "Podaj predkosc wiatru [km/h]: " );
scanf( "%f", & wiatr[i] );
wskwiatr[i]=&wiatr[i];
printf( "\n" );
biezacy =( element * ) malloc( sizeof( element ) );
biezacy->datag[i] = *wskg[i];
biezacy->datam[i] = *wskm[i];
biezacy->datad[i] = *wskd[i];
biezacy->datami[i] = *wskmi[i];
biezacy->datar[i] = *wskr[i];
biezacy->temp[i] = *wsktemp[i];
biezacy->wilg[i] = *wskwilg[i];
biezacy->cis[i] = *wskcis[i];
biezacy->wiatr[i] = *wskwiatr[i];
biezacy->next = poczatek;
poczatek = biezacy;
biezacy = poczatek;
}
for(i=0;i<j;i++)
{
while( biezacy )
{
printf( "Godzina %d:%d Dnia %d.%d.%d\nTemperatura: %f stopni C\nWilgotnosc: %2.f %%\nCisnienie: %f hPa\nPredkosc wiatru: %f km/h\n\n",
biezacy->datag[i],
biezacy->datam[i],
biezacy->datad[i],
biezacy->datami[i],
biezacy->datar[i],
biezacy->temp[i],
biezacy->wilg[i],
biezacy->cis[i],
biezacy->wiatr[i] );
biezacy = biezacy->next;
poczatek = biezacy;
biezacy = poczatek;
}
}
getch();
return 0;
}