Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Pomoć oko lista

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Pomoć oko lista

[ Pregleda: 1355 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

student_mostar
Student
Mostar

Član broj: 171092
Poruke: 13
*.tel.net.ba.



Profil

icon [Zadatak] Pomoć oko lista18.05.2009. u 17:21 - pre 181 meseci
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
Mario
Prikačeni fajlovi
 
Odgovor na temu

student_mostar
Student
Mostar

Član broj: 171092
Poruke: 13
*.tel.net.ba.



Profil

icon Re: [Zadatak] Pomoć oko lista19.05.2009. u 10:59 - pre 181 meseci
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...

Mario
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: [Zadatak] Pomoć oko lista19.05.2009. u 11:11 - pre 181 meseci
Problem je u scanf formatu, "%d ". scanf očekuje spejs, a spejs nikako da dođe. Ukloni spejs.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
93.87.4.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Pomoć oko lista19.05.2009. u 11:13 - pre 181 meseci
... a što se tiče jednostruko spregnutih lista, pogledaj kod u ovoj temi:
http://www.elitesecurity.org/p2232517
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Pomoć oko lista

[ Pregleda: 1355 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.