Avant toute chose , sachez que je suis relativement nouveau en C donc merci d'être gentils
Voila , J'ai réalisé une petite calculette que voici.
Elle marche bien , pas de pb visibles a mon oeil vis à vis du fonctionnement.
seulement voila , je suis insatisfait de mon boulot , car il me semble que j'aurais pu éviter la tartine à chaque condition du if ... else if.
N'y aurait-il pas moyen de renvoyer l'utilisateur du programme au début de la sélection d'opérations si il choisit un choix qui n'est pas
dans la sélection de la calculette (choix 5+) ?
Je n'arrive pas à trouver ...
Je vous poste le code ci dessous.
#include <stdio.h>
int continuer=1;
int main()
{
do {
float nombre1;
float nombre2;
float resultat;
int choix;
printf("===Bonjour et bienvenue sur la calculette d'alexandre===\n");
printf("quelle opération puis-je réaliser pour vous?\n");
printf("1.Addition\n");
printf("2.Soustraction\n");
printf("3.Multiplication\n");
printf("4.Division\n");
printf("Entrez l'opération souhaitée\n");
scanf("%d",&choix);
if (choix==1)
{//début if ...
printf("Entrez le premier nombre nécéssaire a l'opération\n");
scanf("%f" ,&nombre1);
printf("Entrez le second nombre nécéssaire a l'opération\n");
scanf("%f",&nombre2);
(resultat=nombre1+nombre2);
printf("le résultat est %f\n",resultat);
printf("merci d'avoir utilisé la calculatrice d'alexandre\n\n");
printf("souhaitez vous effectuer une autre opération ?\n");
printf("1 OUI , 0 NON \n");
scanf("%d",&continuer);
}//fin if ...
else if (choix ==2)
{//début else if choix 2
printf("Entrez le premier nombre nécéssaire a l'opération\n");
scanf("%f" ,&nombre1);
printf("Entrez le second nombre nécéssaire a l'opération\n");
scanf("%f",&nombre2);
(resultat=nombre1-nombre2);
printf ("le resultat est %f\n",resultat);
printf("merci d'avoir utilisé la calculatrice d'alexandre\n\n");
printf("souhaitez vous effectuer une autre opération ?\n");
printf("1 OUI , 0 NON \n");
scanf("%d",&continuer);
}//else if choix 2
else if (choix==3)
{//début else if choix 3
printf("Entrez le premier nombre nécéssaire a l'opération\n");
scanf("%f" ,&nombre1);
printf("Entrez le second nombre nécéssaire a l'opération\n");
scanf("%f",&nombre2);
(resultat=nombre1*nombre2);
printf("merci d'avoir utilisé la calculatrice d'alexandre\n\n");
printf("souhaitez vous effectuer une autre opération ?\n");
printf("1 OUI , 0 NON \n");
scanf("%d",&continuer);
printf("le resultat est %f\n",resultat);
}//fin else if choix 3
else if (choix==4)
{//début else if choix 4
printf("Entrez le premier nombre nécéssaire a l'opération\n");
scanf("%f" ,&nombre1);
printf("Entrez le second nombre nécéssaire a l'opération\n");
scanf("%f",&nombre2);
(resultat=nombre1/nombre2);
printf("le resultat est %f\n",resultat);
printf("merci d'avoir utilisé la calculatrice d'alexandre\n\n");
printf("souhaitez vous effectuer une autre opération ?\n");
printf("1 OUI , 0 NON \n");
scanf("%d",&continuer);
}// fin else if choix 4
else if (choix >4)
{//début else
printf("Erreur , Merci de recommencer\n");
}//fin else
} while (continuer==1);//fin do ... while
return 0;
}
En-dehors de ton problème, ne trouves-tu pas que tu as du code en trop ? Regarde les lignes 23-26, 36-39, 49-52 et 62-66. De même, lignes 28-32, 41-45, 54-58 (où tu dois mettre la ligne 58 après la ligne 53) et 67-71. Faire des fonctions serait une bonne chose.
Autre chose: et si tu ajoutes un calcul de pgcd, de ppcm ou de modulo etc.... tu vas continuer avec des else if ? Un switch serait bien plus adapté, plus lisible et plus aisément modifiable.
- Edité par edgarjacobs 20 août 2017 à 14:53:15
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Salut edgar , merci de ton feedback je regarde ça de suite
je suis un peu blasé , je me suis fait baser sévère sur les notes du premier chapitre car je n'ai pas fait le choix de la difficultée
et les gens me disent que les accents ne passe pas alors que sur Xcode , si ..... donc bon ... je sais pas ..
Calculette en boucle.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent