Else-If
Parte de la sección Fundamentals del Journey de C de Coddy — lección 27 de 63.
La sentencia else-if te permite comprobar múltiples condiciones en secuencia. Cuando la primera condición if falla, pasa a comprobar la siguiente condición else-if, y así sucesivamente.
Comienza con una sentencia if básica:
if (grade >= 90) {
printf("A grade\n");
}Añade un else-if para comprobar otra condición:
if (grade >= 90) {
printf("A grade\n");
} else if (grade >= 80) {
printf("B grade\n");
} else if (grade >= 70) {
printf("C grade\n");
}Finalmente, puedes añadir una sentencia else al final para manejar todos los demás casos:
if (grade >= 90) {
printf("A grade\n");
} else if (grade >= 80) {
printf("B grade\n");
} else if (grade >= 70) {
printf("C grade\n");
} else {
printf("Failed\n");
}Desafío
FácilEscribe un programa que reciba un valor de temperatura y un carácter ('C' o 'F') que indique la escala. Basándote en la temperatura en Celsius, imprime uno de los siguientes mensajes:
- Si la temperatura es < 0°C: "Freezing"
- Si la temperatura está entre 0°C y 20°C: "Cold"
- Si la temperatura está entre 21°C y 30°C: "Pleasant"
- Si la temperatura es > 30°C: "Hot"
Si la entrada está en Fahrenheit, conviértela primero a Celsius usando la fórmula: C = (F - 32) * 5/9.
Imprime el mensaje exactamente como se muestra arriba basándote en la temperatura.
Hoja de referencia
La sentencia else-if permite comprobar múltiples condiciones en secuencia. Cuando la primera condición if falla, se mueve a comprobar la siguiente condición else-if.
Estructura básica de else-if:
if (condition1) {
// code for condition1
} else if (condition2) {
// code for condition2
} else if (condition3) {
// code for condition3
} else {
// code for all other cases
}Ejemplo con comprobación de calificaciones:
if (grade >= 90) {
printf("A grade\n");
} else if (grade >= 80) {
printf("B grade\n");
} else if (grade >= 70) {
printf("C grade\n");
} else {
printf("Failed\n");
}Pruébalo tú mismo
#include <stdio.h>
int main() {
int temperature;
char scale;
scanf("%d", &temperature);
scanf(" %c", &scale);
// No cambies nada por encima de esta línea
// Escribe tu código aquí
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Flujo de control
Sentencia IfIf - ElseElse-IfSwitch CaseOperador condicional ternarioDesafío de repasoIf - Else anidados2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso