## MODEL DZIALANIA MAGAZYNU #### DANE WEJSCIOWE #### stan=[5 4 0 20]; #4 artykuly i ich stany ############## #### FUNKCJE function [wyd] = wydaj(st,nr_pr,il) if (spr_stan(st,nr_pr) < il) display ("Niewystarczajaca ilosc towaru"); wyd=0; else wyd(1:il)=nr_pr; endif endfunction function [sta] = spr_stan(st,nr_pr) sta = st(nr_pr); endfunction ##### PROGRAM ZASADNICZY do display("1. Pokaz stan"); display("2. Wydanie z magazynu"); display("3. Przyjecie na magazyn"); display("Pozostale: wyjscie"); wyb = input("Wybierz: "); if (wyb==1) produkt = input("Podaj nr produktu:") wynik=spr_stan(stan,produkt); printf("Stan magazynowy produktu nr %u to %u \n",produkt,wynik); elseif(wyb==2) produkt = input("Podaj nr produktu:"); ile = input("Podaj ilosc:"); a=wydaj(stan,produkt,ile); if (a) stan(produkt)=stan(produkt)-ile; endif printf("Wydany towar: "); printf("%u ",a); printf("\nStan produktu nr %u po wydaniu: %u",produkt,spr_stan(stan,produkt)); elseif(wyb==3) produkt = input("Podaj nr produktu:"); ile = input("Podaj ilosc:"); w=length(stan); if (produkt<=w) stan(produkt)+=ile; printf("\nStan produktu nr %u po przyjeciu: %u",produkt,spr_stan(stan,produkt)); elseif(produkt==++w) resize(stan,1,(++w)); stan(produkt)=ile; printf("\nStan produktu nr %u po przyjeciu: %u",produkt,spr_stan(stan,produkt)); else printf("\nKolejny wolny indeks produktu to: %u",++w); endif else display("PA PA PA"); endif pause; disp(""); disp(""); until (wyb != 1 && wyb != 2 && wyb != 3)