-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCadastroAlunos.py
More file actions
123 lines (91 loc) · 2.86 KB
/
Copy pathCadastroAlunos.py
File metadata and controls
123 lines (91 loc) · 2.86 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
# Lista que armazena todos os alunos
# Cada aluno será um dicionário
alunos = []
# Dicionário que indexa a matrícula e aponta para o índice na lista
indice_matricula = {}
def cadastrar_aluno():
nome = input("Nome: ")
# Validação da idade
try:
idade = int(input("Idade: "))
if idade < 0:
print("Idade não pode ser negativa!")
return
except ValueError:
print("Idade inválida!")
return
matricula = input("Matrícula: ")
# Verifica se a matrícula já existe
if matricula in indice_matricula:
print("Matrícula já cadastrada!")
return
# Cria o aluno como um dicionário
aluno = {
"nome": nome,
"idade": idade,
"matricula": matricula
}
# Adiciona na lista
alunos.append(aluno)
# Atualiza o índice da matrícula
indice_matricula[matricula] = len(alunos) - 1
print("Aluno cadastrado com sucesso!")
def buscar_aluno():
matricula = input("Digite a matrícula: ")
if matricula not in indice_matricula:
print("Aluno não encontrado!")
return
indice = indice_matricula[matricula]
aluno = alunos[indice]
print("Nome:", aluno["nome"])
print("Idade:", aluno["idade"])
print("Matrícula:", aluno["matricula"])
def listar_alunos():
if len(alunos) == 0:
print("Nenhum aluno cadastrado!")
return
print("\n=== LISTA DE ALUNOS ===")
for aluno in alunos:
print("----------------------")
print("Nome:", aluno["nome"])
print("Idade:", aluno["idade"])
print("Matrícula:", aluno["matricula"])
def remover_aluno():
matricula = input("Digite a matrícula para remover: ")
if matricula not in indice_matricula:
print("Matrícula não encontrada!")
return
indice_remover = indice_matricula[matricula]
# Remove o aluno da lista
alunos.pop(indice_remover)
# Remove a matrícula do índice
del indice_matricula[matricula]
# Atualiza os índices das matrículas restantes
for i in range(indice_remover, len(alunos)):
mat = alunos[i]["matricula"]
indice_matricula[mat] = i
print("Aluno removido com sucesso!")
def menu():
while True:
print("\n=== MENU ===")
print("1 - Cadastrar aluno")
print("2 - Buscar por matrícula")
print("3 - Listar todos")
print("4 - Remover por matrícula")
print("0 - Sair")
opcao = input("Escolha uma opção: ")
if opcao == "1":
cadastrar_aluno()
elif opcao == "2":
buscar_aluno()
elif opcao == "3":
listar_alunos()
elif opcao == "4":
remover_aluno()
elif opcao == "0":
print("Saindo do sistema...")
break
else:
print("Opção inválida!")
# Início do programa
menu()