[Dev Pascal] Je ne trouve pas mon erreur ! HELP
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

[Dev Pascal] Je ne trouve pas mon erreur ! HELP



  1. #1
    invited4015aff

    [Dev Pascal] Je ne trouve pas mon erreur ! HELP


    ------

    Bonjour,

    Alors voilà, je n'arrive pas à exécuter mon programme sur Dev Pascal. Cependant, je ne trouve pas le problème. Je pourrais vous envoyer mon programme qui fait une 50aine de lignes et est plutôt simple à comprendre.

    Quelqu'un pourrait m'aider ?

    Merci d'avance !

    -----

  2. #2
    Jack
    Modérateur

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    C'est un peu le but du forum. Poste le programme (entre balises code) et les symptômes.

  3. #3
    invited4015aff

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    Code:
    program tarif_cinema;
    
    const
    Nmb_Salles = 10;
    
    type
    Salles_Cine = 0 .. Nmb_Salles;
    
    var
    Tarif, Salle : integer;
    categorie : char;
    
    begin
    tarif := 5;
    writeln('Dans quelle salle êtes-vous ?');
    readln(Salle);
    If Salle in Salles_Cine then
            Case Salle of
               1 .. 2 : begin
                            tarif := tarif * 1.100;
                            writeln('Votre place vous coûtera ', tarif, ' euros.');
                        end;
               3 :      begin
                             writeln('Tapez "e" si vous êtes étudiant, "j" si vous avez moins de 12 ans, "m" si vous êtes militaire ou tout autre lettre si vous n''entrez dans aucune de ces catégories.');
                             readln(categorie);
                             case categorie of
                                'e' : tarif := tarif * 0.90;
                                'j' : tarif := tarif * 0.5;
                                'm' : tarif := tarif * 0.95
                             Else
                                tarif := tarif;
                             end;
                             writeln('Votre place vous coûtera ', tarif, ' euros.');
                        end;
              4.. Nmb_Salles :   begin
                                    tarif := tarif;
                                    writeln('Votre place vous coûtera ', tarif, ' euros.');
                                 end;
            end
    
    Else
    writeln('Cette salle n''existe pas dans ce cinéma.');
    
    
    end.
    Je précise que je suis encore novice en programmation. Il s'agit de mes premiers mois seulement. Qu'entends-tu par "symptômes" ?

    Merci !

  4. #4
    Jack
    Modérateur

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    C'est comme chez le médecin. Les symptômes, ce sont les signes extérieurs de la maladie, et donc du dysfonctionnement de ton programme.

  5. A voir en vidéo sur Futura
  6. #5
    invited4015aff

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    Je comprends bien.

    Voilà les symptômes :

    ######################

    Lien vers image supprimé en vertue de :
    http://forums.futura-sciences.com/pr...ges-forum.html
    Dernière modification par Jack ; 11/04/2015 à 01h30.

  7. #6
    Jack
    Modérateur

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    If Salle in Salles_Cine then
    Mes connaissances en Pascal remontent à loin, mais cette ligne m'interpelle: Salles_Cine est un type, alors que le compilateur attend plutôt une variable.

  8. #7
    invited4015aff

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    Du coup j'ai mis : If Salle <= Nmb_Salles then

    Nmb_Salles est une constante, je ne vois pas le problème.

    Le logiciel me renvoie 5 erreurs du type : 29 / 50 place_~2.pas
    Error: Incompatible types: got "S80REAL" expected "LONGINT"

    Tu n'aurais pas une idée du soucis ?

  9. #8
    Jack
    Modérateur

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    Je viens d'installer dev pascal pour tester et en effet, il y a des erreurs.
    Il suffit de cliquer sur l'erreur pour pointer la ligne en défaut:
    Code:
    'm' : tarif := tarif * 0.95
    Si tu te laisses arrêter par des truc aussi évidents, tu ne vas pas pouvoir aller très loin: d'après toi de quel type est tarif? Et de quel type est tarif * 0.95?

  10. #9
    invited4015aff

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    J'ai cliqué sur l'erreur. Et j'ai bien compris mon erreur. Tarif * un décimal va te donner un "Real", or moi je l'ai défini comme étant "integer". Cette erreur est due au fait que j'avais initialisé tarif à 5 (un entier) sans prendre en compte ce qui allait lui arriver après.

    Merci pour ton aide !

  11. #10
    Jack
    Modérateur

    Re : [Dev Pascal] Je ne trouve pas mon erreur ! HELP

    Je t'en prie.

    En résumé, toujours bien lire le message d'erreur et identifier la ligne en cause. Ca permet d"éviter de se disperser, surtout si le programme comporte de nombreuses lignes.

Discussions similaires

  1. Programmation Pascal, erreur
    Par invite2c048134 dans le forum Programmation et langages, Algorithmique
    Réponses: 27
    Dernier message: 18/01/2014, 15h14
  2. erreur sur pascal
    Par invite6014093e dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 04/01/2011, 15h03
  3. [mecanique] Ne trouve pas son erreur
    Par invitee7b56f6b dans le forum Physique
    Réponses: 21
    Dernier message: 08/01/2008, 19h38