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

Pascal Discussion :

Une parenthèse agaçante


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut Une parenthèse agaçante
    Bonjour , lorsque je compile mon programme celui ci me dit qu'il me manque une "(" à un endroit et je ne comprends pas du tt !!
    la variable Sgagnant a été définie comme
    Type Sgagnant =integer;
    j'ai fait 2 essais
    essai 1 :
    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
    Procedure Donnenbrsets(VAR setgagnant:integer);
    Var rep : CHAR;
    Begin
    Writeln
    Writeln('Cat‚gorie de joueurs ?');
    Writeln('1. (F)eminin');
    Writeln('2. (M)asculin');
    Writeln('Choix ?');
    Readln(rep);
    Case rep of
         '1','F','f': Begin
         setgagnant:=2;
         end;
         '2','M','m': Begin
         setgagnant:=3;
         end;
     
    END;
    le 2 ème essai en mettant Sgagnant comme string :

    essai2
    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
    Function Donnenbrsets:integer;
    Var rep : CHAR;
    Begin
    Writeln
    Writeln('Cat‚gorie de joueurs ?');
    Writeln('1. (F)eminin');
    Writeln('2. (M)asculin');
    Writeln('Choix ?');
    Readln(rep);
    Case rep of
         '1','F','f': Begin
         Sgagnant:=2;
         end;
         '2','M','m': Begin
         Sgagnant:=3;
         end;
     
    END;
    à chaque fois que je compile le programme souhaiterai qu'une '(' apparaissent après Sgagnant..

    Quelqu'un a une idée ?
    Merci de l'aide que vous pourriez m'apporter;

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Hie,

    Il manque un end; pour fermer le case.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    Citation Envoyé par droggo Voir le message
    Hie,

    Il manque un end; pour fermer le case.

    ok mais est-ce que cela peut éviter l'histoire de la parenthèse ?

    En fait c'est un projet d'info et j'ose pas mettre tout le prgrm car je sais que le prof traine sur le net :-p .

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Dea,
    Citation Envoyé par Largo62 Voir le message
    ok mais est-ce que cela peut éviter l'histoire de la parenthèse ?

    En fait c'est un projet d'info et j'ose pas mettre tout le prgrm car je sais que le prof traine sur le net :-p .
    Ça fait que le compilateur cherche le end, et trouve celui de la procédure.

    Et à partir de là, il perd un peu les pédales car il est décalé par rapport au code.

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Citation Envoyé par droggo Voir le message
    Dea,

    Ça fait que le compilateur cherche le end, et trouve celui de la procédure.

    Et à partir de là, il perd un peu les pédales car il est décalé par rapport au code.
    je ne crois pas que ça soit ça. Si le compilateur demande une '(', c' est une parenthese.
    Ce probleme apparait souvent quand on declare un type et qu' on veut l' utiliser comme une variable. Si on le fait, le compilateur crois qu' on veux faire un cast (eh oui ça existe on pascal), et il demande alors les '('.

    De toute façon, on peut rien faire avec ce que tu nous donne. Si tu peux en donner plus, ça aiderait à trouver une solution rapidement (declaration de variables, type, ... )

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Qao,
    Citation Envoyé par darrylsite Voir le message
    je ne crois pas que ça soit ça. Si le compilateur demande une '(', c' est une parenthese.
    Ce probleme apparait souvent quand on declare un type et qu' on veut l' utiliser comme une variable. Si on le fait, le compilateur crois qu' on veux faire un cast (eh oui ça existe on pascal), et il demande alors les '('.

    De toute façon, on peut rien faire avec ce que tu nous donne. Si tu peux en donner plus, ça aiderait à trouver une solution rapidement (declaration de variables, type, ... )
    C'est au contraire très courant : comme il manque un end , et que le compilateur en trouve un plus loin, il est décalé par rapport au code, et il a peu de chances d'être en mesure de comprendre ce qui suit la ligne fautive.
    Il se trouve que dans ce cas, il bute sur un problème de parenthèse, mais ça peut déboucher sur n'importe quelle erreur de compilation, due à une erreur de syntaxe, ou type non déclaré, ou ...

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

Discussions similaires

  1. [Python 2.X] Requête Python - Extraction caractère à l'intérieur d'une parenthèse
    Par pi_hellz dans le forum Général Python
    Réponses: 17
    Dernier message: 25/02/2015, 17h40
  2. [AC-2010] Saisie d'une parenthèse lors du renommage d'une requête
    Par illight dans le forum Access
    Réponses: 6
    Dernier message: 31/01/2014, 22h05
  3. manque une parenthèse dans un if
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2010, 11h11
  4. Réponses: 2
    Dernier message: 26/04/2009, 21h11

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