Probleme de programme
Dernière réponse : dans Programmation
Bonjour,
J'ai fait un programme pour calculer des pourcentage pour faire des sondages.
Je travaille sur DEV-C++, j'ai taper mon programme (je débute en programmation C++) le voicie:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int effectif;
cout << "Entrez l'effectif :";
cin >> effectif;
int effectif totale;
cout << "Entrez l'effectif totale :";
cin >> effectif totale;
effectif totale = effectif / effectif totale * 100;
cout << "Voici le pourcentage :";
cout << effectif totale << endl;
system("PAUSE");
return 0;
}
DEV-C++ me met que int effectif totale n'est pas bon, mais je trouve pas le prob. J'ai sans doute fait une grosse conneries, mais comme je débute j'essaye diver chose.
Alor aidez-moi et merci de vos repoonses. :-D
J'ai fait un programme pour calculer des pourcentage pour faire des sondages.
Je travaille sur DEV-C++, j'ai taper mon programme (je débute en programmation C++) le voicie:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int effectif;
cout << "Entrez l'effectif :";
cin >> effectif;
int effectif totale;
cout << "Entrez l'effectif totale :";
cin >> effectif totale;
effectif totale = effectif / effectif totale * 100;
cout << "Voici le pourcentage :";
cout << effectif totale << endl;
system("PAUSE");
return 0;
}
DEV-C++ me met que int effectif totale n'est pas bon, mais je trouve pas le prob. J'ai sans doute fait une grosse conneries, mais comme je débute j'essaye diver chose.
Alor aidez-moi et merci de vos repoonses. :-D
Autres pages sur : probleme programme
Lassé par la pub ? Créez un compte
Ben la, vite fais je dirais:
Il manque des paranthese:
effectif_totale = effectif /( effectif_totale * 100);
Essaye, mais bon, je repond vite ;-)
Edit: puis choisi un autre nom de variable pour le resultat.
effectif_totale c'est une partie des variables de ton calcul.
Ca marche, mais c'est pas tres clair, si tu veux reutiliser effectif_totale plus tard, ca te posera des prob.
Il manque des paranthese:
effectif_totale = effectif /( effectif_totale * 100);
Essaye, mais bon, je repond vite ;-)
Edit: puis choisi un autre nom de variable pour le resultat.
effectif_totale c'est une partie des variables de ton calcul.
Ca marche, mais c'est pas tres clair, si tu veux reutiliser effectif_totale plus tard, ca te posera des prob.
Deja tu ne devrais pas utiliser effectif_totale 2 fois pour deux chose differente dans le code, ainsi je te conseille de créer une autre variable que tu pourrait nomer par exemple resultat , ton code sera plus lisible . Aussi je te conseille de déclarer toutes tes variable au debut du code pour eviter de te perdre, pour un simple programme comme celui-ci ça va mais quand tu feras des programme plus compliqués faudra t'organiser ^^. Ha oui avant que je n'oublie, il me semble IMPERATIF d'initialiser tes variables au debut pour eviter les erreurs, c'est tout bête d'initialiser si tu ne sais aps comment faire je t'explique :
au lieu de faire int effectif; tu fais int effectif = 0;
car quand tu alloue une cellule de memoire ( une variable donc ) le code utilise ce qu'on apelle la "RAM", cette RAM, pour simplifier, c'est une floppée de "cellule", qui sont identifiables pas 2 chose : leur valeur et leur adresse, les 2 paramètres sont representés par des nombres, l'adresse sert a savoir ou la variable se trouve dans la RAM, et la valeur sert savoir ce qu'elle vaut. Il est donc possible qu'un programme passer avant par la aie deja alloué en memoire une variable et que toi, dans ton programme tu la reutilise sans savoir qu'elle possede deja une valeur ( par exemple si tu vient de jouer à hl ² il est possible qu'elle continne le nombre de HP de gordon XD ) , ce qui dans ton programme ne pose pas vraiment de probleme car elle sera automatiquement effacée au moment meme ou ton programme executeras le " SIN ", mais on n'est jamais assez prudent et c'est une bonne habitude a prendre que d'initialiser ses variables ...
Sinon pour ton problème essaie de definir effectif en float, effectif_totale en float, et la variable que je t'es conseiller de rajouter, en double . Après modification ton code devrait ressembler à ça :
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
float effectif = 0;
float effectif_totale = 0;
double resultat = 0;
cout << "Entrez l'effectif :";
cin >> effectif;
cout << "Entrez l'effectif totale :";
cin >> effectif_totale;
resultat = (effectif / effectif_totale) * 100;
cout << "Voici le pourcentage :";
cout << resultat << endl;
system("PAUSE");
return 0;
}
voila ^^
PS : escusez moi, j'ai peur d'avoir fait un message un peu trop complet . Aussi j'ai tester le code que je t'ai donner, et celui-ci marche ^^.
au lieu de faire int effectif; tu fais int effectif = 0;
car quand tu alloue une cellule de memoire ( une variable donc ) le code utilise ce qu'on apelle la "RAM", cette RAM, pour simplifier, c'est une floppée de "cellule", qui sont identifiables pas 2 chose : leur valeur et leur adresse, les 2 paramètres sont representés par des nombres, l'adresse sert a savoir ou la variable se trouve dans la RAM, et la valeur sert savoir ce qu'elle vaut. Il est donc possible qu'un programme passer avant par la aie deja alloué en memoire une variable et que toi, dans ton programme tu la reutilise sans savoir qu'elle possede deja une valeur ( par exemple si tu vient de jouer à hl ² il est possible qu'elle continne le nombre de HP de gordon XD ) , ce qui dans ton programme ne pose pas vraiment de probleme car elle sera automatiquement effacée au moment meme ou ton programme executeras le " SIN ", mais on n'est jamais assez prudent et c'est une bonne habitude a prendre que d'initialiser ses variables ...
Sinon pour ton problème essaie de definir effectif en float, effectif_totale en float, et la variable que je t'es conseiller de rajouter, en double . Après modification ton code devrait ressembler à ça :
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
float effectif = 0;
float effectif_totale = 0;
double resultat = 0;
cout << "Entrez l'effectif :";
cin >> effectif;
cout << "Entrez l'effectif totale :";
cin >> effectif_totale;
resultat = (effectif / effectif_totale) * 100;
cout << "Voici le pourcentage :";
cout << resultat << endl;
system("PAUSE");
return 0;
}
voila ^^
PS : escusez moi, j'ai peur d'avoir fait un message un peu trop complet . Aussi j'ai tester le code que je t'ai donner, et celui-ci marche ^^.
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumProbleme programme d'ouverture par defaut
- solutionsProbleme programme jeu de la vie
- ForumProbleme avec le programme start ds ancestra
- ForumProbleme de programme par defaut
- ForumProbleme programme cesse de fonctionne
- ForumProbleme programme a l'ouverture session
- ForumProbleme installation programme
- ForumProbleme pour desinstaller un programme
- ForumProbleme demarrage programme
- ForumProbleme desinstaller programme
- Voir plus