Nesta parte do projeto, vais implementar a solução usando ficheiros binários. Vais recolher os dados dos utilizadores, guardá-los num ficheiro binário e permitir ao utilizador ler os dados guardados.
Passo 1: Pedir os Dados do Utilizador
import struct
# Pedir o nome e a idade de três utilizadores
utilizadores = []
for i in range(3):
nome = input("Introduz o nome do utilizador (máximo 20 caracteres): ")
nome = nome[:20].ljust(20) # Garantir que o nome tem exatamente 20 caracteres
idade = int(input("Introduz a idade do utilizador: "))
utilizadores.append((nome, idade))
Passo 2: Guardar os Dados num Ficheiro Binário
# Guardar os dados num ficheiro binário
with open("utilizadores.bin", "wb") as ficheiro:
for utilizador in utilizadores:
ficheiro.write(struct.pack('20s i', utilizador[0].encode(), utilizador[1]))
Passo 3: Ler os Dados de um Ficheiro Binário
# Ler e exibir os dados do ficheiro binário
with open("utilizadores.bin", "rb") as ficheiro:
while chunk := ficheiro.read(24): # 20 bytes para o nome + 4 bytes para a idade
nome, idade = struct.unpack('20s i', chunk)
print(f"Nome: {nome.decode().strip()}, Idade: {idade}")