IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Pascal Discussion :

[LG]erreur introuvable


Sujet :

Langage Pascal

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 53
    Points : 34
    Points
    34
    Par défaut [LG]erreur introuvable
    salut
    je suis debutant en pascal
    j'ai fais ce code mais je netrouve pas l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    program premier;
    type
        feu=(rouge,jaune,vert);
    var
        d:feu;
    begin
    readln (d)
    case d of
    rouge:writeln('stop');   
    vert:writeln('demarrer');
    jaune:writeln('attention');
    readln;
    end;
    end.
    merci d'avance

  2. #2
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    d'abord des erreurs de syntaxe
    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
     
    program premier; 
    type 
        feu=(rouge,jaune,vert); 
    var 
        d:feu; 
    begin 
    readln (d) (* manque ; *) 
    case d of 
       rouge:writeln('stop');
       vert:writeln('demarrer');
       jaune:writeln('attention');  (* pas de ; avant le end *)
     
    readln;     (* doit être derriere le end *)
    end;
    end.
    ensuite, PASCAL ne permet pas d'entrer une donnée de type énuméré

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Quelle est le texte de l'erreur ?

    Je suis pas sûr que readln(d) soit correct, car tu utilises un type énuméré...
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Citation Envoyé par HRS
    (* pas de ; avant le end *)
    Pas tout à fait d'accord, le ; avant le end n'est certainement pas une erreur de syntaxe... Ca serait plutôt de ne pas le mettre qui serait une erreur, si les compilateurs étaient moins "laxistes"...
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #5
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Tu demandes à l'utilisateur de taper 'rouge', 'jaune' ou 'vert', seulement le programme ne sait pas à quoi correspondent ces chaines de caractères.

    Tu as donc 2 solutions possibles (à mes yeux) :
    - Soit tu demandes à l'utilisateur de taper 1, 2 ou 3 et tu dis au programme que c'est l'ordre de ton élément.
    - Soit l'utilisateur donne une couleur et tu la traites dans une procédure qui lui assigne l'élément correspondant.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    le code donne
    error 64: cannot read or write variables of this type
    readln(d);
    je ne sais quoi faire

    merci

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    je cherche a ce que l'utilisateur quand il entre
    rouge il affiche stop
    vert il affiche demarrer
    jaune il affiche attention
    en utilisant : type
    et merci pour l'aide

  8. #8
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    C'est la fête :

    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
    program premier;
    type
        feu=(rouge,jaune,vert);
    var
        d:feu;
        s: string
    begin
    readln(s);
    if s = "rouge" then d := rouge;
    if s = "jaune" then d := jaune;
    if s = "vert" then d := vert;
    case d of
       rouge:writeln('stop');
       vert:writeln('demarrer');
       jaune:writeln('attention');
    end;
    readln;  
    end.
    Bon en gros dans ce cas, un type énuméré ca sert à rien, à moins que tu veuilles faire des boucles pour passer entre les couleurs...
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  9. #9
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Citation Envoyé par kojima
    le code donne
    error 64: cannot read or write variables of this type
    readln(d);
    je ne sais quoi faire

    merci
    En gros tu lis le post qui est au dessus du tien et tu auras ta réponse.
    Ensuite tu lis le code proposé par Wormful et tu remarque que c'est la "procédure" dont je parlais pour le deuxième cas.
    Enfin tu remarques, comme l'a dit Wormful, qu'un tel type ne sert pas à grand chose dans ton programme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur introuvable
    Par Pahcixam dans le forum Langage
    Réponses: 4
    Dernier message: 12/04/2006, 18h54
  2. Erreur introuvable
    Par Sion_Sempai dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 15h51
  3. erreur introuvable-.---
    Par cyrill.gremaud dans le forum ASP
    Réponses: 8
    Dernier message: 28/12/2005, 08h27
  4. erreur introuvable-.---
    Par cyrill.gremaud dans le forum ASP
    Réponses: 3
    Dernier message: 22/09/2005, 08h42
  5. [syntaxe] erreur introuvable
    Par JohnnyC dans le forum Outils
    Réponses: 2
    Dernier message: 29/04/2004, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo