Défi récapitulatif n°2
Fait partie de la section Fundamentals du Journey C de Coddy — leçon 52 sur 63.
Défi
MoyenÉcrivez un programme C qui implémente une calculatrice simple à l'aide de fonctions. Votre programme doit :
- Implémenter les fonctions suivantes :
add(int a, int b): retourne la somme de a et bsubtract(int a, int b): retourne la différence entre a et bmultiply(int a, int b): retourne le produit de a et bdivide(int a, int b): retourne le quotient de a divisé par b (gérer la division par zéro)
- Implémenter une fonction
calculate(int a, int b, char operation)qui prend deux entiers et un caractère d'opération (+, -, *, /) comme arguments, appelle la fonction appropriée et retourne le résultat. - Dans la fonction main, lire deux entiers et un caractère séparés par des espaces (par exemple
10 5 +) ; le caractère sera l'un des signes d'opérateur, ou le caractèreq— si vous lisezq, terminez le programme. Utilisezscanf("%d %d %c", &a, &b, &op)pour lire l'entrée. - Utiliser la fonction
calculatepour effectuer l'opération et afficher le résultat - Gérer les opérations invalides et la division par zéro en affichant
Invalid input
Nous vous recommandons d'utiliser des prototypes de fonctions pour déclarer toutes les fonctions au-dessus du main, puis de créer la fonction elle-même en dessous du main, afin que votre code soit plus lisible et propre
Essayez vous-même
#include <stdio.h>
// Déclarez vos fonctions ici
int main() {
// Votre code ici
return 0;
}
// Implémentez vos fonctions iciToutes les leçons de Fundamentals
4Structures de contrôle
L'instruction IfIf - ElseElse-IfSwitch CaseOpérateur ternaireDéfi récapitulatifIf - Else imbriqués7Fonctions
Déclarer une fonctionTypes de retourParamètresDéfi récapitulatif n°1Bases de la récursivitéPrototypes de fonctionDéfi récapitulatif n°22Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif