Skip to content

Meu projeto do curso CS50: Um analisador de pdfs que processa as notas dos aprovados pelo Acesso Enem e organiza tudo. Agora em C++

Notifications You must be signed in to change notification settings

euyogi/Projeto-Anceu-CS50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto-Anceu-CS50

Header

Esse é o meu projeto final para o curso CS50 - é um aplicativo que analisa as notas de corte do enem para a UnB, feito em python agora em C++, que checa as notas dos candidatos que participaram do Enem e se inscreveram na Universidade de Brasília - UnB, mostrando por fim um resumo para cada curso da instituição, com as maiores notas, a média e as menores notas (nota de corte) em cada cota disponível.

É possível calcular também a sua própria nota, já que a universidade possui um sistema de pesos para as notas de cada área.

Para testar:

Baixe o programa aqui [WINDOWS] (desenvolvido para windows 11 mas funcionou em outras versões nos meus testes).

Se quiser ver o código e compilar você mesmo, baixe o .zip com todos os arquivos, nele se você quiser compilar com Visual Studio tem uma solução do Visual Studio 2022, além de ser possível compilar também com CMake. Ambos disponíveis na pasta new_cpp_app e a antiga versão Python em old_python_app, baixe o .zip aqui.

Tela Inicial:

Tela inicial

Pesquisando Curso:

Pesquisando curso

Tela Após Pesquisar Notas de Algum Curso (Nesse caso o curso pesquisado foi medicina):

Após pesquisar curso

Tela Após Selecionar Ver Detalhes:

Após selecionar ver detalhes

Funcionalidades:

  • Uma barra de pesquisa com opções para pesquisar/escolher o curso desejado
  • Opções para escolher o ano em que quer pesquisar as notas (2023, 2022 ou 2021)
  • Opções para escolher a chamada, para ver as notas de quem foi aprovado nas outras chamadas (1ª, 2ª, 3ª...)
  • Opção para ver uma lista com todas as inscrições, notas e as respectivas posições dos candidatos aprovados separados por vírgulas assim como nos pdfs (10000000, 999.99,5,-,1...)
  • Painel para aplicar os pesos da UnB à sua nota
  • Possibilidade de copiar os resultados facilmente
  • Possibilidade de dar zoom na maior caixa de texto (a que aparece os resultados) para melhor visualização

Diferença da nova versão em C++:

  • De (em alguns casos como medicina) 10s para menos de 1s para pesquisar notas do curso
  • A versão .exe anterior tinha mais de 30mb e só funcionava com diversos arquivos .dll, agora é menos de 5mb e funciona sozinha (teoricamente, ainda tenho que testar)
  • Agora a barra de pesquisa vai mostrando o nome dos cursos similares ao que você está digitando (muito bom)
  • O menu com a lista de cursos agora tem uma barra de rolagem (graças a deus)
  • Agora o programa é dimensionável e suporta diferentes escalas do windows (100%, 125%, etc...) (antes se mudasse a escala textos ficariam estranhos)
  • O tamanho padrão da janela é menor que antes
  • Agora da para dar zoom na maior caixa de texto
  • Ao pesquisar a barra de progresso funciona durante todo o processo (antes era só enquanto estava baixando os pdfs)
  • Não criamos mais um arquivo .txt com os resultados (você ainda pode copiar os resultados)
  • A parte onde insere suas notas agora só aceita números e formata automaticamente eles (para o formato 000.00)
  • É possível abrir os links da tela de informações
  • As dicas agora tem bordas arredondadas
  • Mudança do som do clique
  • Mudança da fonte (Cascadia Code para Ubuntu Mono Regular)
  • Mudança do ícone (antes era o padrão do customtkinter)
  • Adicionado opções de 2023, removido opções de 2020
  • Otimizações se for pesquisar cursos do mesmo ano e chamada em seguida

Bibliotecas e códigos:

Toda a interface do programa é feita com Dear ImGui e a barra de pesquisa foi feita pelo khlorz e está disponível aqui, apesar de ter feito algumas alterações mínimas em ambos. Também utilizei esse código do NeWi para começar o conversor de pdf. (Por isso o nome Neyo -> NeWi + Yogi)

Escolhas:

Bom, escolhi criar esse programa pois eu tive bastante dificuldade para checar as notas para o curso que eu quero e quase não havia informações na internet sobre as notas do ano de 2022, assim, por ser um processo que se manual é bem trabalhoso tendo que comparar e pesquisar termos em dois PDFs e impossibilitado de ver as informações organizadinhas, decidi criar esse programa, ele passou por diversos estágios desde um processo semi-automático em que era necessário copiar os dados manualmente, para automático em que o programa baixava o PDF e extraia os dados com o aperto de um botão, além de melhorias no desempenho, até por fim uma nova versão em C++ mais polida e muito mais rápida, leve e agora com uma versão .exe (executável para windows) facilmente baixável.

Apesar do programa não ser nada muito grande, nem ser super portável como um site ou um aplicativo mobile ainda pude ajudar dezenas de pessoas com as mesmas dificuldades que eu tive no começo com o programa:

Como era o programa em Python? (muito parecido, pelo menos em visual)

Projeto feito por: Yogi Nam de Souza Barbosa

Footer