-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruby_training.arb
More file actions
138 lines (120 loc) · 3.46 KB
/
ruby_training.arb
File metadata and controls
138 lines (120 loc) · 3.46 KB
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
class RubyTraining
def initialize
@movies = {
'Mortal Combat' => 2,
'Fast and Furious' => 3
}
end
def occurence_counter
puts 'Entrer une phrase'
text = gets.chomp
words = text.split(' ')
frequencies = Hash.new(0)
words.each do |key|
frequencies[key] += 1
end
frequencies = frequencies.sort_by do |_key, value|
value
end
frequencies.reverse!
puts 'Occurence dans la phrase entrée'
frequencies.each { |k,v|
puts "#{k} : #{v}"
}
end
def sort_element
puts "Combien d\'élève voulez vous enregistrer ?"
nbr = Integer(gets.chomp)
sujet_list = []
(1..nbr).each do |i|
puts 'Entrer le nom et prénom du sujet'
sujet_list[i] = gets.chomp
end
puts 'Voici la liste des sujets en ordre alphabétique'
sujet_list.sort!
i = 1
sujet_list.each do |y|
puts "#{i}. #{y}"
i += 1
end
end
def movies_notation
puts "Nous notons sur 4 \n Menu"
puts ' Entrer *add* pour ajouter un nouveau film à la liste de film'
puts ' Entrer *update* pour mettre à jour la note d\'un filme'
puts ' Entrer *display* pour afficher les films enregistrer'
puts ' Entrer *delete* pour supprimer un film de la liste des films'
puts 'Que voudriez-vous faire ?'
choice = gets.chomp
case choice
when 'add'
puts 'Entrer le nom d\'un film'
title = gets.chomp
puts 'Entrer la note du film'
rating = Integer(gets.chomp)
while rating > 4 || rating.negative?
puts 'La note du film est comprise entre 0 et 4. Vueillez entrer une nouvelle note'
rating = Integer(gets.chomp)
end
if @movies[title.to_sym].nil?
@movies[title.to_sym] = rating.to_i
puts 'Film ajouter'
puts 'Nouvelle liste des films'
@movies.each do |key, value|
puts "#{key}: #{value}"
end
else
puts 'Ce film est déjà disponible'
end
puts 'Reprendre le programme ? y/n'
c = gets.chomp
@movies_notation if c == 'y'
when 'update'
puts 'Entrer le nom du film à mettre à jour'
title = gets.chomp
if @movies[title.to_sym].nil?
puts 'Ce film est indisponible'
else
puts 'Entrer la nouvelle note du film'
rating = Integer(gets.chomp)
while rating > 4 || rating.negative?
puts 'La note du film est comprise entre 0 et 4. Vueillez entrer une nouvelle note'
rating = Integer(gets.chomp)
end
movies[title.to_sym] = rating.to_i
puts 'Note mise à jour'
puts 'Nouvelle liste des films'
@movies.each do |key, value|
puts "#{key}: #{value}"
end
end
when 'display'
puts 'liste des films dispo'
@movies.each do |key, value|
puts "#{key}: #{value}"
end
puts 'Reprendre le programme ? y/n'
c = gets.chomp
@movies_notation if c == 'y'
when 'delete'
puts 'Entrer le nom du film à supprimer'
title = gets.chomp
if @movies[title.to_sym].nil?
puts 'Ce film est indisponible'
puts @movies[title.to_sym]
else
@movies.delete(title.to_sym)
puts 'Film supprimer'
puts 'Nouvelle liste des films'
@movies.each do |key, value|
puts "#{key}: #{value}"
end
end
puts 'Reprendre le programme ? y/n'
c = gets.chomp
@movies_notation if c == 'y'
else
puts 'Error!'
end
end
end