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 :

Variable dans un repeat


Sujet :

Langage Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Variable dans un repeat
    Bonjour et merci d'avoir pris le temps de lire ma requête

    Voilà, j'aimerais trouver comment créer une variable qui s'enregistre dans une boucle, c'est-à-dire : voici mon code
    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
    uses crt;
    var boisson:integer;
    //var canette:integer;
    var x:integer;
    var n1:integer;
    begin
    n1:=0;
    //canette:=100;
    Repeat
    writeln('Autre client?YES=1 NO=2');
    readln(x);
    IF (x=1)
    THEN
          writeln('Choississez votre boisson 1=coca');
          writeln('Choississez votre boisson 2=fanta');
          writeln('Choississez votre boisson 3=sprite');
          writeln('Choississez votre boisson 4=ice tea');
          writeln('Choississez votre boisson 5=aquarius');
          readln(boisson);
          if (boisson in [1,2,3,4])then writeln('Le prix est 1,00€')
          else if(boisson in [5])then writeln('le prix est 1;20€');
          if (boisson in [1,2,3,4]) then writeln(n1,'+',1,'=',n1+1)
          else if (boisson in [5]) then writeln(n1,'+',1.20,'=',n1+1,20);
     
    UNTIL (x=2);
    //Until (canette=0)
    end.
    Le problème étant que n1 revient toujours à 0 au lieu de s'enregistrer a chaque fois que je relance la boucle, est-il possible que n1 s'adapte et garde le résultat précédent à chaque fois ?
    Mon but étant que le prix de chaque canette soit comptabilisé et qu'à la fin, quand je mets x=2 pour ne plus avoir d'autre commande, ça m'affiche le prix total.

  2. #2
    Membre habitué Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Plusieurs choses ne vont pas dans votre code :
    Tout d'abord, si le then n'est pas suivi d'un bloc begin/end, il ne porte que sur l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    IF (x=1)
    THEN
    writeln('Choississez votre boisson 1=coca'); //seul cette ligne est dans le if
     
    writeln('Choississez votre boisson 2=fanta'); //les instructions suivantes sont exécutées dans tous les cas
    writeln('Choississez votre boisson 3=sprite');
    ...
    Ensuite, la structure repeat...until n'est pas adaptée ici, il vaudrais mieux passer un while (condition) do...pour éviter d'avoir à re-tester la condition dans la boucle

    Enfin, votre problème de n1 nul vient du fait que écrire "n1+1" sur l'écran ne change pas la valeur de n1. Pour cela, il faut passer par deux instructions différentes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    writeln(n1,'+',1,'=',n1+1);  //affiche la nouvelle valeur
    n1 := n1+1; //change la valeur de n1

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    un grand merci a toi

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

Discussions similaires

  1. Variable dynamique dans un repeater
    Par nikko49 dans le forum Flex
    Réponses: 3
    Dernier message: 12/07/2012, 13h11
  2. [LG]variables dans procédure
    Par néo333 dans le forum Langage
    Réponses: 2
    Dernier message: 05/11/2003, 00h24
  3. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 10h40
  4. Réponses: 13
    Dernier message: 14/06/2003, 23h15
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 13h53

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