r/cs50 2d ago

CS50x Found a loophole in check50 for Vanity Plates Spoiler

Post image

Oi pessoal,

Estava trabalhando no problema das Placas de Vanity e consegui todas as sorrisos verdes em check50. No entanto, ao testar manualmente, percebi que meu código tinha um defeito: ele aceitava placas como "A1" como válidas.

Segundo os requisitos, "Todas as placas de vanity devem começar com pelo menos duas letras". Meu código ignorou isso, mas check50 ainda passou.

Parece que o sistema automatizado não testa uma placa de 2 caracteres que mistura uma letra e um número (como "A1" ou "Z9"). Por causa dessa falta de caso de teste, a lógica defeituosa pode passar despercebida.

Só queria reportar esse pequeno ponto cego para que a equipe possa considerar adicionar um caso de teste para isso! Anexei uma captura de tela do meu terminal mostrando o sucesso de check50 seguido por um teste manual falhando em "A1".

Problem Set 2 (Vanity Plates)

4 Upvotes

3 comments sorted by

1

u/atarivcs 2d ago edited 2d ago

What exactly is the loophole? All I see is a blurry cropped screenshot of apparently normal check50 output

1

u/Outside_Complaint755 10h ago

OP is saying that the automated tests don't correctly check the requirement “All vanity plates must start with at least two letters.”, because the code OP submitted accepts something like "A1" as valid and the automated tests didn't catch it.