Table de multiplication [Fermé]

Signaler
Messages postés
3
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
7 novembre 2015
-
 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

Messages postés
16025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
708
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
Merci j'ai réussi à corriger ce qui n'allait pas dans le programme en utilisant une boucle for
Messages postés
3
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
7 novembre 2015

je suis débutante et je j'aimerais savoir avec quelle boucle je peux faire ce teste
Mais merci pour l'aide
Messages postés
16025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
708
Qu'est ce que tu connais comme boucle ou comme test?
Messages postés
3
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
7 novembre 2015
>
Messages postés
16025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021

toutes les boucles
Messages postés
16025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
708
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?
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.
Messages postés
16025
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
708
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?