-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathprogram.rb
78 lines (63 loc) · 1.64 KB
/
program.rb
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
require_relative 'estagio'
SAIR = 4
def imprime_vagas(vagas_para_imprimir)
vagas_para_imprimir.each_with_index do |vaga, index|
puts "Vaga ##{index + 1}"
puts vaga
end
end
def menu()
puts "\nMENU\n"
puts '#1 - Inserir uma vaga'
puts '#2 - Ver todas as vagas'
puts '#3 - Busca'
puts "##{SAIR} - Sair\n\n"
end
puts 'Boas Vindas - Sistema de Vagas'
menu()
print 'Escolha uma opção: '
opcao = gets().to_i()
vagas = []
while(opcao != SAIR) do
if(opcao == 1)
print 'Informe o título da vaga: '
titulo = gets().chomp()
print 'Informe a descrição da vaga: '
descricao = gets().chomp()
print 'Tipo da Vaga: [1] Estagio [2] Regular'
tipo = gets().to_i
if tipo == 1
print 'Informe o curso do estagio: '
curso = gets().chomp()
print 'Informe o prazo do estagio (em meses): '
prazo = gets().to_i()
vaga = Estagio.new(titulo, descricao, curso, prazo)
else
vaga = Vaga.new(titulo, descricao)
end
vagas << vaga
elsif opcao == 2
imprime_vagas(vagas)
elsif opcao == 3
print 'Que termo você está buscando? '
termo = gets().chomp()
vagas_encontradas = []
=begin
vagas.each do |v|
if (v[:titulo].downcase().include?(termo.downcase()) ||
v[:descricao].downcase().include?(termo.downcase()))
vagas_encontradas << v
end
end
=end
vagas_encontradas = vagas.select do |v|
v.include?(termo)
end
puts "Resultado: #{vagas_encontradas.length} vagas encontradas"
imprime_vagas(vagas_encontradas)
end
menu()
print 'Escolha uma nova opção: '
opcao = gets().to_i()
end
puts 'Adeus...'