Discussion:Exercices en langage C++/Structures de contrôle

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Un livre de Wikilivres.

salut! je pense que l'exercice 10 présente un erreur car on commence toujours par x=0 ce qui n'est pas vrai car il faut donnez à l'utilisateur la liberté d'entrer le nombre qu'il veut ensuite on effectue l'opération voulue.... donc je pense que le listing le plus juste et celui là :

  1. include <cstdio>
  2. include <cstdlib>
  3. include <iostream>

using namespace std; int main() {

                 int x=0,choix;

do

   {
   cout<<"entrez un entier "<<endl;
   cin>>x;
   cout<<"1 : Ajouter 1"<<endl;
   cout<<"2 : Multiplier par 2"<<endl;
   cout<<"3 : Soustraire 4"<<endl;
   cout<<"4 : Quitter"<<endl;
   cout<<"Votre choix : ";cin>>choix;
   switch(choix)

{ case 1 : x++;break; case 2: x=x*2; break; case 3: x=x-4;break; } cout<<"Le résultat de l'opération est :"<<x<<endl; }while(choix!=4);

cout<<"La valeur finale de x vaut : "<<x<<endl;



system("pause");          
 
   return 0;

}

La solution correspond bien à l'énoncé. Le but de l'exercice est de faire évoluer la valeur de x (au départ 0) avec différentes opérations. Il n'y a donc aucun intérêt à demander la valeur de x à chaque itération.
De plus system("pause"); est l'une des mauvaises pratiques bannies des livres, car non portable.
-- ◄ David L • discuter ► 1 mai 2009 à 15:04 (CEST)[répondre]

Exercice 6 - Initialisation de somme[modifier le wikicode]

Bonjour, Exercice 6, ne faudrait-il pas initialiser somme à 0 ?

double somme = 0;

Bonjour, la solution de l'exercice est incomplète, il manque une boucle for.

voici une solution :

  1. include <iostream>

using namespace std;

int main() {

   int N=0;
   cout << "Saisissez une valeur pour N: ";
    cin >> N;
   cout << endl;
  for(int y=1;y<=N;y++)
  { 
    cout<<"N= "<<y<<endl;
    for(int i=0;i<y;i++)
     {
           
        for(int j=0;j<(y-i);j++)
         {
          cout<<"*";
         }      
  	 cout<<endl;
     }
  }

return 0; }

cordialement

Denisdez (discussion) 13 septembre 2014 à 18:14 (CEST)Denisdez[répondre]

Salut, je pense qu'il y a une erreur au niveau de l'initialisation de i, en effet ici i = 2 lors de sa déclaration, du coup pour N = 1 on a le nombre premier numero 1 (N) est egale a 3(i) alors que le 1er nombre premier devrait être 2. Il faudrait pas conséquent que i soit initialisée à 1 lors de sa déclaration.