Programmation calculatrice
doudalopez
Messages postés
19
Statut
Membre
-
nitsuj Messages postés 2 Statut Membre -
nitsuj Messages postés 2 Statut Membre -
j'ai un programme a faire sur calculatrice et les etapes sont :
-implémenter les operations arithmetiques courantes
-implémenter une interface graphique facile a utiliser
-lire une expression mathématique simple et la calculer
voila ce que j'ai fait pour le premier point et suis bloqué pour le reste pouvez vous m'aider a le faire
merci
#include<stdio.h>
main ()
{
int a,b,op;
float res;
printf("tape un nombre\n");
scanf("%d",&a);
printf("tape un nombre\n");
scanf("%d",&b);
printf("tape 1\t pour + \n tape 2 \t pour - \n tape 3 \t pour * \n tape 4 pour /\n");
scanf("%d",&op);
if(op==1)
{
res=a+b;
}
else
{ if(op==2)
{
res=a-b;
}
else
{if(op==3)
{
res=a*b;
}
else
{
res=(float)a/(float)b;
}
}
return (0);}
}
-implémenter les operations arithmetiques courantes
-implémenter une interface graphique facile a utiliser
-lire une expression mathématique simple et la calculer
voila ce que j'ai fait pour le premier point et suis bloqué pour le reste pouvez vous m'aider a le faire
merci
#include<stdio.h>
main ()
{
int a,b,op;
float res;
printf("tape un nombre\n");
scanf("%d",&a);
printf("tape un nombre\n");
scanf("%d",&b);
printf("tape 1\t pour + \n tape 2 \t pour - \n tape 3 \t pour * \n tape 4 pour /\n");
scanf("%d",&op);
if(op==1)
{
res=a+b;
}
else
{ if(op==2)
{
res=a-b;
}
else
{if(op==3)
{
res=a*b;
}
else
{
res=(float)a/(float)b;
}
}
return (0);}
}
A voir également:
- Programmation calculatrice
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Installer calculatrice - Télécharger - Calcul & Conversion
- Application de programmation - Guide
- Ma-calculatrice - Télécharger - Calcul & Conversion
- Calculatrice windows 7 - Télécharger - Calcul & Conversion
9 réponses
bonjour
alors d'abord tes if else imbriqués tu peux les remplacer par un switch si tu veux
switch(op)
case ..
..
etc
ou encore declarer op comme un caractere et faire
if(op=='+') instruction
if(op=='-') instruction
etc
et maintenant je vois pas sur quoi tu veux qu'on t'aide
alors d'abord tes if else imbriqués tu peux les remplacer par un switch si tu veux
switch(op)
case ..
..
etc
ou encore declarer op comme un caractere et faire
if(op=='+') instruction
if(op=='-') instruction
etc
et maintenant je vois pas sur quoi tu veux qu'on t'aide
j'ai fait comme vous m'avez dit et ca marche parcontre je suis bloqué pour faire le reste une interface graphique facile a utiliser et lire une expression mathemetique simple et la calculer
pour l'expression arithmetiquetu peux la declarer comme une chaine de caractere et tu essaye de recuperer les valeurs une à une
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
si tu veux convertir un caractere en entier tu peux essayer
char c;
int x;
if(c>='0' && c<='9'){
x=c-'0';
}
je ne suis pas sure que ça marche mais essaye quand meme
char c;
int x;
if(c>='0' && c<='9'){
x=c-'0';
}
je ne suis pas sure que ça marche mais essaye quand meme
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
int wait4key(void);
void demo_ASCII_extended();
void demo_couleurs(void);
HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );
WORD wOldColorAttrs;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
int main(int argc, char* argv[])
{
float a, b, res;
char c;
int x;
if(c>='0' && c<='9'){
x=c-'0';
}
printf("tape un nombre\n");
scanf(" %f",&a);
printf("tape un nombre\n");
scanf(" %f",&b);
printf("tape 1\t pour + \n tape 2 \t pour - \n tape 3 \t pour * \n tape 4 pour /\n");
scanf(" %d",&op);
if(op==+)
{
res=a+b;
}
else
if(op==-)
{
res=a-b;
}
else
if(op==*)
{
res=a*b;
}
else
{
res=(float)a/(float)b;
}
printf("le resultat est %f\n",res);
system("pause");
return 0;
}
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
int wait4key(void);
void demo_ASCII_extended();
void demo_couleurs(void);
HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );
WORD wOldColorAttrs;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
int main(int argc, char* argv[])
{
float a, b, res;
char c;
int x;
if(c>='0' && c<='9'){
x=c-'0';
}
printf("tape un nombre\n");
scanf(" %f",&a);
printf("tape un nombre\n");
scanf(" %f",&b);
printf("tape 1\t pour + \n tape 2 \t pour - \n tape 3 \t pour * \n tape 4 pour /\n");
scanf(" %d",&op);
if(op==+)
{
res=a+b;
}
else
if(op==-)
{
res=a-b;
}
else
if(op==*)
{
res=a*b;
}
else
{
res=(float)a/(float)b;
}
printf("le resultat est %f\n",res);
system("pause");
return 0;
}
je te propose de regarder vite fait ce tuto
https://www.squalenet.net/fr/ti/tutorial_c/13-chaines-de-caracteres.php5
si ta pas compri on en reparlera
https://www.squalenet.net/fr/ti/tutorial_c/13-chaines-de-caracteres.php5
si ta pas compri on en reparlera
est ce que vous pouvez m'aider a corrigé mes erreurs
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
float calcul(float operateur1, float operateur2, float operande);
void demo_couleurs(void)
{
HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );
WORD wOldColorAttrs;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
GetConsoleScreenBufferInfo(h, &csbiInfo);
wOldColorAttrs = csbiInfo.wAttributes;
SetConsoleTextAttribute ( h, FOREGROUND_BLUE ); // on ecrit en bleu
}
//int main(int argc, char* argv[])
int main(int argc, char* argv[])
{
float resultat,resultat_temp,resultat_temp1,resultat_temp2,resultat_temp3;
float a,b,c,d,e;
char op1,op2,op3,op4;
demo_couleurs();
if(argc > 9){
printf("Nombre d'arguments doit etre inferieur à 9\n");
}
if(argc == 3) //deux operandes
{
scanf("%f%c%f",&a, &op1, &b);
printf("%f %c %f\n", a, op1, b);
// resultat = calcul(a, b, op1);
}
if(argc == 5) //trois operandes
{
if(op1 == '*' || op1 == '/'){
scanf("%f%c%f%c%f",&a, &op1, &b);
printf("%f %c %f %c %f\n", a, op1, b,op2,c);
resultat_temp= calcul(a, b, op1);
resultat = calcul(resultat_temp, c, op2);
}else{
if(op2 == '*' || op2 == '/'){
resultat_temp = calcul(b, c, op2);
resultat = calcul(a, resultat_temp, op2);
}else {
resultat_temp = calcul(a, b, op1);
resultat = calcul(resultat_temp, c, op2);
}
}
}
if(argc == 7) //quatre operandes
{
if(op1 == '*' || op1 == '/')
{
scanf("%f%c%f%c%f%c%f",&a, &op1, &b,op2,c,op3,d);
printf("%f %c %f %c %f %c %f\n", a, op1,b,op2,c,op3,d);
resultat_temp1 = calcul(a, b, op1);
resultat_temp2 = calcul(resultat_temp1, c, op2);
resultat_temp = calcul(resultat_temp2, d, op3);
}else{
if(op2 == '*' || op2 == '/')
{
resultat_temp1 = calcul(b, c, op2);
resultat_temp2 = calcul(a,resultat_temp1,op2);
resultat_temp = calcul(resultat_temp2,d, op3);
}else
{
resultat_temp1 = calcul(c,d, op3);
resultat_temp2 = calcul(b,resultat_temp1,op2);
resultat_temp = calcul(a,resultat_temp2,op3);
}
}
}
if(argc == 9) //cinq operandes
{
if(op1 == '*' || op1 == '/')
{
scanf("%f%c%f%c%f%c%f%c%f",&a, &op1, &b,op2,c,op3,d,op4,e);
printf("%f %c %f %c %f %c %f %c %f\n", a, op1,b,op2,c,op3,d,op4,e);
resultat_temp1 = calcul(a, b, op1);
resultat_temp2 = calcul(resultat_temp1, c, op2);
resultat_temp3 = calcul(resultat_temp2, d, op3);
resultat_temp = calcul(resultat_temp3, e, op4);
}else
{
if(op2 == '*' || op2 == '/')
{
resultat_temp1 = calcul(b, c, op2);
resultat_temp2 = calcul(a,resultat_temp1, op1);
resultat_temp3 = calcul(resultat_temp2,d, op3);
resultat_temp = calcul(resultat_temp3,e, op4);
}
else
{
resultat_temp1 = calcul(c,d, op3);
resultat_temp2 = calcul(b,resultat_temp1,op2);
resultat_temp3 = calcul(a,resultat_temp2,op3);
resultat_temp = calcul(resultat_temp3,e,op4);
}
}else
{
resultat_temp1 = calcul(d,e,op4);
resultat_temp2 = calcul(c,resultat_temp1,op3);
resultat_temp3 = calcul(b,resultat_temp2,op2);
resultat_temp = calcul(a,resultat_temp3,op1);
}else // nombre d'operandes invalides
{
printf("Nombre d'operandes invalides");
}
}
}
float calcul(float operateur1, float operateur2, float operande)
{
//void calcul(operateur1, operateur2, operande){
if(op == '+'){
retour = operateur1 + operateur2
}
if(op == '-'){
retour = operateur1 - operateur2
}
if(op== '/'){
retour = operateur1 / operateur2
}
if(op == '*'){
retour = operateur1 * operateur2
}
return retour;
}
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
float calcul(float operateur1, float operateur2, float operande);
void demo_couleurs(void)
{
HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );
WORD wOldColorAttrs;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
GetConsoleScreenBufferInfo(h, &csbiInfo);
wOldColorAttrs = csbiInfo.wAttributes;
SetConsoleTextAttribute ( h, FOREGROUND_BLUE ); // on ecrit en bleu
}
//int main(int argc, char* argv[])
int main(int argc, char* argv[])
{
float resultat,resultat_temp,resultat_temp1,resultat_temp2,resultat_temp3;
float a,b,c,d,e;
char op1,op2,op3,op4;
demo_couleurs();
if(argc > 9){
printf("Nombre d'arguments doit etre inferieur à 9\n");
}
if(argc == 3) //deux operandes
{
scanf("%f%c%f",&a, &op1, &b);
printf("%f %c %f\n", a, op1, b);
// resultat = calcul(a, b, op1);
}
if(argc == 5) //trois operandes
{
if(op1 == '*' || op1 == '/'){
scanf("%f%c%f%c%f",&a, &op1, &b);
printf("%f %c %f %c %f\n", a, op1, b,op2,c);
resultat_temp= calcul(a, b, op1);
resultat = calcul(resultat_temp, c, op2);
}else{
if(op2 == '*' || op2 == '/'){
resultat_temp = calcul(b, c, op2);
resultat = calcul(a, resultat_temp, op2);
}else {
resultat_temp = calcul(a, b, op1);
resultat = calcul(resultat_temp, c, op2);
}
}
}
if(argc == 7) //quatre operandes
{
if(op1 == '*' || op1 == '/')
{
scanf("%f%c%f%c%f%c%f",&a, &op1, &b,op2,c,op3,d);
printf("%f %c %f %c %f %c %f\n", a, op1,b,op2,c,op3,d);
resultat_temp1 = calcul(a, b, op1);
resultat_temp2 = calcul(resultat_temp1, c, op2);
resultat_temp = calcul(resultat_temp2, d, op3);
}else{
if(op2 == '*' || op2 == '/')
{
resultat_temp1 = calcul(b, c, op2);
resultat_temp2 = calcul(a,resultat_temp1,op2);
resultat_temp = calcul(resultat_temp2,d, op3);
}else
{
resultat_temp1 = calcul(c,d, op3);
resultat_temp2 = calcul(b,resultat_temp1,op2);
resultat_temp = calcul(a,resultat_temp2,op3);
}
}
}
if(argc == 9) //cinq operandes
{
if(op1 == '*' || op1 == '/')
{
scanf("%f%c%f%c%f%c%f%c%f",&a, &op1, &b,op2,c,op3,d,op4,e);
printf("%f %c %f %c %f %c %f %c %f\n", a, op1,b,op2,c,op3,d,op4,e);
resultat_temp1 = calcul(a, b, op1);
resultat_temp2 = calcul(resultat_temp1, c, op2);
resultat_temp3 = calcul(resultat_temp2, d, op3);
resultat_temp = calcul(resultat_temp3, e, op4);
}else
{
if(op2 == '*' || op2 == '/')
{
resultat_temp1 = calcul(b, c, op2);
resultat_temp2 = calcul(a,resultat_temp1, op1);
resultat_temp3 = calcul(resultat_temp2,d, op3);
resultat_temp = calcul(resultat_temp3,e, op4);
}
else
{
resultat_temp1 = calcul(c,d, op3);
resultat_temp2 = calcul(b,resultat_temp1,op2);
resultat_temp3 = calcul(a,resultat_temp2,op3);
resultat_temp = calcul(resultat_temp3,e,op4);
}
}else
{
resultat_temp1 = calcul(d,e,op4);
resultat_temp2 = calcul(c,resultat_temp1,op3);
resultat_temp3 = calcul(b,resultat_temp2,op2);
resultat_temp = calcul(a,resultat_temp3,op1);
}else // nombre d'operandes invalides
{
printf("Nombre d'operandes invalides");
}
}
}
float calcul(float operateur1, float operateur2, float operande)
{
//void calcul(operateur1, operateur2, operande){
if(op == '+'){
retour = operateur1 + operateur2
}
if(op == '-'){
retour = operateur1 - operateur2
}
if(op== '/'){
retour = operateur1 / operateur2
}
if(op == '*'){
retour = operateur1 * operateur2
}
return retour;
}
J'ai recemment fait un programme qui fait le meme chose et je crois que cela pourra t'interesse, et en passant je suis Nitsuj de Haiti.
Amuses toi.
/+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/
#include<stdio.h>
#include<conio.h>
#include<math.h>
main(){
char x;
float a,b,somme,difference,quotient,reste;
clrscr();
printf("Quel type de calcul aimeriez-vous faire?");
scanf("%c",&x);
printf("Entrez le premier element");
scanf("%f",&a);
printf("Entrez le second element");
scanf("%f",&b);
switch(x){
case'+': printf("Vous avez choisi l'addition");
somme=a+b;
printf(" et la somme est:%f",somme);
break;
case '-': printf("Vous avez choisi la soustraction");
difference=a-b;
printf(" et la difference est:%f",difference);
break;
case '*': printf("Vous avez choisi la multiplication");
quotient=a*b;
printf(" et le quotient est:%f",quotient);
break;
case '/': printf("Vous avez choisi la division");
reste=a/b;
printf(" et le reste est:%f",reste);
break;
}
getch();
}
Amuses toi.
/+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/
#include<stdio.h>
#include<conio.h>
#include<math.h>
main(){
char x;
float a,b,somme,difference,quotient,reste;
clrscr();
printf("Quel type de calcul aimeriez-vous faire?");
scanf("%c",&x);
printf("Entrez le premier element");
scanf("%f",&a);
printf("Entrez le second element");
scanf("%f",&b);
switch(x){
case'+': printf("Vous avez choisi l'addition");
somme=a+b;
printf(" et la somme est:%f",somme);
break;
case '-': printf("Vous avez choisi la soustraction");
difference=a-b;
printf(" et la difference est:%f",difference);
break;
case '*': printf("Vous avez choisi la multiplication");
quotient=a*b;
printf(" et le quotient est:%f",quotient);
break;
case '/': printf("Vous avez choisi la division");
reste=a/b;
printf(" et le reste est:%f",reste);
break;
}
getch();
}