Problème d'addition - PASCAL DELPHIE

Fermé
stemariej Messages postés 8 Date d'inscription mercredi 24 décembre 2008 Statut Membre Dernière intervention 6 mai 2010 - 21 janv. 2009 à 04:50
 artofsilence - 2 mai 2009 à 07:53
Bonjour,

J'ai un deuxième problème. Je dois faire un programme de test d'addition bien simple. Les contraintes sont les suivantes :
- Le test s'arrête automatiquement après 3 mauvaises réponses consécutives
- Le test peut s'arrêter sur demande après 4 bonne réponses consécutives Une fois la sixième question compléter
- Le test s'arrête après un maximum de 10 questions.

Comme je ne peux faire deux fois ''While'' j'ai un problème, parce que je dois spécifier que je ne peux pas utiliser la fonction ''break'' pour sortir de ma boucle ... alors que faire ?????

voici mon programme :

program Questionaddition;

{$APPTYPE CONSOLE}

uses
SysUtils;

Const
quest1='1 est: 1 + 1';
quest2='2 est: 2 + 2';
quest3='3 est: 3 + 3';
quest4='4 est: 4 + 4';
quest5='5 est: 5 + 5';
quest6='6 est: 6 + 6';
quest7='7 est: 7 + 7';
quest8='8 est: 8 + 8';
quest9='9 est: 9 + 9';
quest10='10 est: 10 + 10';

var

tablor:array[1..10] of integer=(2,4,6,8,10,12,14,16,18,20);
cumb,cumm,i,ind_err,ind_bon,x,y,question:integer;
j : char;



begin
i:=tablor[1];
cumb:=0; //nombre de bonnes réponses consécutives//
cumm:=0; //nombre de mauvaises réponses consécutives//
ind_err:=0;
ind_bon:=0;
question:=0;
x:=1;
y:=2;




while cumm <3 do
begin

question:= question+1;
writeln('la question no' ,x,'est:' , x,'+',x);
write('la reponse est:');
readln(i);
x:= x+1;
if i<> y then
begin
cumm:= cumm+1;
ind_err:= ind_err+1;
writeln('vous avez la mauvaise réponse, la reponse etait 2');
writeln('votre score est:',ind_bon ,'sur:', question);
writeln;
End
else
begin
cumb:=cumb+1;
ind_bon:= ind_bon+1;
writeln('votre score est:',ind_bon ,'sur:', question);
writeln
end;
y:= y+2;


// c'est le boutte à effacer//
writeln ('Le cumul de cumm est de:',cumm);
writeln ('le cummul de cumb est de:',cumb);
writeln;

//Le bout pour les 4 consécutives//
If cumb >=4 then
begin
writeln ('vous avez 4 bonnes réponses consécutives, vous pouvez arreter le test tapant le 1, sinon appuyer sur 2');
end;







END; //Le end du begin du while cumm//


If cumm =3 then
begin
writeln ('vous avez fait trois erreurs le test se termine automatiquement')
end


else
writeln('Appuyez sur <ENTREE> pour terminer...');
readln;


end.

Merci de Votre aide !!!!
A voir également:

1 réponse

artofsilence
2 mai 2009 à 07:53
Bon premierement si je me trompe pas, a moins que ton test pratique ne soit pas le même que moi, faut pas négliger que se doit être des nombre généré aléatoirement, ce qui n'est pas le cas des nombre utilisé dans tes addition affiché dans le code inscrite a ton code. Donc déja la, il y a une grande parti du travail qui resterais à faire. Ben aussi depuis la date de ton message, soit ta trouver toi meme , ou soi qua la correction tu a appris le probleme.

Bonne chance pour le reste.
0