Probleme de programmation sous C++
Fermé
aquadrox
Messages postés
6
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
24 mai 2009
-
25 sept. 2003 à 12:50
buzz - 25 déc. 2007 à 15:35
buzz - 25 déc. 2007 à 15:35
A voir également:
- Probleme de programmation sous C++
- Application de programmation - Guide
- Comment mettre en veille un programme sous windows 10 - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmer en basic sous windows 10 - Télécharger - Édition & Programmation
8 réponses
aquadrox
Messages postés
6
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
24 mai 2009
1
25 sept. 2003 à 13:24
25 sept. 2003 à 13:24
Mise a jour==>
#include<stdio.h>
#include<math.h>
int main()
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
float x,y,codeo ,res;
printf("Entrer le premier terme:");
scanf("%f",&x);
printf("Entrer le dexieme terme:");
scanf("%f",&y);
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
scanf("%f",&codeo);
switch(codeo)
{
case 0
res=(x)+(y)
cout << "Le resultat de l'addition est:%f",res;
break;
case 1
res=(x)-(y)
cout << "Le resultat de la soustraction est:%f",res;
break;
case 2
res=(x)*(y)
cout << "Le resultat de la multiplication est:%f",res;
break;
case 3
res=(x)/(y)
cout << "Le resultat de la division est:%f",res;
break;
default:
cout << "Opérateur inconnu!!\n";
break;
}
}
Pour vous faciliter la tache voila le log des erreurs==>
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:33: parse
error before `=' token
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:39: parse
error before `=' token
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:46: `
cout' undeclared (first use this function)
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:46: (Each
undeclared identifier is reported only once for each function it appears
in.)
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:25: warning: unreachable
code at beginning of switch statement
Exécution terminée
#include<stdio.h>
#include<math.h>
int main()
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
float x,y,codeo ,res;
printf("Entrer le premier terme:");
scanf("%f",&x);
printf("Entrer le dexieme terme:");
scanf("%f",&y);
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
scanf("%f",&codeo);
switch(codeo)
{
case 0
res=(x)+(y)
cout << "Le resultat de l'addition est:%f",res;
break;
case 1
res=(x)-(y)
cout << "Le resultat de la soustraction est:%f",res;
break;
case 2
res=(x)*(y)
cout << "Le resultat de la multiplication est:%f",res;
break;
case 3
res=(x)/(y)
cout << "Le resultat de la division est:%f",res;
break;
default:
cout << "Opérateur inconnu!!\n";
break;
}
}
Pour vous faciliter la tache voila le log des erreurs==>
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:33: parse
error before `=' token
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:39: parse
error before `=' token
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:46: `
cout' undeclared (first use this function)
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:46: (Each
undeclared identifier is reported only once for each function it appears
in.)
C:/Documents and Settings/Flomien/Bureau/flo/info/travail C++/1/test/test2.cpp:25: warning: unreachable
code at beginning of switch statement
Exécution terminée
Salut,
ca a l'air pas trop mal
pense bien a remplacer les printf par cout<< et les scanf par cin<<
si tu fait du C++ et pas du C
oublie pas les break derrière chaque sous cas du switch
verifie bien les syntaxes (point virgules dans le switch...par exemple)
et moi pour les case j'ecirai plutot case 0
case 1 case3 que case addition ....
ca devrait marcher
A+
ca a l'air pas trop mal
pense bien a remplacer les printf par cout<< et les scanf par cin<<
si tu fait du C++ et pas du C
oublie pas les break derrière chaque sous cas du switch
verifie bien les syntaxes (point virgules dans le switch...par exemple)
et moi pour les case j'ecirai plutot case 0
case 1 case3 que case addition ....
ca devrait marcher
A+
et
int codeo
car en C/C++ des fois (dépend des machines)
float a = 1.0;
float b = 1;
et a==b répond vrai ou faux car 1.0 est parfois codé comme 0.999999.... et des brouettes
pour le reste utilises des double plutot que des float et "%lf" au lieu de "%f" (les doubles sont mieux codés en C/C++ ...
remplace (x) par x et (y) par y c'est inutile ici.
c'est utile pour les expressions compliquées ave c priorités d'opérateurs du style (a+b)*(a-b)
@+,
mirza
int codeo
car en C/C++ des fois (dépend des machines)
float a = 1.0;
float b = 1;
et a==b répond vrai ou faux car 1.0 est parfois codé comme 0.999999.... et des brouettes
pour le reste utilises des double plutot que des float et "%lf" au lieu de "%f" (les doubles sont mieux codés en C/C++ ...
remplace (x) par x et (y) par y c'est inutile ici.
c'est utile pour les expressions compliquées ave c priorités d'opérateurs du style (a+b)*(a-b)
@+,
mirza
dans le cout pour ecrire le res apres ta phrase il faut enchainer par le signe<< et ca donne:
cout<<"le resultat est:" << res ;
pour utiliser cout inclue la bibliotheque <stdlib.h> et <iostream.h>
cout<<"le resultat est:" << res ;
pour utiliser cout inclue la bibliotheque <stdlib.h> et <iostream.h>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu as une erreur parce que tu as oublié de mettre les ":" et les "<<":
case 0 :
res=(x)+(y)
cout << "Le resultat de l'addition est: "<<res;
break;
A+
case 0 :
res=(x)+(y)
cout << "Le resultat de l'addition est: "<<res;
break;
A+
// oper.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#include<iostream.h>
void main(void)
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
float x,y,res;
int codeo = -1;
printf("Entrer le premier terme:");
scanf("%f",&x);
printf("Entrer le dexieme terme:");
scanf("%f",&y);
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
scanf("%d",&codeo);
switch(codeo)
{
case 0:
res=(x)+(y);
cout << "\nLe resultat de l'addition est : "<<res;
break;
case 1:
res=(x)-(y) ;
cout << "Le resultat de la soustraction est:"<<res;
break;
case 2:
res=(x)*(y) ;
cout << "Le resultat de la multiplication est:"<<res;
break;
case 3:
res=(x)/(y) ;
cout << "Le resultat de la division est:"<<res;
break;
default:
cout << "Opérateur inconnu!!\n";
break;
}
}
j'ai fait marcher ton programme, mais je te conseil de lire et de te documenter avant de commencer a programmer
en plus, tes message doivent etre claire et un bon dialogue claire et lisible entre toi et l'usager, exemple
quan vous dite Entrer le premier terme il faut ajouter suivit de RC
quand vous dite : Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
il faut dire 1, pour l'addition 2, pour la mult etc, sinon l'usager ne peut pas deviner
troixiemment, n'utilise pas le 0 pour le choix de reponse, car le zero est utiliser pour le programmeur souvent (indexage, tableau et autre )
4- Utlilise le C++ et ses force si tu fais de c++ sinon c
Bonne chance et apprentissage, je n'etais que de passage
//
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
#include<iostream.h>
void main(void)
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
float x,y,res;
int codeo = -1;
printf("Entrer le premier terme:");
scanf("%f",&x);
printf("Entrer le dexieme terme:");
scanf("%f",&y);
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
scanf("%d",&codeo);
switch(codeo)
{
case 0:
res=(x)+(y);
cout << "\nLe resultat de l'addition est : "<<res;
break;
case 1:
res=(x)-(y) ;
cout << "Le resultat de la soustraction est:"<<res;
break;
case 2:
res=(x)*(y) ;
cout << "Le resultat de la multiplication est:"<<res;
break;
case 3:
res=(x)/(y) ;
cout << "Le resultat de la division est:"<<res;
break;
default:
cout << "Opérateur inconnu!!\n";
break;
}
}
j'ai fait marcher ton programme, mais je te conseil de lire et de te documenter avant de commencer a programmer
en plus, tes message doivent etre claire et un bon dialogue claire et lisible entre toi et l'usager, exemple
quan vous dite Entrer le premier terme il faut ajouter suivit de RC
quand vous dite : Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
il faut dire 1, pour l'addition 2, pour la mult etc, sinon l'usager ne peut pas deviner
troixiemment, n'utilise pas le 0 pour le choix de reponse, car le zero est utiliser pour le programmeur souvent (indexage, tableau et autre )
4- Utlilise le C++ et ses force si tu fais de c++ sinon c
Bonne chance et apprentissage, je n'etais que de passage
bon on se la refait parce qu il y a des gens qui suivent on dirait.
j assume que le langage desire est le C++, au vu du titre du message.
#include "stdafx.h"
// qu est ce que c est que ca???
#include<stdio.h>
// on fait du c++
#include<math.h>
// inutile
#include <stdlib.h>
#include<iostream.h>
// deprecie mais si tu y tiens
void main(void)
// ca n existe pas. c est
// int main(void)
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
// NON: utiliser une enum (deja dit)
// enum {addition, soustraction, division, multiplication};
float x,y,res;
int codeo = -1;
printf("Entrer le premier terme:");
// c est du c! en c++ on fait comme ca:
// std::cout << "Entrer le premier terme:";
scanf("%f",&x);
// std::cin >> x;
printf("Entrer le dexieme terme:");
// idem
scanf("%f",&y);
// idem
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
// idem
scanf("%d",&codeo);
// idem
switch(codeo)
{
case 0:
// utiliser l'enum!
// case addition:
res=(x)+(y);
// les parentheses sont inutiles
cout << "\nLe resultat de l'addition est : "<<res;
// pas de retourn a la ligne?
break;
case 1:
res=(x)-(y) ;
cout << "Le resultat de la soustraction est:"<<res;
break;
case 2:
res=(x)*(y) ;
cout << "Le resultat de la multiplication est:"<<res;
break;
case 3:
res=(x)/(y) ;
cout << "Le resultat de la division est:"<<res;
break;
default:
cout << "Opérateur inconnu!!\n";
// NON pas \n en c++ c est
// std::cout << "operateur inconnu" << std::endl;
break;
// NON il manque:
// return 0;
}
}
maintenant ca devrait aller.
il faudrait faire la difference entre le C et le C++.
[...]
>4- Utlilise le C++ et ses force si tu fais de c++ sinon c
c est vrai.
--
pouet
j assume que le langage desire est le C++, au vu du titre du message.
#include "stdafx.h"
// qu est ce que c est que ca???
#include<stdio.h>
// on fait du c++
#include<math.h>
// inutile
#include <stdlib.h>
#include<iostream.h>
// deprecie mais si tu y tiens
void main(void)
// ca n existe pas. c est
// int main(void)
{
const int Addition=0;
const int Soustraction=1;
const int Multiplication =2;
const int Division=3;
// NON: utiliser une enum (deja dit)
// enum {addition, soustraction, division, multiplication};
float x,y,res;
int codeo = -1;
printf("Entrer le premier terme:");
// c est du c! en c++ on fait comme ca:
// std::cout << "Entrer le premier terme:";
scanf("%f",&x);
// std::cin >> x;
printf("Entrer le dexieme terme:");
// idem
scanf("%f",&y);
// idem
printf("Choisissez l'opération à effèctuer, addition, soustraction, multiplication ou division:");
// idem
scanf("%d",&codeo);
// idem
switch(codeo)
{
case 0:
// utiliser l'enum!
// case addition:
res=(x)+(y);
// les parentheses sont inutiles
cout << "\nLe resultat de l'addition est : "<<res;
// pas de retourn a la ligne?
break;
case 1:
res=(x)-(y) ;
cout << "Le resultat de la soustraction est:"<<res;
break;
case 2:
res=(x)*(y) ;
cout << "Le resultat de la multiplication est:"<<res;
break;
case 3:
res=(x)/(y) ;
cout << "Le resultat de la division est:"<<res;
break;
default:
cout << "Opérateur inconnu!!\n";
// NON pas \n en c++ c est
// std::cout << "operateur inconnu" << std::endl;
break;
// NON il manque:
// return 0;
}
}
maintenant ca devrait aller.
il faudrait faire la difference entre le C et le C++.
[...]
>4- Utlilise le C++ et ses force si tu fais de c++ sinon c
c est vrai.
--
pouet
aquadrox
Messages postés
6
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
24 mai 2009
1
25 sept. 2003 à 19:40
25 sept. 2003 à 19:40
Merci a tous pour votre aide et votre rapidité!!
slt,
voila, je te propose ce code que j'ai fait pour une calculatrice ( addition, soustraction etc..). Il est assez complet ms, tu prends ce que tu veux. Le code est plus simple que les autres que j'ai vu précédement.
@++
Philippe
/*
Name: Caclulette convertisseur
Author: Garfield37
Date: 23/07/07
Copyright: 2004
*/
#include <iostream>
#include <conio.c>
void addition();
void soustraction();
void multiplication();
void division();
void evf(); //euro vers francs
void fve(); //francs vers euro
void rc(); //racine carré
using namespace std;
int a, b, c;
char z;
int main()
{
textcolor(9); //couleur bleue
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<"**************************** Calculette ********************************\n";
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<" by Garfield37\n\n";
cout<<"Choisissez le type d'operation: \n\n";
cout<<"\t1 : Addition\n";
cout<<"\t2 : Soustraction\n";
cout<<"\t3 : Multiplication\n";
cout<<"\t4 : Division\n";
cout<<"\t5 : Convertisseur euros - francs\n";
cout<<"\t6 : Convertisseur francs - euros\n";
cout<<"\t7 : Racine carre\n";
cout<<"\tOu tapez autre chose pour quitter\n\n";
cout<<"Votre choix: ";
cin>>z;
cout<<"\n\n";
switch (z)
{
case '1': addition();
break;
case '2': soustraction();
break;
case '3': multiplication();
break;
case '4': division();
break;
case '5': evf();
break;
case '6': fve();
break;
case '7': rc();
break;
default : exit(0);
break;
}
return 0;
}
void addition()
{
cout<<"Quels nombres voulez-vous additioner?\n";
cin>>a;
cout<<"+\n";
cin>>b;
cout<<"\nLe resultat est "<<a+b<<"\n\n";
system ("PAUSE"); //"Appuyez sur une touche pour continuer"
system ("cls"); //Efface la totalité de l'écran (ca devient plus lisible d'un coup!)
main();
}
void soustraction()
{
cout<<"Quels nombres voulez-vous soustraire?\n";
cin>>a;
cout<<"-\n";
cin>>b;
cout<<"\nLe resultat est "<<a-b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void multiplication()
{
cout<<"Quels nombres voulez-vous multiplier?\n";
cin>>a;
cout<<"x\n";
cin>>b;
cout<<"\nLe resultat est "<<a*b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void division()
{
cout<<"Quels nombres voulez-vous diviser?\n";
cin>>a;
cout<<":\n";
cin>>b;
if (b==0) cout<<"On ne peut pas diviser par 0\n\n";
else cout<<"\nLe resultat est "<<a/b<<"\nde reste: "<<a%b<<"\n";
cout<<"\n";
system ("PAUSE");
system ("cls");
main();
}
void evf()
{
cout<<"Quelle somme en euros voulez-vous convertir?\n";
cin>>a; cout<<" euros donnent "<<a*6.55957<<" francs\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void fve()
{
cout<<"Quelle somme en francs voulez-vous convertir?\n";
cin>>a; cout<<" francs donnent "<<a/6.55957<<" euros\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void rc()
{
cout<<"De quel nombre voulez-vous avoir la racine carre?\n";
cin>>a; cout<<" renvoi "<<sqrt(a)<<"\n\n"; //sqrt sert a avoir la racine carré de la variable entre parenthèses
system ("PAUSE");
system ("cls");
main();
}
voila, je te propose ce code que j'ai fait pour une calculatrice ( addition, soustraction etc..). Il est assez complet ms, tu prends ce que tu veux. Le code est plus simple que les autres que j'ai vu précédement.
@++
Philippe
/*
Name: Caclulette convertisseur
Author: Garfield37
Date: 23/07/07
Copyright: 2004
*/
#include <iostream>
#include <conio.c>
void addition();
void soustraction();
void multiplication();
void division();
void evf(); //euro vers francs
void fve(); //francs vers euro
void rc(); //racine carré
using namespace std;
int a, b, c;
char z;
int main()
{
textcolor(9); //couleur bleue
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<"**************************** Calculette ********************************\n";
cout<<"************************************************************************\n";
cout<<"************************************************************************\n";
cout<<" by Garfield37\n\n";
cout<<"Choisissez le type d'operation: \n\n";
cout<<"\t1 : Addition\n";
cout<<"\t2 : Soustraction\n";
cout<<"\t3 : Multiplication\n";
cout<<"\t4 : Division\n";
cout<<"\t5 : Convertisseur euros - francs\n";
cout<<"\t6 : Convertisseur francs - euros\n";
cout<<"\t7 : Racine carre\n";
cout<<"\tOu tapez autre chose pour quitter\n\n";
cout<<"Votre choix: ";
cin>>z;
cout<<"\n\n";
switch (z)
{
case '1': addition();
break;
case '2': soustraction();
break;
case '3': multiplication();
break;
case '4': division();
break;
case '5': evf();
break;
case '6': fve();
break;
case '7': rc();
break;
default : exit(0);
break;
}
return 0;
}
void addition()
{
cout<<"Quels nombres voulez-vous additioner?\n";
cin>>a;
cout<<"+\n";
cin>>b;
cout<<"\nLe resultat est "<<a+b<<"\n\n";
system ("PAUSE"); //"Appuyez sur une touche pour continuer"
system ("cls"); //Efface la totalité de l'écran (ca devient plus lisible d'un coup!)
main();
}
void soustraction()
{
cout<<"Quels nombres voulez-vous soustraire?\n";
cin>>a;
cout<<"-\n";
cin>>b;
cout<<"\nLe resultat est "<<a-b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void multiplication()
{
cout<<"Quels nombres voulez-vous multiplier?\n";
cin>>a;
cout<<"x\n";
cin>>b;
cout<<"\nLe resultat est "<<a*b<<"\n\n";
system ("PAUSE");
system ("cls");
main();
}
void division()
{
cout<<"Quels nombres voulez-vous diviser?\n";
cin>>a;
cout<<":\n";
cin>>b;
if (b==0) cout<<"On ne peut pas diviser par 0\n\n";
else cout<<"\nLe resultat est "<<a/b<<"\nde reste: "<<a%b<<"\n";
cout<<"\n";
system ("PAUSE");
system ("cls");
main();
}
void evf()
{
cout<<"Quelle somme en euros voulez-vous convertir?\n";
cin>>a; cout<<" euros donnent "<<a*6.55957<<" francs\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void fve()
{
cout<<"Quelle somme en francs voulez-vous convertir?\n";
cin>>a; cout<<" francs donnent "<<a/6.55957<<" euros\n\n"; //le taux de convertion
system ("PAUSE");
system ("cls");
main();
}
void rc()
{
cout<<"De quel nombre voulez-vous avoir la racine carre?\n";
cin>>a; cout<<" renvoi "<<sqrt(a)<<"\n\n"; //sqrt sert a avoir la racine carré de la variable entre parenthèses
system ("PAUSE");
system ("cls");
main();
}