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

Turbo Pascal Discussion :

Exercice de réservation d'hôtel [Turbo Pascal]


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut Exercice de réservation d'hôtel
    Bonjour,

    Je dois réaliser un programme permettant de lire client, nom, nationalité, le séjour et le prix unitaire de la chambre, permettant de calculer le net à payer d'une réservation d'un hotel
    puis afficher la fiche de

    .......

    client

    nationalité

    sejour

    prix unitaire

    prix total

    reduction

    taxe

    net apayer


    voila les calcules qui va traiter

    prix total=sejour*prix unitaire

    reduction=50 dh pour chaque 5 jour

    net a payer = p total -sej


    C'est tout, j'ai tenté de les résourdre...

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut voila ma tentative
    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
    program fiche;
    uses crt;
    var cl,nt:string;
    var sejour,pu,pt,rc,tax,np:real;
    var contour:real;
    
    begin
    clrscr
    write('le client est  :');readln(cl);
    write('la nationalite est  :');readln(nt);
    write('le sejour est :');readln(sejour);
    write('le prix unitaire :');readln(pu);
    
    pt:=sejour*pu;
    
    
     
    rc:=( (sejour mod  5) * 50 ) ;
    le prblem est la ???
    
    tax:=(7/100*pt)+(1/3*rc);
    
    np:=(pt-rc)+tax;
    
    writeln('     la fiche de reservation     ');
    writeln('.................................');
    writeln('le client est...................:',cl);
    writeln('la nationalite est..............:',nt);
    writeln('le sejour est...................:',sejour:2:2);
    writeln('le prix unitaire est............:',pu:2:2);
    writeln('le prix total est ..............:',pt:2:2);
    writeln('la reduction est ...............:',rc:2:2);
    writeln('le taxe est ....................:',tax:2:2);
    writeln('net a payer est.................:',np:2:2,'DH');
    
    readln;
    end.

  3. #3
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    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
     
    program fiche;
     
    uses crt;
     
    var 
      cl, nt : string;
      sejour, pu, pt, rc, tax, np, contour : currency;
     
    begin
      clrscr;
      write('le client est :');
      readln(cl);
     
      write('la nationalite est :');
      readln(nt); 
     
      write('le sejour est :');
      readln(sejour);
     
      write('le prix unitaire :');
      readln(pu);
     
      // réduction HT
      rc  := (sejour/5) * 50;
     
      // prix total HT et HR (hors reduction)
      pt  := sejour * pu;
     
      // taxe
      // tax := (7/100)*pt + (1/3*rc); // ??! logiquement Taxe = PTHT * Taux 
      tax := (pt-rc) * 0.07; // = 7% de taxe, reduction comprise! arnaqueur!
      np  := (pt-rc) + tax;
     
      writeln('+------------------------------------------+');
      writeln('| la fiche de reservation                  |');
      writeln('+------------------------------------------+');
      writeln('  client ......... : ', cl);
      writeln('  nationalite .... : ', nt);
      writeln('  sejour ......... : ', sejour:2:2);
      writeln('  prix unitaire .. : ', pu:2:2);
      writeln('  prix total ..... : ', pt:2:2);
      writeln('  reduction ...... : ', rc:2:2);
      writeln('  taxe ........... : ', tax:2:2);
      writeln('+------------------------------------------+');
      writeln('  net a payer .... : ', np:2:2, 'DH');
      writeln('+------------------------------------------+');
     
      readln;
    end.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  4. #4
    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 Dr.Who Voir le message
    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
     
    program fiche;
     
    uses crt;
     
    var 
      cl, nt : string;
      sejour, pu, pt, rc, tax, np, contour : currency;
     
    begin
      clrscr;
      write('le client est :');
      readln(cl);
     
      write('la nationalite est :');
      readln(nt); 
     
      write('le sejour est :');
      readln(sejour);
     
      write('le prix unitaire :');
      readln(pu);
     
      // réduction HT
      rc  := (sejour/5) * 50;
     
      // prix total HT et HR (hors reduction)
      pt  := sejour * pu;
     
      // taxe
      // tax := (7/100)*pt + (1/3*rc); // ??! logiquement Taxe = PTHT * Taux 
      tax := (pt-rc) * 0.07; // = 7% de taxe, reduction comprise! arnaqueur!
      np  := (pt-rc) + tax;
     
      writeln('+------------------------------------------+');
      writeln('| la fiche de reservation                  |');
      writeln('+------------------------------------------+');
      writeln('  client ......... : ', cl);
      writeln('  nationalite .... : ', nt);
      writeln('  sejour ......... : ', sejour:2:2);
      writeln('  prix unitaire .. : ', pu:2:2);
      writeln('  prix total ..... : ', pt:2:2);
      writeln('  reduction ...... : ', rc:2:2);
      writeln('  taxe ........... : ', tax:2:2);
      writeln('+------------------------------------------+');
      writeln('  net a payer .... : ', np:2:2, 'DH');
      writeln('+------------------------------------------+');
     
      readln;
    end.
    Je ne pense pas que le type currency soit un type reconnu par le pascal, ça fait plutot penser à un code vb.
    Aussi, etant donné que sejour est un réel, faire sejour/5 sera aussi un réel et ne sera pas forcement le resultat. Peut etre devriez vous faire trunc(sejour/5).
    Mais pour faire plut propre et dans le soucis d'utiliser moins de memoire, un type entier devrait faire l'affaire. Mieux faut declarer les valeurs des taxes comme des constantes
    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
     
    program fiche;
     
    uses crt;
     
    const tpt=0.07;
             trc=1/3;
     
    var 
      cl, nt : string;
      pu, pt, rc, tax, np, contour : real;
      sejour : integer;
     
    begin
      clrscr;
      write('le client est :');
      readln(cl);
     
      write('la nationalite est :');
      readln(nt); 
     
      write('le sejour est :');
      readln(sejour);
     
      write('le prix unitaire :');
      readln(pu);
     
      // réduction HT
      rc  := (sejour div 5) * 50;
     
      // prix total HT et HR (hors reduction)
      pt  := sejour * pu;
     
      // taxe
      // tax := Tpt*pt + Tcr*rc; // ??! logiquement Taxe = PTHT * Taux 
      tax := (pt-rc) *Tpt; // = 7% de taxe, reduction comprise! arnaqueur!
      np  := (pt-rc) + tax;
     
      writeln('+------------------------------------------+');
      writeln('| la fiche de reservation                  |');
      writeln('+------------------------------------------+');
      writeln('  client ......... : ', cl);
      writeln('  nationalite .... : ', nt);
      writeln('  sejour ......... : ', sejour:2:2);
      writeln('  prix unitaire .. : ', pu:2:2);
      writeln('  prix total ..... : ', pt:2:2);
      writeln('  reduction ...... : ', rc:2:2);
      writeln('  taxe ........... : ', tax:2:2);
      writeln('+------------------------------------------+');
      writeln('  net a payer .... : ', np:2:2, 'DH');
      writeln('+------------------------------------------+');
     
      readln;
    end.

  5. #5
    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
    Nie,

    Quand vous aurez fini de donner les solutions à des exercices d'école, ce forum pourra peut-être retrouver sa véritable destination : l'entraide, et pas un simili de OnFaitTesDevoirs.com.

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par droggo Voir le message
    Nie,

    Quand vous aurez fini de donner les solutions à des exercices d'école, ce forum pourra peut-être retrouver sa véritable destination : l'entraide, et pas un simili de OnFaitTesDevoirs.com.

    bonjour mr nie moi jai fais beaucoups de tentative mais jai petit erreur

    a la reduction je sais pas ou

    je veux pas que tu fais tous ce exercice car c'est pas bien pour moi

    aider moi avec un algoritha n'importe

    parcque l'exercice jai lesresoudre tous sauf cette parties de reduction

    et merci

  7. #7
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    Citation Envoyé par droggo Voir le message
    Nie,

    Quand vous aurez fini de donner les solutions à des exercices d'école, ce forum pourra peut-être retrouver sa véritable destination : l'entraide, et pas un simili de OnFaitTesDevoirs.com.
    nous n'avons pas fait son exercice.
    il fournis un code et à un problème qu'il n'arrive pas à résoudre.
    il est donc normal qu'on l'aide puisque c'est le principe de ce forum.

    aprés, il est vrai que si il avait un peu chercher dans l'aide TP et explorer et tester quelques codes différents pour le calcul de la reduc, il aurait trouvé tout seul. mais ça ... ce n'est pas notre problème.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  8. #8
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Je ne pense pas que le type currency soit un type reconnu par le pascal, ça fait plutot penser à un code vb.
    Aussi, etant donné que sejour est un réel, faire sejour/5 sera aussi un réel et ne sera pas forcement le resultat. Peut etre devriez vous faire trunc(sejour/5).
    Mais pour faire plut propre et dans le soucis d'utiliser moins de memoire, un type entier devrait faire l'affaire. Mieux faut declarer les valeurs des taxes comme des constantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      rc  := (sejour div 5) * 50;
    je fais ce calcul mais il ya un erreur dans l'execution

    jai un explication div il divise par exemple 10/3 =1

    mod divise par exemple 10/3 = 3

    division simple 10/3= 3.3333

  9. #9
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    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
     
    program fiche;
     
    uses crt;
     
    var 
      cl, nt : string;
      sejour, pu, pt, rc, tax, np, contour : currency;
     
    begin
      clrscr;
      write('le client est :');
      readln(cl);
     
      write('la nationalite est :');
      readln(nt); 
     
      write('le sejour est :');
      readln(sejour);
     
      write('le prix unitaire :');
      readln(pu);
     
      // réduction HT
      rc  := (sejour/5) * 50;
     
      // prix total HT et HR (hors reduction)
      pt  := sejour * pu;
     
      // taxe
      // tax := (7/100)*pt + (1/3*rc); // ??! logiquement Taxe = PTHT * Taux 
      tax := (pt-rc) * 0.07; // = 7% de taxe, reduction comprise! arnaqueur!
      np  := (pt-rc) + tax;
     
      writeln('+------------------------------------------+');
      writeln('| la fiche de reservation                  |');
      writeln('+------------------------------------------+');
      writeln('  client ......... : ', cl);
      writeln('  nationalite .... : ', nt);
      writeln('  sejour ......... : ', sejour:2:2);
      writeln('  prix unitaire .. : ', pu:2:2);
      writeln('  prix total ..... : ', pt:2:2);
      writeln('  reduction ...... : ', rc:2:2);
      writeln('  taxe ........... : ', tax:2:2);
      writeln('+------------------------------------------+');
      writeln('  net a payer .... : ', np:2:2, 'DH');
      writeln('+------------------------------------------+');
     
      readln;
    end.

    merci ami mour ta tentative de maider a ce exercice

    tax := (7/100)*pt + (1/3*rc); // ??! logiquement Taxe = PTHT * Taux


    dans l'exercice ami cest ca le calcul v dsl dans le premier sujet je le fait ps

    tax = 7/100 de pt majoré 1/3 de rc

    majoré signifie +
    tax := (7/100)*pt + (1/3*rc);

    et dans le resulta ami camarche


    mais le problem que jai c'est dans la reduction seulement

    rc := (sejour/5) * 50;
    je fais ((sejour mod 5)*50) mais ca marche pas

    je fais les boucles (while .. do ...) il est un peut resoudre le problem est affiche le resultat mais aussi il ya un petit problem dans la valeur de la reduction dans l'affichage change et en plus dans l'exercice me dit de me faire pas de boucles ..

    aidez moi cvp avec quelque chose .. algorithme exemple ...

  10. #10
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    pour la réduction en effet on peut faire comme ceci, comme l'a dit Darryl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rc := trunc(sejour/5) * 50;
    sejour < 5 : rc = 0
    sejour >= 5 : rc = 50
    sejour >= 10 : rc = 100
    sejour >= 15 : rc = 150
    sejour >= 20 : rc = 200
    sejour >= 25 : rc = 250

    et non avec un mod :

    1 mod 5 = 1 : rc = 50
    2 mod 5 = 2 : rc = 100
    3 mod 5 = 3 : rc = 150
    4 mod 5 = 4 : rc = 200
    5 mod 5 = 0 : rc = 0
    6 mod 5 = 1 : rc = 50
    7 mod 5 = 2 : rc = 100

    ou avec la formule rc := sejour/5 * 50 :
    1 : rc = 10
    2 : rc = 20
    3 : rc = 30
    4 : rc = 40
    5 : rc = 50
    6 : rc = 60
    7 : rc = 70



    par contre oui, le type currency n'existe pas en TP7, on peut utiliser pour plus de précision le type double (norme IEEE FLOAT 64).

    bref.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  11. #11
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    pour la réduction en effet on peut faire comme ceci, comme l'a dit Darryl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rc := trunc(sejour/5) * 50;
    sejour < 5 : rc = 0
    sejour >= 5 : rc = 50
    sejour >= 10 : rc = 100
    sejour >= 15 : rc = 150
    sejour >= 20 : rc = 200
    sejour >= 25 : rc = 250

    et non avec un mod :

    1 mod 5 = 1 : rc = 50
    2 mod 5 = 2 : rc = 100
    3 mod 5 = 3 : rc = 150
    4 mod 5 = 4 : rc = 200
    5 mod 5 = 0 : rc = 0
    6 mod 5 = 1 : rc = 50
    7 mod 5 = 2 : rc = 100

    ou avec la formule rc := sejour/5 * 50 :
    1 : rc = 10
    2 : rc = 20
    3 : rc = 30
    4 : rc = 40
    5 : rc = 50
    6 : rc = 60
    7 : rc = 70



    par contre oui, le type currency n'existe pas en TP7, on peut utiliser pour plus de précision le type double (norme IEEE FLOAT 64).

    bref.

    c'est quoi (trunc)

    je choisi mod parceque dans un lesson on a fait ces calculs

    par exemple ce que jai ecris...

    div il divise par exemple 10/3 =1

    mod divise par exemple 10/3 = 3

    division simple 10/3= 3.3333


    pour une meilleure comprehension

    50 dh pour chaque 5 jour

    lorsque tu a 7 sejour par exemple dans la reduction sera 50 dh

    7 mod 5 *50

    1*50=50
    reduction=50

  12. #12
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par mr-rat Voir le message
    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
    program fiche;
    uses crt;
    var cl,nt:string;
    var sejour,pu,pt,rc,tax,np:real;
    var contour:real;
    
    begin
    clrscr
    write('le client est  :');readln(cl);
    write('la nationalite est  :');readln(nt);
    write('le sejour est :');readln(sejour);
    write('le prix unitaire :');readln(pu);
    
    pt:=sejour*pu;
    
    
     
    while (sejour>=5) do
     
    contour = contour+1
    sejour= sejour-5;
     
    
    tax:=(7/100*pt)+(1/3*rc);
    
    np:=(pt-rc)+tax;
    
    writeln('     la fiche de reservation     ');
    writeln('.................................');
    writeln('le client est...................:',cl);
    writeln('la nationalite est..............:',nt);
    writeln('le sejour est...................:',sejour:2:2);
    writeln('le prix unitaire est............:',pu:2:2);
    writeln('le prix total est ..............:',pt:2:2);
    writeln('la reduction est ...............:',rc:2:2);
    writeln('le taxe est ....................:',tax:2:2);
    writeln('net a payer est.................:',np:2:2,'DH');
    
    readln;
    end.
    voila ma derniere tentative et ca marche

    cet tentative et fait par moi

    est ce qu il ya d'autre ??

    parceque le calcul (sejour div 5) fais un erreur ..

  13. #13
    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
    Hoy,
    Citation Envoyé par mr-rat Voir le message
    parceque le calcul (sejour div 5) fais un erreur ..
    Div fait une division entière sur des entiers, pas sur des réels.

  14. #14
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Citation Envoyé par droggo Voir le message
    Hoy,


    Div fait une division entière sur des entiers, pas sur des réels.

    je sais pas mais on peut changer les valeurs ..

    merci pour la remarque importante.. je comprends ami droggo

  15. #15
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    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
    program fiche;
    uses crt;
    var cl,nt:string;
    var sejour,pu,pt,rc,tax,np:real;
    var contour:real;
     
    begin
    clrscr
    write('le client est  :');readln(cl);
    write('la nationalite est  :');readln(nt);
    write('le sejour est :');readln(sejour);
    write('le prix unitaire :');readln(pu);
     
    pt:=sejour*pu;
     
     
     
    while (sejour>=5) do
     
    contour = contour+1
    sejour= sejour-5;
     
     
    tax:=(7/100*pt)+(1/3*rc);
     
    np:=(pt-rc)+tax;
     
    writeln('     la fiche de reservation     ');
    writeln('.................................');
    writeln('le client est...................:',cl);
    writeln('la nationalite est..............:',nt);
    writeln('le sejour est...................:',sejour:2:2);
    writeln('le prix unitaire est............:',pu:2:2);
    writeln('le prix total est ..............:',pt:2:2);
    writeln('la reduction est ...............:',rc:2:2);
    writeln('le taxe est ....................:',tax:2:2);
    writeln('net a payer est.................:',np:2:2,'DH');
     
    readln;
    end.
    voila mon resultat finale de l'exercice

    j'attends le resultat de cours

    dans la reduction finalement j'exprime (while .. do )

  16. #16
    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 mr-rat Voir le message
    voila ma derniere tentative et ca marche

    cet tentative et fait par moi

    est ce qu il ya d'autre ??

    parceque le calcul (sejour div 5) fais un erreur ..
    Dans le code que j'ai posté, j'avais changer le type de sejour en integer, puis qu'à ma connaissance un jour ne peut etre qu'entier et non réel. Et comme l'a dit Droggo, div ne marche que sur les entiers alors que dans ta declaration sejour est un réel.

    Citation Envoyé par Dr.Who
    on pourrais utiliser round au lieu de trunc.
    On ne peut pas utiliser round puisque ça va fausser les calcul. Trunc est plus adapter et faire trunc(a/b) sur des réel revient à faire (a div b) sur des entiers.

    mr-rat, tu gagneras à utiliser trunc ou div selon ton choix, mais à ta place je changerais le type de sejour et utiliser un div. Le code tel que tu as donné, et en faisant biensur les modifications que Droggo a ecrites, contient toujours une erreur. En fait ça concerne toujours sejour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while (sejour >= 5) do 
        contour = contour + 1
        sejour = sejour - 5; 
    ...
     
      Writeln('le sejour est...................:', sejour: 2: 2);
    Au fait, tu as au préalable modifié la valeur de sejour dans la boucle, puis tu desire afficher sejour. Selon toi, la valeur affichée sera t-elle la meme valeur de sejour initialement donnée?

  17. #17
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    merci a tous jai le resultat final maintenant et tous marche bien au prgramme

    merci a droggo merci a darrysliste .dr who. et tous qui m'aider dans cette partie de ce exercice

    et dsl j'ai in petit probleme de la langue francaise

  18. #18
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    comme on dit depuis le début :

    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
    program fiche;
     
    uses crt;
     
    var 
      CLI, NAT: string;
     
    var 
      JOURS, RDC : longint; // jours et rdc en longint
     
      PU, PTHT, TX, PTTTC: Real; // plus parlant
     
     
    begin
      clrscr; // <- ne pas oublier le point virgule
     
      Write('le client est  :');
      Readln(CLI);
     
      Write('la nationalite est  :');
      Readln(NAT);
     
      Write('le sejour est :');
      Readln(JOURS);
     
      Write('le prix unitaire :');
      Readln(PU);
     
      RDC := (JOURS div 5) * 50;
     
      PTHT := JOURS * PU;
     
      TX := (PTHT * 0.07) + (1/3 * RDC);
      PTTTC := (PTHT-RDC) + TX;
     
      Writeln('     la fiche de reservation     ');
      Writeln('.................................');
      Writeln('le client est...................:', CLI);
      Writeln('la nationalite est..............:', NAT);
      Writeln('le sejour est...................:', JOURS: 2: 2);
      Writeln('le prix unitaire est............:', PU: 2: 2);
      Writeln('le prix total est ..............:', PTHT: 2: 2);
      Writeln('la reduction est ...............:', RDC: 2: 2);
      Writeln('le taxe est ....................:', TX: 2: 2);
      Writeln('net a payer est.................:', PTTTC: 2: 2,'DH');
     
      Readln;
    end.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

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

Discussions similaires

  1. [Drupal] Drupal 7 prob développement module réservation chambre / hôtel
    Par mimousse dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 12/09/2014, 10h52
  2. [eCommerce] Systèmes de réservation d'hôtel open source ?
    Par Mister Paul dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 31/01/2012, 22h15
  3. web service- réservation d'hôtel
    Par passkok dans le forum ALM
    Réponses: 6
    Dernier message: 08/01/2010, 17h56
  4. Réservation d'hôtel en Asp
    Par superweb dans le forum ASP
    Réponses: 9
    Dernier message: 14/05/2007, 16h14
  5. [MCD] Comment modéliser les réservations d'un hôtel ?
    Par agruet dans le forum Schéma
    Réponses: 1
    Dernier message: 02/10/2006, 12h29

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