Table de multiplication

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. 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. Merci j'ai réussi à corriger ce qui n'allait pas dans le programme en utilisant une boucle for
      0
  2. je suis débutante et je j'aimerais savoir avec quelle boucle je peux faire ce teste
    Mais merci pour l'aide
    0
    1. Qu'est ce que tu connais comme boucle ou comme test?
      0
    2. 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. 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. 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