Programmation calculatrice
Fermé
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
-
22 mai 2008 à 10:00
nitsuj Messages postés 2 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 23 mai 2008 - 23 mai 2008 à 21:31
nitsuj Messages postés 2 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 23 mai 2008 - 23 mai 2008 à 21:31
A voir également:
- Programmation calculatrice
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Calculatrice gratuit - 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
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 12:00
22 mai 2008 à 12:00
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
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
22 mai 2008 à 15:44
22 mai 2008 à 15:44
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
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 16:40
22 mai 2008 à 16:40
qu'es que tu entent par interface graphique
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 16:47
22 mai 2008 à 16:47
pour l'expression arithmetiquetu peux la declarer comme une chaine de caractere et tu essaye de recuperer les valeurs une à une
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
22 mai 2008 à 16:49
22 mai 2008 à 16:49
c'est ca justement que je ne comprend pas comment on le fait
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 17:08
22 mai 2008 à 17:08
tu commences par declarer un tableau de caracteres dans lequel tu mettra l'expression arithmetique et aprés deux boucles suffiront pour recuperer les valeurs pour ensuite effectuer l'operartion souhaité
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 17:14
22 mai 2008 à 17:14
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
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
22 mai 2008 à 17:36
22 mai 2008 à 17:36
ca n'a pas marché
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
22 mai 2008 à 17:39
22 mai 2008 à 17:39
je peux voir le code stp
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
22 mai 2008 à 18:20
22 mai 2008 à 18:20
#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;
}
bwaze
Messages postés
46
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
26 mai 2009
7
23 mai 2008 à 03:41
23 mai 2008 à 03:41
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
doudalopez
Messages postés
19
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
24 mai 2008
23 mai 2008 à 21:27
23 mai 2008 à 21:27
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;
}
nitsuj
Messages postés
2
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
23 mai 2008
23 mai 2008 à 21:31
23 mai 2008 à 21:31
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();
}