If y switch en C++
Filtra la entrada rara con if y deja que switch reparta el rango normal en casos.
#include <string>
std::string grade_label(int score) {
if (score < 0 || score > 100) {
return "invalid";
}
switch (score / 25) {
case 4:
case 3:
return "pass";
case 2:
return "retry";
default:
return "fail";
}
}
Cómo funciona
- El
ifrechaza puntajes fuera de 0 a 100 antes de clasificar nada. switch (score / 25)pliega el rango en cinco grupos con división entera.case 4cae encase 3: un 100 perfecto gana la misma etiqueta que de 75 hacia arriba.returntermina cada caso, así que no hace faltabreak;defaultatrapa todo lo demás.
Palabras clave y builtins usados aquí
casedefaultifintreturnswitch
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 212
- Tokens
- 66
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 50 segundos.
Paso 1 de 3 en Control de flujo; paso 4 de 27 en Fundamentos del lenguaje.