-
Notifications
You must be signed in to change notification settings - Fork 0
/
WMain.py
132 lines (97 loc) · 3.37 KB
/
WMain.py
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
from tkinter import *
from PIL import ImageTk
global window
window = Tk()
# Função para a tela inicial
def iniciar():
global num_disciplinas, window, creditos, medias
window.destroy()
window = Tk()
window.title("Calculadora CR UERJ")
window.resizable(False, False)
Label(
window,
text="Seja bem-vinde à calculadora de Coeficiente de Rendimento (CR) da UERJ!",
).pack()
Button(window, text="Iniciar", command=obter_num_disciplinas).pack()
Button(window, text="Como é calculado o CR da UERJ?", command=sobre_cr).pack()
Button(window, text="Extra", command=extra).pack()
window.mainloop()
# Função para calcular o CR
def calcular_cr(num_disciplinas, creditos, medias):
numerator = 0.0
denominator = 0.0
for i in range(num_disciplinas):
credit = float(creditos[i].get())
average = float(medias[i].get())
numerator += credit * average
denominator += credit
cr = numerator / denominator
# Destruir a janela atual e mostrar o resultado
window.destroy()
resultado_window = Tk()
resultado_window.title("")
resultado_window.resizable(False, False)
Label(resultado_window, text=f"Seu CR este semestre é: {cr:.2f}").pack()
resultado_window.mainloop()
# Função para obter o número de disciplinas
def obter_num_disciplinas():
global window, num_disciplinas
window.destroy()
window = Tk()
window.title("Calculando CR")
window.resizable(False, False)
Label(window, text="Quantas matérias você inscreveu-se nesse semestre?").pack()
num_disciplinas_entry = Entry(window)
num_disciplinas_entry.pack()
def proximo():
num_disciplinas = int(num_disciplinas_entry.get())
creditos = [None] * num_disciplinas
medias = [None] * num_disciplinas
window.destroy()
configurar_disciplinas(num_disciplinas, creditos, medias)
Button(window, text="Avançar", command=proximo).pack()
window.mainloop()
# Função para configurar as disciplinas
def configurar_disciplinas(num_disciplinas, creditos, medias):
global window
window = Tk()
window.title("")
window.resizable(False, False)
for i in range(num_disciplinas):
Label(window, text=f"Quantos créditos a {i+1}ª matéria possui?").pack()
creditos[i] = Entry(window)
creditos[i].pack()
Label(window, text=f"Qual foi sua média na {i+1}ª matéria?").pack()
medias[i] = Entry(window)
medias[i].pack()
Button(
window,
text="Calcular CR",
command=lambda: calcular_cr(num_disciplinas, creditos, medias),
).pack()
window.mainloop()
# Função para a tela "Extra"
def extra():
global window
window.destroy()
window = Tk()
window.title("")
window.resizable(False, False)
Label(
window, text="Feito com muito carinho por \n Breno Alexandre Santana Silva \n ❤"
).pack()
Button(window, text="Voltar", command=iniciar).pack()
window.mainloop()
# Função para mostrar informações sobre o CR
def sobre_cr():
global window
window.destroy()
window = Tk()
window.title("Sobre o CR")
window.resizable(False, False)
cr_screen_image = ImageTk.PhotoImage(file="crscreen.jpg")
Label(window, image=cr_screen_image).pack()
Button(window, text="Voltar", command=iniciar).pack()
window.mainloop()
iniciar()