-
Notifications
You must be signed in to change notification settings - Fork 0
/
desafio.kt
51 lines (40 loc) · 1.64 KB
/
desafio.kt
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
// Kotlin Playground atualizado: https://pl.kotl.in/gvS2sqowJ
enum class Nivel { BÁSICO, INTERMEDIÁRIO, AVANÇADO }
data class Usuario(val nome: String, val email: String, val id: Int, val curso: Nivel){
override fun toString(): String{
return "Usuario: $nome, email: $email, id: $id, curso: $curso"
}
}
data class ConteudoEducacional(var nome: String, val duracao: Int)
data class Formacao(val nome: String, var conteudos: List<ConteudoEducacional>) {
val inscritos = mutableListOf<Usuario>()
fun adicionarUsuario(usuario: Usuario) {
inscritos.add(usuario)
}
fun consultarUsuario(id: Int): Usuario? {
return inscritos.find { it.id == id }
}
fun removerUsuario(id: Int) {
inscritos.removeIf { it.id == id }
}
}
fun main() {
val formacao = Formacao("Desafio DIO", listOf(
ConteudoEducacional("Basico", 40),
ConteudoEducacional("Intermediario", 90),
ConteudoEducacional("Avançado", 120)))
// add usuario
formacao.adicionarUsuario(Usuario("João Silva", "[email protected]", 1, Nivel.BÁSICO))
formacao.adicionarUsuario(Usuario("Maria Oliveira", "[email protected]", 2, Nivel.INTERMEDIÁRIO))
formacao.adicionarUsuario(Usuario("Carlos Sousa", "[email protected]", 3, Nivel.AVANÇADO))
// Consulta de usuario
val usuario1 = formacao.consultarUsuario(1)
val usuario2 = formacao.consultarUsuario(2)
val usuario3 = formacao.consultarUsuario(3)
println("$usuario1")
println("$usuario2")
println("$usuario3")
// remover usuario
formacao.removerUsuario(2)
println("Usuários inscritos após remoção: ${formacao.inscritos}")
}