[Débutant]Calculette en langage c multi-choix
zalt
-
beam1916 Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
beam1916 Messages postés 153 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je développe une calculette en langage c, je suis bloqué à la partie moteur des opérations, le choix des différentes opération fonctionne en phase test d'affichage.
C'est dans un but perso et pour "aller plus loin".
Voici le schéma de l'appli que j'ai fais :
calculette => menu =>01 Addition => deux variables choisies => affichage résultat
02 => Soustraction => deux variables choisies
03=> Division => deux variables choisies
04=> Modulo => deux variables choisies
Pour naviguer dedans il faut entrer les nombres correspondant aux opérations à effectuer et entrer les variables. Je précise que je code sous code blocks, sous le moteur MinGW pour gnugcc.
Voici le code erroné :
Merci d'avance pour votre aide, et bonne soirée, zalt.
C'est dans un but perso et pour "aller plus loin".
Voici le schéma de l'appli que j'ai fais :
calculette => menu =>01 Addition => deux variables choisies => affichage résultat
02 => Soustraction => deux variables choisies
03=> Division => deux variables choisies
04=> Modulo => deux variables choisies
Pour naviguer dedans il faut entrer les nombres correspondant aux opérations à effectuer et entrer les variables. Je précise que je code sous code blocks, sous le moteur MinGW pour gnugcc.
Voici le code erroné :
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { printf("\n=>Bienvenue dans la calculette<=\n \n"); } int menu() { //menu de l'application printf("01 - Additionner\n"); printf("02 - Soustraire\n"); printf("03 - Diviser\n"); printf("04 - Modulo\n"); int choix = 0; while (choix <1 || choix > 5) { scanf("%d", &choix); } return choix; } int nombre1; switch (menu()) { //addition case 1: printf("Veuillez saisir le premier nombre a additionner\n \n"); scanf("%d", &nombre1); printf("Veuillez saisir le deuxième nombre a additionner \n \n ") scanf("%d", &nombre2); int resultat1() = int %nombre1% + int %nombre2% printf ("%resultat1%") break; //soustraction case 2: printf("Veuillez saisir le premier nombre a soustraire\n \n"); scanf("%d", &nombre1); printf("Veuillez saisir le deuxieme nombre a additionner \n \n ") scanf("%d", &nombre2); int resultat2() = int %nombre1% * int %nombre2% break; //division case 3: printf("Veuillez saisir le premier a diviser\n \n"); scanf("%d", &nombre1); printf("Veuillez saisir le deuxième nombre a diviser \n \n "); scanf("%d", &nombre2); int resultat3() = int %nombre1% / int %nombre2% ; break; //modulo case 4: printf("Veuillez saisir le premier nombre a moduler\n \n"); scanf("%d", &nombre1); printf("Veuillez saisir le deuxième nombre a moduler \n \n "); scanf("%d", &nombre2); int resultat4() = int %nombre1% % int %nombre2% break; return 0; } }
Merci d'avance pour votre aide, et bonne soirée, zalt.
A voir également:
- [Débutant]Calculette en langage c multi-choix
- Langage ascii - Guide
- Liste déroulante de choix excel - Guide
- Langage binaire - Guide
- Logiciel de programmation pour débutant - Guide
- Youtube multi downloader - Télécharger - Conversion & Codecs
1 réponse
Salut.
A mon avis tu fais compliqué quand on peut faire simple. C'est peut être exprès pour t'entraîner ;) Parfait.
Je souligne que je suis pas un pro et ça fait longtemps que j'ai pas touché au C donc je peux me tromper.
Déjà au niveau du choix de l'opération, je préfère: " while (choix<1 || choix >4) " Sinon si quelqu'un rentre 5 bah... la boucle s'arrêtera alors que tu n'as pas prévu ce choix :p
Ensuite,tu n'as déclaré que nombre1. Je n'ai pas vu nombre2. Aussi il est toujours préférable d'initialiser toutes les variables (int choix = 0;) . Et une fois que tu as initialisé une variable, tu n'as plus qu'a écrire son nom(sans son type et sans les "%") dans tes fonctions. Donc, au lieu d'écrire: "int resultat1() = int %nombre1% + int %nombre2%" tu écris "resultat1=nombre1+nombre2;" Alala ya plein de trucs hein lol. Faut pas oublier le point-virgule (;) à la fin des instructions. Les parenthèses que tu mets à resultat1 ne te servent à rien ici. Sauf si tu as une fonction résultats que tu prévois faire plus tard ;). Voilà en gros.
Si tu veux je peux te proposer une façon de faire simple (parce que peut être que tu veux trouver toi-même) ;)
A mon avis tu fais compliqué quand on peut faire simple. C'est peut être exprès pour t'entraîner ;) Parfait.
Je souligne que je suis pas un pro et ça fait longtemps que j'ai pas touché au C donc je peux me tromper.
Déjà au niveau du choix de l'opération, je préfère: " while (choix<1 || choix >4) " Sinon si quelqu'un rentre 5 bah... la boucle s'arrêtera alors que tu n'as pas prévu ce choix :p
Ensuite,tu n'as déclaré que nombre1. Je n'ai pas vu nombre2. Aussi il est toujours préférable d'initialiser toutes les variables (int choix = 0;) . Et une fois que tu as initialisé une variable, tu n'as plus qu'a écrire son nom(sans son type et sans les "%") dans tes fonctions. Donc, au lieu d'écrire: "int resultat1() = int %nombre1% + int %nombre2%" tu écris "resultat1=nombre1+nombre2;" Alala ya plein de trucs hein lol. Faut pas oublier le point-virgule (;) à la fin des instructions. Les parenthèses que tu mets à resultat1 ne te servent à rien ici. Sauf si tu as une fonction résultats que tu prévois faire plus tard ;). Voilà en gros.
Si tu veux je peux te proposer une façon de faire simple (parce que peut être que tu veux trouver toi-même) ;)