Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Langage
Langage Vos questions sur langage Pascal en général, ses évolutions, les technologies, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/10/2012, 12h45   #1
hatenuke
Invité de passage
 
Homme
Étudiant
Inscription : octobre 2012
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : octobre 2012
Messages : 4
Points : 0
Points : 0
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 :
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.
hatenuke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2012, 14h24   #2
Modulpro
Membre habitué
 
Avatar de Modulpro
 
Homme Emilien
Étudiant
Inscription : octobre 2010
Messages : 69
Détails du profil
Informations personnelles :
Nom : Homme Emilien
Âge : 19
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 69
Points : 146
Points : 146
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 :
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 :
1
2
3
 
writeln(n1,'+',1,'=',n1+1);  //affiche la nouvelle valeur
n1 := n1+1; //change la valeur de n1
Modulpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/10/2012, 15h24   #3
hatenuke
Invité de passage
 
Homme
Étudiant
Inscription : octobre 2012
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : octobre 2012
Messages : 4
Points : 0
Points : 0
un grand merci a toi
hatenuke est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web