Bonjour,
Le programme est tout à fait simple, il doit afficher un opérateur en toutes lettres, j'ai voulu faire en sorte que le programme ne se bloque pas si on entre un caractère autre qu'un des quatres opérateurs.
Problème : j'ai une erreur de syntaxe mais, le vrai problème c'est que je suis convaincu de ne pas en avoir.
voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program affiche_op ;
uses wincrt;
var op,opl:string;
begin
writeln('entrez un opérateur');
read(op);
case op of
'+', '-', '*', '/' : case op of                  {1}
	'+' : opl:='somme';
	'-' : opl:='différence';
	'*' : opl:='produit';
	'/' : opl:='quotient';
	end
end
else
begin
repeat
writeln('ce n''est pas un opérateur!, ré-entrez un opérateur svp');
read(op);
until
(op='+') OR (op='-') OR (op='*') OR (op='/');     {2}
end;
case op of
	'+' opl:='somme';
	'-' opl:='différence';
	'*' opl:='produit';
	'/' opl:='quotient';
	end;
writeln(opl);
end.
{1} la condition de la forme case .. of
{2} même condition sous repeat
Dites-moi où est l'erreur svp et aidez-moi à la corriger.
Merci.