Iz E-študij, proste zakladnice študentskega znanja
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//definiram strukturo zaloga
struct zaloga
{
int kolicina;
struct zaloga *next;
char naziv[20];
};
//prototipi funkcij
struct zaloga *dodaj(struct zaloga*);
void izpisiSeznam(struct zaloga*);
//MAIN
int main(int argc, char *argv[])
{
struct zaloga *head = NULL;
printf("Koliko artiklov zelis zapisati: ");
int stevec = 0, i;
scanf("%d",&i);
while(stevec<i)
{
head = dodaj(head);
stevec++;
}
izpisiSeznam(head);
free(head); //popucamo za sabo
return 0;
}
struct zaloga *dodaj(struct zaloga *h)
{
struct zaloga *q, *r;
q = (struct zaloga*) malloc(sizeof(struct zaloga));
printf("Vpisi naslov: ");
scanf("%s",q->naziv);
printf("Vpisi vrednost: ");
scanf("%d",&q->kolicina);
q->next = NULL;
if (h == NULL)
{
//printf("glava null");
return q;
}
r = h;
while(r->next != NULL )
{
r = r->next;
}
r->next = q;
return h;
}
void izpisiSeznam(struct zaloga *p)
{
printf("IZPISI SEZNAM\n");
while( p!=NULL )
{
printf("%s: \t %d gr\n", p->naziv, p->kolicina);
p = p->next;
}
}
- Super bi blo, če bi se še velikost stringa naziv določala dinamično, sam mi nikakor ni ratal še tega skp spravt. --kaalen 20:39, 14 sep 2005 (CEST)