#4 KIIV
Jde mi spíš o to, jak by se měly přidávat prvky té struktury
Příspěvky odeslané z IP adresy 79.98.158.–
Problém: při výpisu dat ze struktury se zobrazují pouze naposledy zadaná data
Proč to dělá ? Tipuji, že ukazatel je stále na jednom místě.
Kód, který sem přidávám je tak trochu směs googlení a mé vlastní tvořivosti. Takže bych rád uvítal i kritiku za chyby. Díky
Struktura do které zapisuji vypadá takto:
typedef struct pocitac{
int hodnota;
char jmeno[30];
struct pocitac *p_dalsi;
}POCITAC;
Funkce, která by měla zajišťovat přidání dat do struktury:
POCITAC *pridej(POCITAC **n, int hodnota, char nazev[30])
{
POCITAC* prvni = NULL;
prvni = malloc(sizeof(POCITAC));
POCITAC* dalsi = malloc(sizeof(POCITAC));
dalsi->hodnota = hodnota;
strcpy(dalsi->jmeno,nazev);
dalsi->p_dalsi = NULL;
if(prvni == NULL){
prvni = dalsi;
}
POCITAC* p_novy = prvni;
while(p_novy->p_dalsi != NULL) {
p_novy = p_novy->p_dalsi;
}
p_novy->p_dalsi = dalsi;
p_novy = prvni;
return p_novy;
}
int main()
{
int pocitej = 0;
int i = 0;
POCITAC *p_ukaz = NULL;
p_ukaz = malloc(sizeof(POCITAC));
while(strcmp(p_ukaz->jmeno, "konec") != 0) {
scanf("%d",&p_ukaz->hodnota);
scanf("%s", &(p_ukaz->jmeno));
pridej(&p_ukaz,p_ukaz->hodnota,p_ukaz->jmeno);
pocitej++;
}
for(i=0;i<pocitej;i++){
list_print(p_ukaz);
}
return 0;
}
Děkuju moc za pomoc, tak trochu se v tom ztrácím.