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

Ada Discussion :

Problème à l'exécution d'un programme ADA


Sujet :

Ada

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut Problème à l'exécution d'un programme ADA
    Bonsoir,

    Voilà, mon première essai en ADA pose problème: la compilation du programme et son construction ne génère aucun message d'erreur, pourtant le resultat voulu (affichage de la monnaie rendue avec détails des pièces et billets ne s'execute pas)

    Quelqu'un aurait une idée?? Merci

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    with Ada.Text_IO;
    USE  Ada.Text_IO;
    WITH Ada.Integer_Text_IO;
    use ada.Integer_Text_IO;
    --premier programme de daninou
    --achat et rendu de monnaie au supermarché
     
    --début de la procédure--
     
    PROCEDURE Essai IS
       Mt_Achat:Integer;
       Mt_Versement:Integer;
       Mt_Rendu:Integer;
       Reste:Integer;
       Rendu_20, Rendu_10, Rendu_5, Rendu_2, Rendu_1:Integer;
       Nb_20 : CONSTANT Integer:= 5;
       Nb_10 : CONSTANT Integer:= 5;
       Nb_5 : CONSTANT Integer:= 5;
       Nb_2 : CONSTANT Integer:= 10;
       Nb_1 : CONSTANT Integer:= 10;
     
    -- début du programme--
     
    BEGIN 
     
       Put ("Entrer le montant de l'achat: ");
          Get (Mt_Achat);
       Skip_Line;
     
       Put ("Entrez le montant du versement: ");
       Get (Mt_Versement);
       Skip_Line;
     
    Mt_Rendu:=Mt_Versement - Mt_Achat;
    Reste:=Mt_Rendu;
     
    Rendu_20:=Reste/20;
       IF Rendu_20>Nb_20
             THEN Reste:=Nb_20;
       ELSE NULL;
       END IF;
       Reste:= Reste-Rendu_20*20;
     
    Rendu_10:=Reste/10;
       IF Rendu_10>Nb_10
             THEN Reste:=Nb_10;
       ELSE NULL;
       END IF;
       Reste:= Reste-Rendu_10*10;
     
    Rendu_5:=Reste/5;
       IF Rendu_5>Nb_5
             THEN Reste:=Nb_5;
       ELSE NULL;
       END IF;
       Reste:= Reste-Rendu_5*5;
     
    Rendu_2:=Reste/2;
       IF Rendu_2>Nb_2
             THEN Reste:=Nb_2;
       ELSE NULL;
       END IF;
       Reste:= Reste-Rendu_2*2;
     
    Rendu_1:=Reste/1;
       IF Reste>Nb_1
             THEN
          Put ("pas assez de monnaie à rendre");
          ELSE Rendu_1:=Reste;
       END IF;
     
          Put ("montant a rendre");
          Get (Mt_Rendu,3);
          Get (Rendu_20, 3);
          Get (Rendu_10, 3);
          Get (Rendu_5, 3);
          Get (Rendu_2, 3);
          Get (Rendu_1, 3);
     
    END Essai;

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          Get (Mt_Rendu,3);
          Get (Rendu_20, 3);
          Get (Rendu_10, 3);
          Get (Rendu_5, 3);
          Get (Rendu_2, 3);
          Get (Rendu_1, 3);
    Tu es sur de ça ? ça ne serait pas des Put à la place des Get ?

  3. #3
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Effectivement, c'est bien ça. Ensuite, tu as un autre problème ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mt_Rendu:=Mt_Versement - Mt_Achat;
    C'est le contraire, sinon tu vas avoir des valeurs négatives.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 133
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Effectivement, c'est bien ça. Ensuite, tu as un autre problème ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mt_Rendu:=Mt_Versement - Mt_Achat;
    C'est le contraire, sinon tu vas avoir des valeurs négatives.
    Non, c'est bien ca, c'est l'inverse qui donnerai des montants négatifs.

    Par contre c'est bien Put qu'il fallait utiliser, Merci

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Je ne suis pas convaincu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ~ rperrot$ ./test
    Entrer le montant de l'achat: 200
    Entrez le montant du versement: 50
    montant a rendre-150 -7 -1  0  0  0

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

Discussions similaires

  1. Problème d’exécution d'un programme
    Par lucciana dans le forum OpenCV
    Réponses: 7
    Dernier message: 09/03/2011, 17h02
  2. Réponses: 5
    Dernier message: 22/02/2011, 14h52
  3. Problème d’exécution d'un programme
    Par lucciana dans le forum Qt
    Réponses: 3
    Dernier message: 03/02/2011, 00h47
  4. Problème à l'exécution d'un programme C++ : bug assembleur
    Par lyxthe dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 16/08/2010, 22h43
  5. Problèmes d'exécution d'un programme Fortran
    Par Butterfly83 dans le forum Fortran
    Réponses: 16
    Dernier message: 06/08/2007, 11h50

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