Към bezplatno.info портал | Галерия | Сайтове | Чат | Цитати | #bezplatno.info @ uniBG | Филми | Футбол | Качване на картинки | Health and weight loss
 Въпроси/Отговори ::  Търсене ::  Потребители ::  Потребителски групи ::   Регистрирайте се ::  Вход 


Google
 





- А стига бе, стабилен Shell и то с SMS?
- Ахам, при нашия спонсор Forci.com!

Програма на Паскал за ресторант
 
Създайте нова тема   Напишете отговор
Безплатни домейни Форуми » IT Уроци
Предишната тема :: Следващата тема  
Автор Съобщение
ckunap
Бедняк
Бедняк


Регистриран на: 14 Фев 2011
Мнения: 6

6 Домейн Точки

МнениеПуснато на: Вто Фев 15, 2011 6:58 pm    Заглавие: Програма на Паскал за ресторант Отговорете с цитат

Сорс код:

Код:
USES

crt;


TYPE

Uk_tl = ^Table_List;

Table_List = record

tb_number: byte;

tb_places: byte;

Tb_flag: boolean;{*true-masata e zaeta, false-masata e svobodna*}

next: Uk_tl;

end;

Uk_wl = ^Wait_List;

Wait_List = record

cnt_people: byte;

next: Uk_wl;

end;


VAR

head_tl: Uk_tl;

head_wl: Uk_wl;

curr_tl: Uk_tl;

curr_wl: Uk_wl;

i: byte;

last: Uk_tl;

last_wl: Uk_wl;

mk_place_flag: boolean;

cnt_person, n_table: byte;

ans: char;


procedure Make_table_list;

begin

new(curr_tl);

if ((i>=1) and (i<10>=11) and (i<15>=16) and (i<=20)) then

begin

curr_tl^.tb_number:= i;

curr_tl^.tb_places:= 6;

curr_tl^.tb_flag:= false;

end;

curr_tl^.next:= nil;

if head_tl = nil then

begin

head_tl:= curr_tl;

end else

begin

last^.next:=curr_tl;

end;

last:=curr_tl;

inc(i);

if i<=20 then Make_table_list;

end;


procedure print(cur: Uk_tl);

var

stat: string;

begin

if cur^.tb_flag=false then stat:='Svobodna' else stat:='Zaeta';

writeln('Masa nomer -> ', cur^.tb_number, ' broi mesta -> ', cur^.tb_places, ' masata e -> ', stat);

if cur^.next<nil>=cnt_person) and (curr^.tb_flag=false)) then

begin

curr^.tb_flag:=true;

mk_place_flag:=true;

exit;

end;

if curr^.next<> nil then Make_place(curr^.next);

end;


procedure Make_free(curr: Uk_tl);

begin

if (curr^.tb_number=n_table) and (curr^.tb_flag=true) then curr^.tb_flag:=false;

if curr^.next <> nil then Make_free(curr^.next);

end;

procedure Make_place_with_wl(cur: Uk_tl; cur_wl: Uk_wl);

procedure Remove_from_wl(cur: Uk_wl);

begin

head_wl:=cur;

end;

begin

if head_wl <nil>=cur_wl^.cnt_people) and (cur^.tb_flag=false)) then

begin

Remove_from_wl(cur_wl^.next);

cur^.tb_flag:=true;

mk_place_flag:= true;

end else Make_place_with_wl(cur^.next, head_wl);

end else writeln('Nqma 4aka6ti v spisaka za 4aka6ti zaqvki');

end;


BEGIN

clrscr;

head_tl:= nil;

head_wl:= nil;

i:=1;

Make_table_list;

repeat

clrscr;

writeln('Spisuk na masite i tehniqt status:');

print(head_tl); writeln;

writeln('1 -> Nastanqvane na nov client');

writeln('2 -> Osvobojdavane na masa');

writeln('0 -> Izhod');

readln(ans);

case (ans) of

{*Nastanqvane na novopostupila zaqvka*}

'1':begin

repeat

write('Buvedete broi klienti maksimum 6 -> ');

readln(cnt_person);

until cnt_person<=6;

mk_place_flag:= false;

Make_place(head_tl);

if (mk_place_flag=true) then writeln('Horata sa nastaneni!')

else begin

Put_in_wait_list;

writeln('Nqma svobodna masa zaqvkata e zapisana v spisuka na 4aka6tite zaiavki!');

end;

readln;

end;

'2':begin

write('Vuvedete nomer na masa za osvobojdavane -> '); readln(n_table);

Make_free(head_tl);

mk_place_flag:= false;

Make_place_with_wl(head_tl, head_wl);

if (mk_place_flag) then writeln('Horata sa nastaneni!'); readln;

end;

'0': exit;

end;

until ans='0';

END.
Вижте профила на потребителя Изпратете лично съобщение
Sponsor
BRAINSPORTAL
Покажи мнения от преди:   
Безплатни домейни Форуми » IT Уроци Часовете са според зоната GMT + 2 Часа
Създайте нова тема   Напишете отговор
Страница 1 от 1

 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
SMS Реклама
receptite.co.cc | dietichno.com | WWW.OBQVI.US | bg-download.info | mmo-bg.com | mmo-bg.com.knigite | www.Flirtovete.com | Simpatiagi.com | kolelo.net | FILMI.be | 
Към bezplatno.info портал | Галерия | Сайтове | Чат | Цитати | #bezplatno.info @ uniBG | Филми | Футбол | Качване на картинки | Health and weight loss