[ student_mostar @ 18.05.2009. 17:21 ] @
Treba mi hitno pomoc, na fakultetu smo dobili zadatak da napravimo program u C sa izbornikom, i trebao bi raditi sljedeće funkcije:

- stvarat listu
- ispisivat listu na ekran
- umetnut element u listu
- izbrisat element iz liste
- pronaći element u listi

Implementacija može pomoću polja ili pomoću malloc free(što sam ja koristio)

Uz to treba svaka od ovih operacija biti u zasebnom cpp file-u i trebam napraviti zaseban header file (***.h) koji se implementira u svaki cpp

Ja sam nešto radio ali imam problem, i to pri umosu liste(odmah na početku) gdje mi program stane...

Molim vas za pomoć


U prilogu zadaca1.rar je cijeli dokument koji sam ja pisao...

Unaprijed zahvaljujem na pomoci
[ student_mostar @ 19.05.2009. 10:59 ] @
Vidim da mi nitko nista ne vraca... ajde onda cu morat stavit kod, gdje ja pretpostavljam da je greska....


Code:

struct lista *stvori_listu()
{
    struct lista *pocetak_liste = KRAJ, *novi;
    char izbor;
    int da_ne=1, i;

    printf("Stvaranje nove liste:\n \n");
    
    while(da_ne)
    {
        novi =(struct lista *)malloc(sizeof(struct lista));
        if(novi == NULL)
        {
            printf("Greska001 --> Nema dovoljno memorije!\n");
            exit (1);
        }

        printf("Unesite vrijednost:\t");
        fflush(stdin);
        scanf("%d ", &i);
        novi->clan=i;
        novi->sljedeci=KRAJ;


        printf("\nDali zelite unjeti jos elemenata?\t (D/N):");
        fflush(stdin);
        scanf("%c", &izbor); 
        if (izbor == 'D' || izbor == 'd') 
            continue; 
        else if (izbor == 'N' || izbor == 'n') 
            da_ne = 0; 
        else 
            printf("\n Neispravan izbor!"); 
        break;
    }
    return(pocetak_liste);
}



Dakle program mi ispise sljedece:

Stvaranje nove liste:

Unesite vrijednost:

(ja unesem neki broj i stisnem enter)

A program mi samo ode u drugi red, dakle nista se ne desava...
[ Mihajlo Cvetanović @ 19.05.2009. 11:11 ] @
Problem je u scanf formatu, "%d ". scanf očekuje spejs, a spejs nikako da dođe. Ukloni spejs.
[ X Files @ 19.05.2009. 11:13 ] @
... a što se tiče jednostruko spregnutih lista, pogledaj kod u ovoj temi:
http://www.elitesecurity.org/p2232517