Manque de persévérance peut être.
Il y a cependant une chose que j'apprends à mes étudiants dès le premier jour et qu'il est toujours bon de se rappeler : si tu ne vois pas une faute les deux premières fois où tu regardes (et que tu la cherches activement) tu ne la verras pas plus la troisième fois.
Après il faut apprendre à être méthodique et à vérifier chaque petite virgule. Il ne faut jamais laisser passer de détails : l'ordinateur ne les laissera pas passer lui. La rigueur d'un programme doit être équivalant à celui d'une bonne démonstration mathématique.
Bonjour,
si je puis me permettre, ton code ressemble plus à du C qu'à du C++. Et je trouve extrêmement dommage qu'en France, rares sont les enseignants qui font clairement la distinction qui, pourtant, est primordiale.
Par exemple, ton programme en C++ devrait ressembler à cela:
J'ai enlevé la directive d'importation d'espace de nommage 'using namespace', dans un but didactique, afin de montrer à quels endroits est utilisée la STL.Code://ArrayDemo - Démontre l'utilisatoin des tableaux #include <iostream> #include <algorithm>// pour la fonction for_each #include <vector> // pour la classe vector #include <numeric> // pour la fonctin accumulate //déclaration des prototypes void displayArray( std::vector<int> integerArray ); int sumArray( std::vector<int> integerArray ); int main() { //entrée ds la boucle de comptage std::cout << "Ce pg additionne les valeurs saisies par l'utilisateur\n"; std::cout << "Quittez la boucle en rentrant un nb nég\n"; std::cout << std::endl; //stockage ds tableau std::vector<int> inputValues; int integerValue = 0; while ( integerValue >= 0 ) { std::cout << "Tapez le prochain nb:"; std::cin >> integerValue; if ( integerValue >= 0) inputValues.push_back(integerValue); } //affichage et somme des valeurs displayArray(inputValues); std::cout << "La somme vaut: " << sumArray(inputValues) << std::endl; //attend pour terminer le pg que l'utilisateur lise le contenu system("PAUSE"); return 0; } // foncteur pour l'affichage des entiers struct DisplayInt { DisplayInt():count_(0){} void operator()(int number) { std::cout << count_++ << ": " << number << std::endl; } int count_; }; //displayArray : affiche les membres du tableau selon la longueur de sizeOfloatArray void displayArray( std::vector<int> integerArray ) { std::cout << "Valeurs des membres du tableau:" << std::endl; std::for_each( integerArray.begin(), integerArray.end(), DisplayInt() ); std::cout << std::endl; } //sumArray int sumArray( std::vector<int> integerArray ) { return std::accumulate( integerArray.begin(), integerArray.end(), 0 ); }
Il est à noter que ce code pourrait être amélioré, notamment par une utilisation plus pointue de la STL, mais tel n'est pas le but de mon post. Je voulais juste montrer que du vrai code C++ est vraiment différent du code C, et qu'il est important de faire la distinction.
Le C et le C++ sont deux langages distincts qui ont une partie commune. Mais cette partie commune est de plus en plus faible, et vouée à disparaitre dans un futur proche.
Mais c'est surtout au niveau de la sémantique qu'il faut faire la distinction. Le c++ est un langage orienté objet. Il faut arêter d'utiliser des int[] et des char* en C++, c'est une erreur grossière.
Je ne sais pas comment les profs enseignent le C++ en France puisque j'apprends le C++ à partir d'un livre (dont l'auteur est américain me semble-t-il) actuellement. Je n'aurai des cours de C++ que l'an prochain, par un prof qui fait aussi prof de C. Comme il était très bien en C, je suppose qu'il sera bon en C++, enfin je l'espère
[QUOTE=jobherzt;1206061]cout n'affiche rien tant que tu n'as pas mis un endl (ou un flush). essaie avec
[/QUOTCode:cout << x e<<endl;
si cout affiche et pour endl ca veut dire retourner à la ligne .
si tu n'as pas mis endl voila resultat :3meriem@meriem-HP-620:~$
par contre ici ,je mis endl voila resultat:
3
meriem@meriem-HP-620:~$
tu vois la defference
cout<<x<<endl ; ( pas de e)
Quelle utilité de déterrer un si vieux topic. A mon avis,au bout de 3 années, c'est un peu tard pour une réponse.
On dira que l'intention était bonne. Alors continue à donner des coups de main, mais sur des problème un peu plus frais.
A+