Erreur39 en pascal

ame -  
 amie -
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. othanga
     
    houla !

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

    je gagne qqe chose ?
    0
  2. abdelli1991 Messages postés 68 Statut Membre
     
    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.
    0
  3. amie
     
    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
    0