#include <stdio.h>
-//#include <stdbool.h>
+#include <stdbool.h>
//FIXME: Comment the code !!!
int promptOperation() {
displayMenu();
- return promptValue("Veuillez saisir un choix ?");
+ return promptValue("Veuillez choisir une operation ?");
}
int doAddition(int val1, int val2) {
}
int doDivision(int val1, int val2) {
+ //FIXME: Useless code path given the exit main loop condition
if (val2 == 0) {
printf("Division par zero !\n");
// FIXME: I'm not very fond of this convention ...
return power;
}
+int doOperation(int selection, int val1, int val2) {
+ int op_result;
+ switch (selection) {
+ case 1:
+ op_result = doAddition(val1, val2);
+ break;
+ case 2:
+ op_result = doSubstraction(val1, val2);
+ break;
+ case 3:
+ op_result = doMultiplication(val1, val2);
+ break;
+ case 4:
+ op_result = doDivision(val1, val2);
+ break;
+ case 5:
+ op_result = doPuissance(val1, val2);
+ break;
+ case 6:
+ break;
+ default:
+ puts("Faire un choix compris entre 1 et 6");
+ }
+ return op_result;
+}
+
int main() {
int choice = promptOperation();
- printf("Choice: %d\n", choice);
+ int value1 = promptValue("Veuillez saisir une valeur entiere initiale ?");
+ int value2 = 0, result = 0;
+ bool first_loop = true;
+
+ for (;;) {
+ if (choice == 6) break;
+ if (first_loop) {
+ value2 = promptValue("Veuillez saisir une valeur entiere avec laquelle l'operation sera effectue ?");
+ if (value2 == 0) break;
+ result = doOperation(choice, value1, value2);
+ first_loop = false;
+ } else {
+ value2 = promptValue("Veuillez saisir la prochaine valeur entiere avec laquelle l'operation sera effectue sur l'ancien resultat ?");
+ if (value2 == 0) break;
+ result = doOperation(choice, result, value2);
+ }
+ printf("Le resultat de l'operation choisie est %d\n\n", result);
+ }
return 0;
}