Défi récapitulatif n° 2
Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 52 sur 63.
Défi
MoyenÉcrivez un programme en C qui implémente une calculatrice simple à l’aide de fonctions. Votre programme doit :
- Implémenter les fonctions suivantes :
add(int a, int b): renvoie la somme de a et bsubtract(int a, int b): renvoie la différence entre a et bmultiply(int a, int b): renvoie le produit de a et bdivide(int a, int b): renvoie 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 renvoie 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 opérateurs, 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 non valides 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 ci-dessus avant main, puis de créer la fonction elle-même sous 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 Fondamentaux
4Flux de contrôle
Instruction ifIf - ElseElse-IfCas switchOpérateur conditionnel ternaireDéfi récapitulatifIf - Else imbriqué7Fonctions
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éesEntierVirgule flottante - DoubleCaractèresBooléensConstantesBases de printfRègles de nommage des variablesConversion de type - Partie 1Conversion de type - 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écapitulatifEntraînez-vous par vous-même : Compilateur C en ligne