[Débutant] Souci de syntaxe

bl4cksun Messages postés 6 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 27 février 2009 - 27 févr. 2009 à 15:46
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 28 févr. 2009 à 14:55
Bonjour à tous,

Voilà je suis débutant en pascale, et j'ai une ligne qui me pose problème.
L'utilisateur finale n'a d'autre choix que de répondre soit O soit OUI soit YES ou bien N , NON , NO .
L'utilisateur peut mettre en minuscule, je mettrais en majuscule l'entrée qu'il aura tappé.

Pour mieux comprendre je vais mettre la ligne que j'ai tenté de mettre.

if o = [('O'),('OUI'),('YES')]  then
   begin
       menu;          //procédure
   end;


Mais la syntaxe semble incorrect, me conseillerais vous de créer un ensemble, ou il y a bien une syntaxe qui s'appliquerais dans mon cas.
Merci d'avance pour votre aide

3 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 févr. 2009 à 18:01
salut,

non la syntaxe n'est pas bonne!
il faut procéder comme ceci:
  if (o 'O') or (o 'OUI') or (o = 'YES') then

et je te conseil aussi de donner un nom plus explicite à tes variables ...
à la place de "o" mettre "UserInput" (par exemple)

la lecture, la compréhension et la maintenance du code n'en sera que plus simple

 
@+
Cirec

<hr siz="" />
0
bl4cksun Messages postés 6 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 27 février 2009
27 févr. 2009 à 19:20
Merci , oui effectivement j'ai fini par trouver sur le web.


et je vais également changer le nom des variables, tu a bien raison de me le faire remarquer.


Enfait la je dois faire un programme qui permet de parcourire un fichier texte, il ressort tout les mots de plus de 5 lettres et les mets dans un autre fichier texte.
Ce fichier texte sera utiliser comme dictionnaire pour le jeux du pendu (pas encore fait).
Pour le moment je ne suis pas encore parvenu a faire la gestion des doublons du fichier texte en question, ca viendra, si j'ai une question en particulier je n'hésiterais pas .

Autres questions.
Ce même programme ce constitue de procédures qui s'appellent l'unes à l'autres si besoin-est. C'est en fait des menu et sous menu. Cela fait que le corps du programme contient juste l'appel a une procédure (menuprincipal) .
Voilà déja es ce que d'après toi c'est une facon logique de procéder?

Autres question a propos du forum qu'elles sont les balises a utiliser pour entourer du code?
j'ai essaier
 
mais c'est pas ca?
Encore merci
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
28 févr. 2009 à 14:55
var
  InputUserStr  : string;
  InputUserChar : Char;

procedure proc_step_yes;
begin
end;

procedure proc_step_no;
begin
end;

procedure proc_step_help;
begin
end;

function proc_step_exit : boolean;
begin
  write('Voulez-vous quitter le programme [O/N] ? ');
  readln(InputUserChar);
  writeln('');
  result := InputUserChar in ['O','o'];
end;

procedure proc_errorchoice;
begin
  Writeln('Saisie incorrect ('+Choice+') attendus [O/N, Oui/Non, Q/Quitter].' );
  Writeln('');
end;

label StepClearScreen, StepMenu, StepExit;
begin
 StepClearScreen :
   // ClrScr; // CRT mode only

 StepMenu :
   writeln('Entrez votre choix :');

   writeln('  [O/Oui]     : blablabla');

   writeln('  [N/Non]     : blablabla');
   writeln('  [A/Aide]    : aide sur les commandes.');

   writeln('  [Q/Quitter] : sortir du programme.');

   write('Votre choix : ');
   readln(InputUserChar);

   Case InputUserChar of
     'O','o' : proc_step_yes;
     'N','n' : proc_step_no;
     'A','a' : proc_step_help;
     'Q','q' : ExitStep := proc_step_exit;
     else
       proc_step_errorchoice;
   end;
 
   if not ExitStep then
     Goto StepClearScreen;

  StepExit :
   Writeln('Bye Bye ;)');
end;



<hr size="2" width="100%" />
0
Rejoignez-nous