Advertisement
zielo

Untitled

Jun 17th, 2018
604
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 2.15 KB | None | 0 0
  1. ## MODEL DZIALANIA MAGAZYNU
  2. #### DANE WEJSCIOWE ####
  3. stan=[5 4 0 20];  #4 artykuly i ich stany
  4. ##############
  5.  
  6. #### FUNKCJE
  7.  
  8. function [wyd] = wydaj(st,nr_pr,il)
  9.   if (spr_stan(st,nr_pr) < il)  #sprawdzam stan, zeby uniknac ujemnych ilosci
  10.     display ("Niewystarczajaca ilosc towaru");
  11.     wyd=0;
  12.   else
  13.     wyd(1:il)=nr_pr; #ilustracja wydania okreslonej ilosci sztuk produktu
  14.   endif
  15.  
  16. endfunction
  17.  
  18. function [sta] = spr_stan(st,nr_pr)
  19.   sta = st(nr_pr);  
  20. endfunction
  21.  
  22.  
  23. ##### PROGRAM ZASADNICZY
  24.  
  25. do
  26.   #menu
  27.   display("1. Pokaz stan");
  28.   display("2. Wydanie z magazynu");
  29.   display("3. Przyjecie na magazyn");
  30.   display("Pozostale: wyjscie");
  31.   wyb = input("Wybierz: ");
  32.    if (wyb==1)
  33.     produkt = input("Podaj nr produktu:")
  34.     wynik=spr_stan(stan,produkt);
  35.     printf("Stan magazynowy produktu nr %u to %u \n",produkt,wynik);
  36.     elseif(wyb==2)
  37.       produkt = input("Podaj nr produktu:");
  38.       ile = input("Podaj ilosc:");
  39.       a=wydaj(stan,produkt,ile);
  40.       if (a) #jesli a != 0 - czyli stany pozwalaja na wydanie towaru
  41.         stan(produkt)=stan(produkt)-ile;
  42.       endif
  43.       printf("Wydany towar: ");
  44.       printf("%u ",a);
  45.       printf("\nStan produktu nr %u po wydaniu: %u",produkt,spr_stan(stan,produkt));  
  46.     elseif(wyb==3)
  47.       produkt = input("Podaj nr produktu:");
  48.       ile = input("Podaj ilosc:");
  49.       w=length(stan); #zmienna pomocnicza - ilosc rodzajow produktow
  50.       if (produkt<=w) #jezeli produkt o danym indeksie juz istnieje
  51.         stan(produkt)+=ile;
  52.         printf("\nStan produktu nr %u po przyjeciu: %u",produkt,spr_stan(stan,produkt));
  53.       elseif(produkt==++w) #jezeli indeks nowego produktu wiekszy o 1 (czyli kolejny)
  54.         resize(stan,1,(++w));
  55.         stan(produkt)=ile;
  56.         printf("\nStan produktu nr %u po przyjeciu: %u",produkt,spr_stan(stan,produkt));
  57.        else #indeks wiekszy o min 2 od najwyzszego istniejacego
  58.         printf("\nKolejny wolny indeks produktu to: %u",++w);
  59.       endif
  60.   else
  61.     display("PA PA PA"); #papa ;)
  62.   endif
  63.   pause;
  64.   disp("");
  65.   disp("");
  66. until (wyb != 1 && wyb != 2 && wyb != 3) #petla z menu do momentu wybrania nieistniejacej pozycji
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement