All pastes #460241 Raw Edit

Nesh

public text v1 · immutable
#460241 ·published 2007-04-26 23:05 UTC
rendered paste body
/*
Napravena od Aleksandar Nesic (C) 2007.
Ovaa programa e slobodna za koristenje i za umnozuvanje.
Ovaa programa e napravena za da vi pomogne vo rabotata
so toa sto ke ja koristite za svoi potrebi bez nekakvi
garancii deka raboti ekstremno dobro.
Uzivajte vo programata.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

typedef struct katalog
{
        char ime[40];
        char reziser[30];
        char zanr[30];

struct katalog* sleden;     /* Pokazuvac kon sledniot element(film) */
struct katalog* prethoden;  /* Pokazuvac kon prethodniot element(film) */

} katalog_a;

katalog_a* prv=NULL;        /* Sekogas pokazuva kon prviot element(film) */
katalog_a* posleden=NULL;   /* Sekogas pokazuva kon posledniot element(film) */
int golemina=0;

/* Sega ke sleduva funkcija so koja ke mozat da se dodavaat filmovi vo listata */

void nov_film (char *ime, char *reziser, char *zanr)
{
katalog_a* nov=(katalog_a*)malloc(sizeof(katalog_a));  /* dinamicki gi locira podatocite */

nov->ime=ime;
nov->reziser=reziser;
nov->zanr=zanr;

/* Sega vo zavisnost od toa dali listata so filmovi vo koja ke go vnesete noviot film e prazna
   ili polka ke sledat slednite naredbi -> */
   
if (prv==NULL) 
{
    nov->sleden=NULL;
    nov->prethoden=NULL;
    prv=posleden=nov;
}
else
{
    nov->sleden=NULL;
    posleden->sleden=nov;
    nov->prethoden=posleden;
    posleden=nov;
}
golemina++;
}

/* Za da go vidite Katalogot so filmovi momentalno sto go imate treba i ovaa opcija
   koja ke vi gi izlista site filmovi dosega sto gi imate vneseno */
   
void pecati_katalog
{
katalog_a* prikazi;
int i=1;

if (prv)
{
        prikazi=prv;
        cout << "Katalogot vo momentot sodrzi %d Filmovi :\n\n" << golemina << endl;
        while (prikazi)
{
        cout << "::-  %s  -::-  %s  -::-  %s  -::\n",prikazi->ime, prikazi->reziser, prikazi->zanr;
        break;
}
 prikazi=prikazi->sleden;
 i++;
}
 cout << "\n" << endl;
 
 else 
 cout << "Listata e prazna." << endl;
}


/* Stignavme do glavnata programa kade ke go prikaze interfejsot i funkcionalnosta na goresrabotenite funkcii */

int main()
{
    int i=0, izbor=0;
    char *ime, *reziser, *zanr;
    
    cout << "..:: Personalen Film Katalog ::.." << endl;
    
    do 
{
    cout << "[1] Upatstvo za korisnikot\n[2] Izlistaj gi filmovite vo katalogot\n[3] Dodadi nov film vo listata\n[4] Izlez od programata\n" << endl;
    izbor1:
    cin >> izbor;
    
    switch (izbor)
{
    case 1: cout << "Filmskiot Katalog vi ovozmozuva lesno i ednostavno da gi podredite vashite filmovi koi gi imate vo vashata domashna kolekcija. So sledenje i izbiranje na eden od rednite broevi od glavnoto meni ke mozete da gi izlistate vashite filmovi." << endl;
            cout << "Filmski Katalog v1.0 izraboten od Aleksandar Neshikj, za kontakt obratete se na : aleksandar.nesik@feit.ukim.edu.mk" << endl;
    case 2:
            pecati_katalog;
            break;
    case 3:
            cout << "Vnesi ime na filmot :\n" << endl;
            cin >> ime;
            cout << "Vnesi go reziserot na filmot :\n" << endl;
            cin >> reziser;
            cout << "Vnesi po koj zanr da se vodi filmot :\n" << endl;
            cin >> zanr;
            nov_film (ime, reziser, zanr);
            cout << "\n" << endl;
            break;
    case 4:
            break;
    
    default:
            cout << "Pogresen izbor (izberi 1,2,3 ili 4)\n" << endl;
            goto izbor1;
}
}
    while(izbor!=8);

	return 0;
}