Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C by hhh ( 15 years ago )
#include <stdio.h>
#include <stdlib.h>
/* Struktura koja sadrzi ime i pokazivac na sledecu strukturu */
typedef struct podaci {
char ime[20];
struct podaci *sledeci;
}podatak;
void unos_na_pocetak(podatak **prvi);
void unos_na_kraj(podatak **prvi);
void ispis(podatak *prvi);
/* Biranje opcija */
int main()
{
podatak *prvi;
prvi = (podatak *)malloc(sizeof(podatak));
prvi = NULL;
int opcija;
while(1){
printf("n (1) Unos na pocetak liste ");
printf("n (2) Ispis liste ");
printf("n (3) Unos na kraj liste ");
scanf("%d",&opcija;);
switch(opcija)
{
case 1: unos_na_pocetak(&prvi;);
break;
case 2: ispis(prvi);
break;
case 3: unos_na_kraj(&prvi;);
break;
}
}
return 0;
}
/* Ispisivanje svih clanova liste */
void ispis(podatak *prvi){
while(prvi != NULL)
{
printf("[DEBUG]n");
printf("%sn",prvi->ime);
prvi =(prvi->sledeci);
}
}
/*Unos informacije na pocetak liste*/
void unos_na_pocetak(podatak **prvi)
{
fflush(stdin); //brisanje buffera od promenljive 'opcija'
char name[20];
printf("Unesite ime osobe:n");
gets(name);
podatak *novi;
novi = (podatak *)malloc(sizeof(podatak));
strcpy(novi->ime,name);
novi->sledeci = *prvi;
*prvi = novi;
}
/*Unos informacije na kraj liste*/
void unos_na_kraj(podatak **prvi)
{
fflush(stdin); //brisanje buffera od promenljive 'opcija'
char name[20];
printf("Unesite ime osobe:n");
gets(name);
podatak *novi;
podatak *pom;
podatak *pret;
pret = pom = *prvi;
novi = (podatak *)malloc(sizeof(podatak));
strcpy(novi->ime,name);
novi->sledeci = NULL;
if(*prvi==NULL) *prvi = novi;
else{
while(pom)
{
pret = pom;
pom = pom->sledeci;
}
pret->sledeci = novi;
}
}
Revise this Paste