Boucle répéter

Résolu
TheRogerFederer Messages postés 256 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 10 mars 2016 - Modifié par TheRogerFederer le 18/09/2015 à 10:55
TheRogerFederer Messages postés 256 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 10 mars 2016 - 18 sept. 2015 à 15:46
Bonjour, je suis sur codeblocks cette fois avec les cout et cin mais je sèche un peu, voici l'énoncé :


programme tableDeMultiplication
val, k : entier
debut
repeter
afficher "Entrez un nombre entier = "
saisir val
jusqu'à val>=1 et val<=9
pour k de 1 à 10
afficher val, " * ", k, " = ", (val*k)
finpour
fin

et j'ai codé cela mais ce n'est pas suffisant :
int main()
{
    int val = 1, k = 1, z ;
    cout << " Table de multiplication\n ";
    cout << " Entrer un nombre : ";
    cin >> k;
    while ( val <=9 && k <= 10)
    {
        z = val * k;
        cout << ("z = val * k", val, k, z);
        k = k + 1 ;
    }
    return 0 ;
}

Mais je ne sais pas comment on écrit la boucle répéter !

3 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
Modifié par cgandco le 18/09/2015 à 11:22
Bonjour,
je ne connais pas bien le c++ mais comme je me souviens

peut-etre

int main()
{
    int val = 1, k = 1, z ;
    cout << " Table de multiplication\n ";
    
   
do    
{
cout << " Entrer un nombre : ";
    cin >> val;
    }
 while ( !( val >= 1 && val <= 9 ))

       for (k=1;k<=10;k++)
       {
        z = val * k;
        cout << (" %d * %d = %d\n", val, k, z);
        }
    return 0 ;
}



Bonne journée
Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié par cptpingu le 18/09/2015 à 15:54
Bonjour.

Code::block est un éditeur (comme peut l'être QtCreator, Visual Studio, etc...).
La "vraie" information, c'est que tu fais maintenant du C++.

Ton erreur, vient du fait que tu n'essaies pas de comprendre la logique, mais de traduire l'algo qu'on te donne.
Tu y vas à "l'aveugle", et ça ne passera pas à long terme. En lisant l'algo, on comprends qu'il y a deux phases.
La première demande à l'utilisateur un nombre entre 1 et 10 compris. Si ce n'est pas le cas, on redemande à l'utilisateur une valeur correcte.
La deuxième, affiche la multiplication du nombre donné avec les chiffres de 1 à 10.

Tu dois absolument, quand on te donne ce genre d'exercice, écrire sur papier ce que ça fait en "français", comme je viens de le faire ci-dessus. Il te faut impérativement comprendre globalement ce que fait un code, puis être capable d'en analyser les différentes parties (c-à-d découper en paragraphes "logiques").

Attention, il est (fortement) conseillé d'éviter les using namespace, voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace

Voici le code corrigé:
#include <iostream>

int main()
{
  int val = 0;

  std::cout << "Table de multiplication" << std::endl;

  // Demande un nombre entre 1 et 10 compris.
  // Si pas dans cette plage, recommence.
  do
  {
    std::cout << "Entrez un nombre: ";
    std::cin >> val;
  }
  while (val < 1 || val > 10);

  // Affichage des 10 premières valeurs de la table de "val"
  for (int k = 1; k <= 10; ++k)
    std::cout << val << " * " << k << " = " << val * k << std::endl;

  return 0;
}


Pour les prochaines fois où tu posteras, je te demanderai de me joindre le découpage logique, et ce que tu comprends de la fonction qu'on te donne. Ce n'est pas pour t'embêter, mais si je te fais tes exos, sans que tu fasses cette étape, ça te sera préjudiciable.


Améliorer votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
TheRogerFederer Messages postés 256 Date d'inscription mercredi 31 mars 2010 Statut Membre Dernière intervention 10 mars 2016 1
18 sept. 2015 à 15:46
cptpingu il n'y a aucuns problèmes je sais que ce n'est pas pour m'embêter d'ailleurs je te remercie d'être aussi "scolaire" (ne le prend pas mal, ici c'est un compliment), avec moi. Tu as tout a fait raison, il faut aussi que je comprenne ! C'est d'ailleurs ce que je souhaite comprendre alors merci de ta patiente
0
Rejoignez-nous