Desafío de repaso n.º 2
Parte de la sección Fundamentals del Journey de C de Coddy — lección 52 de 63.
Desafío
IntermedioEscribe un programa en C que implemente una calculadora sencilla utilizando funciones. Tu programa debe:
- Implementar las siguientes funciones:
add(int a, int b): devuelve la suma de a y bsubtract(int a, int b): devuelve la diferencia entre a y bmultiply(int a, int b): devuelve el producto de a y bdivide(int a, int b): devuelve el cociente de a dividido por b (maneja la división por cero)
- Implementar una función
calculate(int a, int b, char operation)que tome dos enteros y un carácter de operación (+, -, *, /) como argumentos, llame a la función adecuada y devuelva el resultado. - En la función main, lee dos enteros y un carácter separados por espacios (por ejemplo,
10 5 +); el carácter será uno de los signos de operador, o el carácterq— si leesq, finaliza el programa. Usascanf("%d %d %c", &a, &b, &op)para leer la entrada. - Usa la función
calculatepara realizar la operación y mostrar el resultado - Maneja las operaciones no válidas y la división por cero imprimiendo
Invalid input
Te recomendamos usar prototipos de funciones para declarar todas las funciones por encima del main, y luego crear la función en sí debajo del main, para que tu código sea más legible y limpio
Pruébalo tú mismo
#include <stdio.h>
// Declara tus funciones aquí
int main() {
// Tu código aquí
return 0;
}
// Implementa tus funciones aquíTodas las lecciones de Fundamentals
4Flujo de control
Sentencia IfIf - ElseElse-IfSwitch CaseOperador condicional ternarioDesafío de repasoIf - Else anidados7Funciones
Declarar una funciónTipos de retornoParámetrosDesafío de repaso n.º 1Fundamentos de recursividadPrototipos de funcionesDesafío de repaso n.º 22Variables
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