Repaso: Calculadora modular
Parte de la sección Object Oriented Programming del Journey de C de Coddy — lección 5 de 61.
Desafío
FácilVamos a construir una calculadora modular que realice operaciones aritméticas básicas, organizada en tres archivos para practicar todo lo que has aprendido sobre la programación modular en C.
Crearás tres archivos:
calc.h: Tu archivo de cabecera que declara tres funciones de calculadora:add,subtract, ymultiply. Cada función toma dos enteros y devuelve un entero. Protege tu cabecera con guardas de inclusión utilizando el símboloCALC_H.calc.c: Tu archivo de origen que contiene las implementaciones de las tres operaciones. Recuerda incluir tu propia cabecera para asegurar que las declaraciones y definiciones se mantengan sincronizadas.main.c: Tu archivo principal que incluye la cabecera y utiliza las funciones de la calculadora para realizar operaciones basadas en la entrada.
Recibirás tres entradas enteras: a, b, y c.
In tu función principal, realiza los siguientes cálculos e imprime cada resultado en una línea separada:
- La suma de
ayb - El resultado de restar
cdea - El producto de
byc
Imprime los resultados en este formato:
Sum: {result}
Difference: {result}
Product: {result}Por ejemplo, con las entradas 10, 5, y 3, la salida sería:
Sum: 15
Difference: 7
Product: 15Pruébalo tú mismo
#include <stdio.h>
#include "calc.h"
int main() {
int a, b, c;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
// TODO: Calcular la suma de a y b usando la función add
// TODO: Calcular la diferencia de a menos c usando la función subtract
// TODO: Calcular el producto de b y c usando la función multiply
// TODO: Imprimir los resultados en el formato requerido:
// Sum: {result}
// Difference: {result}
// Product: {result}
return 0;
}
Todas las lecciones de Object Oriented Programming
1Fundamentos de programación modular
Archivos de cabeceraGuardas de inclusiónArchivos fuenteFunciones estáticasRepaso: Calculadora modular4Encapsulamiento
Concepto de punteros opacosDefinición de structs opacosGetters y SettersValidación en settersResumen: Caja secreta7Punteros a funciones
Declaración de punteros a funcionesLlamada a punteros a funcionesTypedef para punteros a funcionesPasar funciones como argumentosRepaso: Dispatch de calculadora10Contenedores genéricos
Repaso de punteros voidWrapper genéricoSwap genéricoComparación genéricaRepaso: Array genérico2Objetos y métodos
Structs como objetosEl puntero 'Self'Const CorrectnessPuntero vs. ValorMétodos auxiliaresResumen: Point Manager5Proyecto: Cuenta bancaria simple
Configuración del proyectoImplementación de la cuenta3Ciclo de vida de los objetos
Patrón ConstructorPatrón DestructorInicialización en StackCopia profundaResumen: String Wrapper6Herencia mediante composición
Incrustación de StructsLa regla del primer miembroAcceso a miembros padreUpcastingResumen: Jerarquía de formas9Proyecto: Dibujador de figuras
Descripción general del proyectoImplementación del círculo