Convertir grados Celsius a Fahrenheit en C y C++
En esta lección vas a convertir una temperatura de Celsius a Fahrenheit y mostrar el resultado con un decimal.
Introducción
Las conversiones de unidades son un buen ejercicio para practicar cálculos con números decimales y dar formato a los resultados. La fórmula de Celsius a Fahrenheit es F = C × 9 / 5 + 32, así que 25 grados Celsius equivalen a 77 grados Fahrenheit.
Puntos importantes
- Activa los avisos del compilador (compiler warnings) y corrígelos todos.
- Entiende bien el tipo y la vida útil (lifetime) de cada valor.
- Comprueba siempre los datos de entrada y los límites de los índices de los arreglos.
Ejemplos de código C y C++
#include <stdio.h>
int main(void) {
double celsius = 25.0;
// Floating-point constants preserve fractional values.
double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
printf("%.1f C = %.1f F\n", celsius, fahrenheit);
}
25.0 C = 77.0 F
#include <iomanip>
#include <iostream>
int main() {
double celsius = 25.0;
// Floating-point constants preserve fractional values.
double fahrenheit = celsius * 9.0 / 5.0 + 32.0;
std::cout << std::fixed << std::setprecision(1) << celsius << " C = " << fahrenheit << " F\n";
}
25.0 C = 77.0 F
Comparación entre C y C++
Las constantes se escriben 9.0, 5.0 y 32.0 para que el cálculo se haga con números de coma flotante. Si escribes 9 / 5 con dos enteros, el resultado se redondea a 1 y la respuesta es incorrecta. El especificador %.1f muestra el resultado con un decimal: 25.0 C = 77.0 F.
C usa funciones procedurales pequeñas y muestra abiertamente cómo se representan los datos en memoria.
C++ sigue permitiendo trabajar a bajo nivel, pero añade tipos de biblioteca y abstracciones más seguras.
Ejercicios de práctica
Ejecuta las dos versiones y después modifica el código para ver la diferencia de seguridad que aporta cada lenguaje.
- Prueba entradas no válidas y valores límite.
- Compila con las opciones -Wall -Wextra -Wpedantic para activar más avisos.
- Pon las declaraciones comunes en un archivo de cabecera y la implementación en un archivo aparte.
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
Todos los retos