-
CréateurSujet
-
octobre 27, 2024 à 5:21 pm #43278
BotParticipantHello đ J’essaye de faire une clalculatrice en C. En fait, je fais le TP de Zeste de Savoir đ , je veux juste pouvoir rĂ©ussir Ă le faire de moi mĂȘme : https://zestedesavoir.com/tutoriels/755/le-langage-c-1/1042_les-bases-du-langage-c/4299_tp-une-calculatrice-basique/
En fait, mon code en est lĂ :#inlude #inlude #inlude float old_result; void addition(float, float); void substration(float, float); void multipliation(float, float); void division(float, float); void modulo(float, float); // Prototypes des diffĂ©rents fontions d'opĂ©rations. void power(float, float); void fatorial(float); void pgd(float, float); void ppd(float, float); int main(void) { printf("n-----CALCULATOR-----nn"); // PrĂ©sentation. printf("Addition : + n"); printf("Soustration : - n"); printf("Multipliation : * n"); printf("Division : / n"); printf("Reste de divison entiĂšre : # n"); printf("Puissane : ^ n"); printf("Fatorielle : ! n"); printf("PGCD : g n"); printf("PPCD : p nn"); printf("! Notation Polonaise Inverse !n"); while (true) { float number1 = 0.; float number2; har operator; printf("n> "); sanf("%f % %", &number1, &number2, &operator);——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
CréateurSujet
-
AuteurRéponses
-
-
octobre 27, 2024 à 5:21 pm #43279
swith (operator) { ase '+': addition(number1, number2); break; ase '-': substration(number1, number2); break; ase '*': multipliation(number1, number2); break; ase '/': division(number1, number2); break; ase '#': modulo(number1, number2); break; ase '^': power(number1, number2); break; ase '!': fatorial(number1); break; ase 'p': pgd(number1, number2); break; ase 'g': ppd(number1, number2); break; } } }——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:22 pm #43280
void addition(float number1, float number2) { float result = number1 + number2; old_result = result; printf("RĂ©sultat : %fn", result); } void substration(float number1, float number2) { float result = number1 - number2; old_result = result; printf("RĂ©sultat : %fn", result); } void multipliation(float number1, float number2) { float result = number1 * number2; old_result = result; printf("RĂ©sultat : %fn", result); } void division(float number1, float number2) { float result = number1 / number2; old_result = result; printf("RĂ©sultat : %fn", result); } void modulo(float number1, float number2) { long long result = (long long) number1 % (long long) number2; old_result = (float) result; printf("RĂ©sultat : %fn", (float) result); } void power(float number1, float number2) { float result = pow(number1, number2); old_result = result; printf("RĂ©sultat : %fn", result); } void fatorial(float number) { float result = 1.; for (float i = number; i > 0; --i) { result *= i; } old_result = result; printf("RĂ©sultat : %fn", result); } void pgd(float number1, float number2) { return; } void ppd(float number1, float number2) { return; }——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:23 pm #43281
PS : Mettez le problÚme est plein écran, pour voir tout le code.
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:25 pm #43282
Donc mon problĂšme, c’est que par exemple, pour la factorielle, vu qu’elle prend, qu’un seul paramĂštre je ne sais pas comment faire. Autre exemple, si l’utilisateur entre uniquement `> 5 *`, le chiffre manquant est censĂ© ĂȘtre le rĂ©sultat de l’ancienne oprĂ©ration.
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:25 pm #43283
Si j’ai la solution de l’un, j’ai celle de l’autre.
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:25 pm #43284
Si vous avez besoin de prĂ©cisions, demandez moi, merci d’avance
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:27 pm #43285
En fait tu doit faire plusieurs scanf différent en fonction des cas
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:28 pm #43286
Tu les fait Ă la suite, si le scanf prĂ©cĂ©dent n’a pas marchĂ©
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:28 pm #43287
Il y a d’autre solution aussi
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:29 pm #43288
Tu récupére la sortie pour savoir si tu as eu le bon nombre de paramÚtre
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:31 pm #43289
AprĂšs vu que c’est scanf(« %f %c %f ») et scanf(« %f %c ») tu peux potentiellement le faire en un, et juste regarder si tu as le bon nombre de paramĂštre
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:43 pm #43290
merci beaucoup de la rĂ©ponse, je vais tester ça et je te fais un retour đ
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:45 pm #43291
Dans le cas ou c’est plusieur c’est sscanf que vas devoir utiliser et tu rĂ©cupĂšre l’entrĂ©e dans un string
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 5:45 pm #43292
Mais si tu n’a pas des cas trop compliquĂ© tu dois pouvoir le faire en un seul scanf
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:35 pm #43293
j’ai modifiĂ© mon code :
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:35 pm #43294
float number1 = 0.; float number2 = 0.; har operator; har quit_input; printf("n> "); int input = sanf("%f %f %", &number1, &number2, &operator); if (input == 1) { sanf("%", &operator); number2 = number1; number1 = old_result; } else if (input == 0) { sanf("%", &quit_input); if (quit_input == 'q') { printf("nProgramme terminĂ©e, au revoir !nn"); return 0; } else { printf("nVeuillez rentrer une opĂ©ration.n"); ontinue; } }——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:35 pm #43295
-----CALCULATOR----- Pour quitter : q Addition : + Soustraction : - Multiplication : * Division : / Reste de divison entiÚre : # Puissance : ^ Factorielle : ! PGCD : g PPCD : p ! Notation Polonaise Inverse ! > 5 ! Résultat : 1.000000 > 45 ! Résultat : 1.000000 > 45 5 + Résultat : 50.000000 > 50 + > ^C
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:37 pm #43296
ça ne marche pas vraiment, mais je commence Ă ĂȘtre Ă court d’idĂ©es…
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:37 pm #43297
quel est l’erreur ?
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:38 pm #43298
Ah mais tu gére le cas input == 2 ?
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:40 pm #43299
heu non
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:40 pm #43300
juste 0 et 1
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:40 pm #43301
pour moi il y a pas besoin,c ‘est celle par dĂ©faut
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:42 pm #43302
Nan il y a pas besoin
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:44 pm #43303
D’accord, mais pour mon mon problĂšme je fais quoi ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:44 pm #43304
parce que ça m »étonnerait que la factorielle de 5 soit 1
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:45 pm #43305
et 50 + devrait vouloir dire acienne_expression + 50
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:45 pm #43306
le second scanf ne peut pas fonctionner
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:46 pm #43307
fait un seul scanf(« %s », &input) et aprĂšs plusieurs sscanf(input, « %f %f %c », …)
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:47 pm #43308
Quoi ? đđ dĂ©solĂ© je les mets oĂč tout ces scanf() ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:48 pm #43309
Attends aprĂšs avoir tester ça Ă l’air de fonctionner le double scanf
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:49 pm #43311
Donc je ne comprend pas ce qui ne marche pas dans ton code
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:49 pm #43312
si tu veux je peux renvoyer le tout
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:50 pm #43313
Est ce que tu peux me mettre ce qui est aprĂšs
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:50 pm #43314
#inlude #inlude #inlude float old_result; void addition(float, float); void substration(float, float); void multipliation(float, float); void division(float, float); void modulo(float, float); // Prototypes des diffĂ©rents fontions d'opĂ©rations. void power(float, float); void fatorial(float); void pgd(float, float); void ppd(float, float); int main(void) { printf("n-----CALCULATOR-----nn"); // PrĂ©sentation. printf("Pour quitter : qnn"); printf("Addition : + n"); printf("Soustration : - n"); printf("Multipliation : * n"); printf("Division : / n"); printf("Reste de divison entiĂšre : # n"); printf("Puissane : ^ n"); printf("Fatorielle : ! n"); printf("PGCD : g n"); printf("PPCD : p nn"); printf("! Notation Polonaise Inverse !n"); while (true) { float number1 = 0.; float number2 = 0.; har operator; har quit_input; printf("n> "); int input = sanf("%f %f %", &number1, &number2, &operator);——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:51 pm #43315
if (input == 1) { sanf("%", &operator); number2 = number1; number1 = old_result; } else if (input == 0) { sanf("%", &quit_input); if (quit_input == 'q') { printf("nProgramme terminĂ©e, au revoir !nn"); return 0; } else { printf("nVeuillez rentrer une opĂ©ration.n"); ontinue; } } swith (operator) { ase '+': addition(number1, number2); break; ase '-': substration(number1, number2); break; ase '*': multipliation(number1, number2); break; ase '/': division(number1, number2); break; ase '#': modulo(number1, number2); break; ase '^': power(number1, number2); break;——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:51 pm #43316
ase '!': fatorial(number1); break; ase 'p': pgd(number1, number2); break; ase 'g': ppd(number1, number2); break; } } } void addition(float number1, float number2) { float result = number1 + number2; old_result = result; printf("RĂ©sultat : %fn", result); } void substration(float number1, float number2) { float result = number1 - number2; old_result = result; printf("RĂ©sultat : %fn", result); } void multipliation(float number1, float number2) { float result = number1 * number2; old_result = result; printf("RĂ©sultat : %fn", result); } void division(float number1, float number2) { float result = number1 / number2; old_result = result; printf("RĂ©sultat : %fn", result); }——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:51 pm #43317
void modulo(float number1, float number2) { long long result = (long long) number1 % (long long) number2; old_result = (float) result; printf("RĂ©sultat : %fn", (float) result); } void power(float number1, float number2) { float result = pow(number1, number2); old_result = result; printf("RĂ©sultat : %fn", result); } void fatorial(float number) { float result = 1.; for (float i = number; i > 0; --i) { result *= i; } old_result = result; printf("RĂ©sultat : %fn", result); } void pgd(float number1, float number2) { return; } void ppd(float number1, float number2) { return; }——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:51 pm #43318
de A Ă Z đ đ
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:57 pm #43319
tu rĂ©cupĂ©re le bon operator et le factorial fonctionne, l’erreur est bizarre
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 6:59 pm #43320
je regarde lĂ
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:00 pm #43321
argh je comprends pas
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:01 pm #43322
attend pourquoi tu fais ça
number1 = old_result;——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:01 pm #43323
Ca fonctionne beacoup mieux sans ça
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:02 pm #43324
parce que le nombre 1 devient l’ancien rĂ©sulat et le nombre 2 ce que l’utilisateur vient de rentrer
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:02 pm #43325
ha oui ? Attends, je vais regarder
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:02 pm #43326
dans ce cas lĂ il faut que tu fasse factorial(number2);
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:02 pm #43327
Tu veux le factorial du nombre que tu as rentrer pas celui d’avant
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:03 pm #43328
haa okay
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:03 pm #43329
alors, la factorielle fonctionne mais :
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:03 pm #43330
utilise le nombre d’avant
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:03 pm #43331
-----CALCULATOR----- Pour quitter : q Addition : + Soustraction : - Multiplication : * Division : / Reste de divison entiÚre : # Puissance : ^ Factorielle : ! PGCD : g PPCD : p ! Notation Polonaise Inverse ! > 5 5 + Résultat : 10.000000 > 5 + > 5 ! Résultat : 120.000000 >
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:03 pm #43332
Pour l’utilisation du chiffre d’avant, problĂšme
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:04 pm #43333
j’ai l’impression que old_result renvoit toujour zĂ©ro
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:04 pm #43334
mais je te laisse regarder
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:04 pm #43335
Dis moi si tu bloque encore
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:05 pm #43336
merci beaucoup đ
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:18 pm #43337
harg je vais me tuer
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:19 pm #43338
je vois pas comment faire đ„Č
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:23 pm #43339
C »est bizarre pour le + il ne rĂ©cupĂ©re pas l’operateur
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:25 pm #43340
OĂč ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:27 pm #43341
je viens peut-ĂȘtre de comprendre
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:27 pm #43342
Ho sérieusement ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:28 pm #43343
le plus + il le transforme en +0
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:28 pm #43344
donc en un second nombre float
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:29 pm #43345
OĂč ça ? Dans quelle partie ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:29 pm #43346
5 + devient 5 et 0
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:30 pm #43347
Pourquoi ?
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:30 pm #43348
Parce que c’est comme ça qu’il scan les nombre
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:31 pm #43349
C’est un comportement bizarre mais scanf va considĂ©re que + est un nombre valide Ă©gale Ă zĂ©ro
——————–
xenohim – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:31 pm #43350
HAA mais oui j’avais oubliĂ© !
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:32 pm #43351
du coup il comprend pas
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:32 pm #43352
merci beaucoup
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:32 pm #43353
je vais essayer de mettre ça en place
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:33 pm #43354
merci ++
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:33 pm #43355

——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:34 pm #43356
marqué ici
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:37 pm #43359
j’ai rĂ©ussi !!!
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:37 pm #43360
(encore merci)
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:37 pm #43361
(xD)
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code -
octobre 27, 2024 à 7:37 pm #43362
Calculatrice en C (Résolu)
——————–
ciboulette_of_space – EnvoyĂ© depuis le Discord : Culte du code
-
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
Sujets récents
-
Communauté autour du torrenting
par
Bot
il y a 1 jour et 17 heures -
AIDE !!
par
Bot
il y a 5 jours et 21 heures -
Récupération de données critique urgente
par
Bot
il y a 3 semaines et 1 jour -
PC qui a duré 2 semaines LOL
par
Bot
il y a 3 semaines et 1 jour -
self hosting
par
Bot
il y a 4 semaines
Réponses récentes
Statistiques des Forums
- Comptes enregistrés
- 2Â 914
- Forums
- 51
- Sujets
- 1Â 124
- Réponses
- 20Â 328
- Mot-clés du sujet
- 0




