Erreur39 en pascal

Bonjour,
j'ai un probléme avec l'erreur n°39 sur pascal

program les_feus;
uses wincrt;
var feu:string;
begin
write ('entrez couleur du feu R/V/O : ');
read(feu);
case feu of
'orange':write('attention');
'vert':write('passer');
'rouge':write('stop');
end;
end.
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. houla !

    de mémoire : pas de ; juste avant le end du case.

    je gagne qqe chose ?
    1. Ecoute moi cher ame...

      La structure "case" marche qu'avec un sélecteur de type scalaire comme booléen, caractère, entier, intervalle, énuméré, mais non pas les chaines de caractère, les réels et les tableaux et les matrices...

      Merci

      essaye avec ça

      program les_feus;
      uses wincrt;
      var feu:string;
      begin
      write ('entrez couleur du feu R/V/O : ');
      repeat
      read(feu);
      until (feu='orange') or (feu='vert') or (feu='rouge');
      if feu='orange' then
      writeln('attention') else
      if feu='rouge' then
      writeln('stop') else
      if feu='vert' then
      writeln('passer');

      end.
      1. salut
        pourquoi tu demande d'enter un caractere (R / V / O) et tu fait le contrôle sur des strings(rouge vert orange )?!!
        si un autre utilisateur execute ton pgm et voie: entrez couleur du feu R/V/O : il va enter bien sur R ou V ou O !!
        essaye ça:
        program les_feus; 
        uses wincrt; 
        var feu:char; 
        begin 
        write ('entrez couleur du feu R/V/O : '); 
        readln(feu); 
        case feu of 
          'O':write('attention'); 
          'V':write('passer'); 
          'R':write('stop'); 
        end; 
        end.
        

        cordialement