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

Pascal Discussion :

Affichage des enregistrements


Sujet :

Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Par défaut Affichage des enregistrements
    bonjour à tous au fait j'ai un projet à rendre vendredi et j'ai un énorme probléme avec le projet. il sagit d'un enregistrement intitulé 'message' avec 5 variable de expéditeur et destinataire de type presonne,contenu de type srting,piece jointe de type reponse(oui ou non) et date de type dates. mais dans le programme on doit utiliser un tableau de type message pour stocker les informations. donc l'utilisateur entre le nombre de message qu'il veut saisir puis effectue la saisie mais mon probléme se trouve au niveau de l'affichage quand on saisi plus d'un message et qu'on demande d'afficher c'est le dernier message saisi qui saffiche plusieurs fois. AIDEZ MOI SVP voici le code de mon programme
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    program fanta;
    uses crt;
    type personne=record
         nom1,prenom1,nom2,prenom2:string;
    end;
    type dates=record
         jour,mois,annee:integer;
    end;
    type reponse=record
          oui,non:string;
    end;
    type message=record
          expediteur,destinataire:personne;
          contenu:string;
          date:dates;
          piece_jointe:reponse;
    end;
    const n=10;
    var t:array[1..n] of message;
        i,m,choix:integer;
        p:personne;
        pic:reponse;
        d:dates;
        nom1,nom2,prenom1,prenom2,rep,reponse1:string;
     
     
    Procedure menu;
    begin
         repeat
               writeln;
               writeln;
               writeln;
               writeln;
               writeln;
               writeln('':15,'1:POUR LA SAISIE D''UN MESSAGE TAPEZ 1');
               writeln;
               writeln;
               writeln;
               writeln;
               writeln;
               writeln('':15,'2:POUR VOIR LE MESSAGE AU COMPLET TAPEZ 2');
               writeln;
               writeln;
               writeln;
               writeln;
               writeln;
               writeln('':15,'FAITES VOTRE CHOIX:');
               readln(choix);
         until (choix>=1) and (choix<=2);
         clrscr;
    end;
     
     
    Procedure expediteur;
     var nom2,prenom2:string;
    begin
     writeln('COMBIEN DE MESSAGES VOULEZ VOUS SAISIR?');
       if (m <= n) then
         begin
           readln(m);
         end
         else
           begin
             writeln('LE NOMBRE DE MESSAGE NE DOIT PAS DEPASSER',n,'!!!');
           end;
     for i:=1 to m do
      begin
         with p do
          begin
              writeln('NOM EXPEDITEUR',i,' : ');readln(nom2);
              writeln('PRENOM EXPEDITEUR',i,' : ');readln(prenom2);
          end;
      end;
    end;
     
     
    Procedure destinataire;
     var nom1,prenom1:string;
    begin
     for i:=1 to m do
      begin
         with p do
         begin
              writeln('NOM DESTINATAIRE',i,' : ');readln(nom1);
              writeln('PRENOM DESTINATAIRE',i,' : ');readln(prenom1);
         end;
      end;
    end;
     
     
    procedure date;
    begin
     for i:=1 to m do
      begin
         with d do
         begin
              writeln('SAISIE DE LA DATE');
              writeln('JOUR:');readln(d.jour);
              writeln('MOIS:');readln(d.mois);
              writeln('ANNEE:');readln(d.annee);
              writeln('LA DATE EST:',d.jour,'/',d.mois,'/',d.annee);
         end;
      end;
    end;
     
     
    procedure content;
    var cont:string;
    begin
      for i:=1 to m do
           begin
             writeln('SAISISSEZ LE CONTENU DU',i,' EME MESSAGE ');readln(cont);
             writeln('YA T-IL DES PIECES A JOINDRE? oui/non');readln(rep);
           end;
    end;
     
     
    Procedure affiche;
    var cont,nom1,nom2,prenom1,prenom2:string;
    begin
     for i:=1 to m do
      begin   writeln;
              writeln('':20,'MESSAGE Nø',i);
              with t[i] do
                    begin
                         with p do
                              begin
                                   writeln;
                                   writeln('':20,'EXPEDITEUR:',prenom2,' ',nom2);
                                   writeln;
                                   writeln('':20,'DESTINATAIRE:',prenom1,' ',nom1);
                                   writeln;
                                   writeln('':20,'DATE:',d.jour,'/',d.mois,'/',d.annee);
                                   writeln;
                                   writeln('':20,'MESSAGE:',cont);
                                   writeln;
                                   writeln('':20,'PIECE JOINTE:',rep);
                                   writeln;
     
                              end;
                    end;
      end;
    end;
     
     
     
    Begin
    textmode(2);
    textcolor(white);textbackground(magenta);clrscr;
     clrscr;
    begin
         repeat
               menu;
     
               case choix of
                    1:begin
                           expediteur;
                           destinataire;
                           date;
                           content;
                      end;
                    2:begin
                           affiche;
                      end;
               end;
               writeln('VOULEZ VOUS CONTINUER o/n');
               readln(reponse1);
         until (reponse1 ='n');
    end;
    end.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/02/2008, 16h17
  2. [delphi7][access][ado]pb d'affichage des enregistrements
    Par alibabas dans le forum Bases de données
    Réponses: 8
    Dernier message: 29/07/2006, 18h46
  3. Réponses: 8
    Dernier message: 28/03/2006, 16h52
  4. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52
  5. Réponses: 3
    Dernier message: 29/12/2003, 13h47

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