Table de multiplication

Jayn22 Messages postés 3 Statut Membre -  
 jayn22 -
Bonjour,
je suis entrain d'écrire un programme et je suis bloqué. J'aimerais que mon programme calcule les dix premieres table de multiplication mais il calcule la table de tous les nombres. comment faire?
Merci d'avance.
voici un aperçu
  var
  N,i:integer;
  rep:char;

begin
rep:='o';
while (rep='o') or (rep='O') do
begin
  write('entrer le nombre pour lequel vous souhaitez ses tables: ');
  readln(N);
  i:=0;
  while i<10 do
    begin
    writeln('| ',N ,' X ',i,' = ',N*i, ' |');
    i:=i+1;
   end;
   write('voulez-vous calculer une autre table? O pour oui N pour non  :');
   readln(rep);
end;
 readln;
end.


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. Utilisateur anonyme
     
    Bonjour, au moment où tu demandes à l'utilisateur d'entrer un nombre, tu testes s'il est entre 0 et 10, si ça n'est pas le cas, tu reposes la question
    0
    1. jayn22
       
      Merci j'ai réussi à corriger ce qui n'allait pas dans le programme en utilisant une boucle for
      0
  2. Jayn22 Messages postés 3 Statut Membre
     
    je suis débutante et je j'aimerais savoir avec quelle boucle je peux faire ce teste
    Mais merci pour l'aide
    0
    1. Utilisateur anonyme
       
      Qu'est ce que tu connais comme boucle ou comme test?
      0
      1. Jayn22 Messages postés 3 Statut Membre > Utilisateur anonyme
         
        toutes les boucles
        0
    2. Utilisateur anonyme
       
      Et en réfléchissant bien, tu ne voies pas laquelle te permettre de poser toujours la même question, et de sortir quand la réponse est bonne?
      0
  3. Profil bloqué
     
    program Multiplier;
    
    const Max_Table = 10;
    var
    
      N, I : Integer;
      Rep : Char;
    
    begin
    
    repeat
    
      repeat
      write('Entrer le nombre pour lequel vous souhaitez ses tables 0 < N <= 10 : ');
      Readln(N);
      until InRange(N, 1, 10);
    
      WriteLn;
      WriteLn;
    
      I := 1;
      while I <= Max_Table do begin
        Writeln('| ',N:3 ,' x ',I:3,' = ',(N * I):3, ' |');
        I := I + 1;
       end;
    
      WriteLn;
      WriteLn;
    
       Write('voulez-vous calculer une autre table? O pour oui N pour non  :');
       Readln(Rep);
       Rep := UpCase(Rep);
    
       until Rep = 'N';
    
    end.
    0
    1. Utilisateur anonyme
       
      EDIT : Ajout du LANGAGE dans les balises de code.
      Explications disponibles ICI

      Merci d'y penser dans tes prochains messages.



      D'autre part, ne crois tu pas que pour son apprentissage, il était plus utile de la faire chercher un peu?
      0