-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmde_mainMenu.pl~
104 lines (83 loc) · 2.57 KB
/
mde_mainMenu.pl~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
:-ensure_loaded(golog2_32).
:-ensure_loaded(fabrica).
cls :- write('\e[H\e[2J').
start:-
cls,
def_fabrica,
def_instrumento,
def_pecas,
def_alarm,
def_is_in_relation,
def_is_a_relation,
def_has_relation.
menu_open :-
%gerir produtos(Criar, visualizar, alterar e apagar produtos), gerir pecas (Criar, visualizar, alterar e apagar peças)
repeat, nl, nl,
writeln('1 - Gerir fabricas'),
writeln('2 - Gerir produtos'),
writeln('3 - Gerir pecas'),
writeln('4 - Atribuir peças'),
writeln('5 - Listar produtos'),
writeln('6 - Listar produtos e suas características por ordem crescente'),
writeln('7 - Encomendar produto(s)'),
writeln('8 - Visualizar mensagens de alarme'),
writeln('9 - Requisito relevante'),
writeln('0 - Sair'),
nl,
read(Opcao),
nl,
execute_option(Opcao),
Opcao =='0', !.
execute_option(Opcao):-
(Opcao =:= 1-> menu_fabrica;
Opcao =:= 2 -> menu_produto;
Opcao =:= 3 -> menu_peca;
Opcao =:= 4 -> listar_instrumento;
Opcao =:= 5 -> list_alarms).
%menu referente às operações realizadas nas fábricas
menu_fabrica:-
writeln('1- Adiciona fabricas'),
writeln('2- Apagar fabricas '),
writeln('3- Listar fabricas'),
writeln('4- Alterar nome'),
writeln('5- Alterar cidade'),
writeln('6- Alterar capacidade máxima de armazenamento de produtos'),
writeln('7- Alterar número total de produtos em stock'),
writeln('0- Back').
%menu referente às operações realizadas nas peças
menu_peca:-
writeln('1- Adiciona pecas'),
writeln('2- Apagar pecas '),
writeln('3- Listar pecas '),
writeln('4- Alterar referencia'),
writeln('5- Alterar cor'),
writeln('5- Alterar quantidade'),
writeln('0- Back').
%menu referente às operações realizadas nos produtos
menu_produto:-
writeln('1- Adicionar produto'),
writeln('2- Apagar produto '),
writeln('3- Listar produto '),
writeln('4- Alterar nome '),
writeln('5- Alterar Referencia '),
writeln('6- Alterar data de fabrico '),
writeln('7- Alterar preço '),
writeln('8- Alterar quantidade '),
writeln('9- Alterar peças '),
writeln('0- Back').
%Method that gets the date we are currently on.
%date(year,month,day,hour,minute,seconds,offset relative to ITC in seconds, Local timezone, true if daylight saving time applies to the current time)
get_date(D):-
get_time(T),
stamp_date_time(T,D,'UTC').
readListUntil(List,End):-
(readElement((E,N),End)-> List=[(E,N)|L1],
readListUntil(L1,End);
List=[]).
readElement((E,N), End):-
read(E),
dif(E,End),
read(N).
display_values_from_list([H|T]):-
write(H),nl,
display_values_from_list(T).