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

Autres IDE Pascal Discussion :

Programme de combat naval : problème d'affichage


Sujet :

Autres IDE Pascal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Programme de combat naval : problème d'affichage
    Bonjour à tous. Depuis quelques jours, j'essaie d'élaborer un programme qui crée un tableau de records dans le cadre d'un projet de combat naval. Le programme se compile correctement, mais quand je l'exécute il n'affiche rien alors qu'il devrait afficher certaines valeurs contenues dans mon tableau de records (voir les 2 "writeln" en fin de programme). Pourriez-vous m'aider à trouver d'où vient l'erreur ?
    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
    program textToTab; 
    uses crt;
    type   CARTE          = array[1..10] of string[40];
           R_CARTE        = record nom: string[40]; 
                                   numero : integer;
    			       tCarte : array[65..75] of CARTE; 
    			end;
           T_R_CARTE      = array[1..1000] of R_CARTE;
     
    var s : string;
        n1, n2, i, j, ordc1, ordc2 : integer; 
        c1, c2 : char; 
        ftext : text;
        tableauDeGrilles: T_R_CARTE;
    begin
       assign(ftext,'C:\Users\Utilisateur\Documents\Université\Cours Programmation\Projet\carto.txt');
       reset(ftext);
       i:=1;
       while not eof(ftext) do
       begin
          s:='';
          while (s <>'Carte Indien') AND (s <>'Carte Pacifique') AND (s <>'Carte Atlantique') do
          begin
             read(ftext, c1);
             s:=s+c1;
          end;
          tableauDeGrilles[i].nom:=s;
          readln(ftext, n1);
          tableauDeGrilles[i].numero:=n1;
          s:='';
          j:=0;
          while (j<5) do
          begin
          read(ftext, c1);
          while (c1 <> ' ') do
          begin
       	    s:=s+c1;
       	    read(ftext, c1);
          end;
          read(ftext, c1);
          read(ftext, n1);
          ordc1:=ord(c1);
          tableauDeGrilles[i].tCarte[ordc1][n1]:=s;
          read(ftext, c2);
          read(ftext, c2);          {on met dans la grille les 2 coordonées du bateau
                                 données dans le fichier text}
          readln(ftext, n2);
          ordc2:=ord(c2);
          tableauDeGrilles[i].tCarte[ordc2][n2]:=s;
          if (ordc1 > ordc2) then
             begin
                ordc2:=ordc2+1;
                while(ordc1 <> ordc2) do
    	        begin
    	           tableauDeGrilles[i].tCarte[ordc2][n2]:=s;
    	           ordc2:=ordc2+1;
                end;
             end
          else if (ordc1 < ordc2) then
             begin
               ordc1:=ordc1+1;
               while (ordc1 <> ordc2) do
               begin
           	      tableauDeGrilles[i].tCarte[ordc1][n1]:=s;
                  ordc1:=ordc1+1;
               end;
             end
          else if ((ordc1 = ordc2) AND (n1 > n2)) then
             begin
                n2:=n2+1;
    	    while(n1 <> n2) do
    	      begin
    	         tableauDeGrilles[i].tCarte[ordc2][n2]:=s;
    	         n2:=n2+1;
    	      end;
            end
          else if ((ordc1 = ordc2) AND (n1 < n2)) then
             begin
                n1:=n1+1;
    	    while (n1 <> n2) do
    	      begin
    	      tableauDeGrilles[i].tCarte[ordc2][n1]:=s;
    	      n1:=n1+1;
    	      end;
             end;
    	 j:=j+1;
    	 s:='';
    	 end;
      i:=i+1;
       end;
    writeln(tableauDeGrilles[1].tCarte[66][2]);
    writeln(tableauDeGrilles[5].nom, tableauDeGrilles[2].numero);
    readln;
    close(ftext);
    end.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Il faudrait que tu mettes des commentaires dans ton code.
    Pour que l'on puisse t'aider, peux-tu mettre en pièce jointe le fichier carto.txt ?

    Sinon, le mieux est de faire tourner ton programme en mode débogage, ou d'insérer des affichages à l'écran au milieu de l'exécution.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. probléme d'affichage avec un programme
    Par bensof1 dans le forum MATLAB
    Réponses: 9
    Dernier message: 15/04/2011, 10h45
  2. [Dev-Pascal] [GNU Pascal] Problème d'affichage lors de l'exécution d'un programme
    Par Mourad III dans le forum Autres IDE
    Réponses: 2
    Dernier message: 03/11/2010, 02h19
  3. Problème Process / Affichage de l'output d'un autre programme
    Par fd_caramba dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 30/06/2009, 14h38
  4. problème d'affichage des programmes fini
    Par Porteuris dans le forum Débuter
    Réponses: 6
    Dernier message: 25/11/2008, 14h22
  5. [Programmation en C][Probléme d'affichage]
    Par ronan99999 dans le forum Windows
    Réponses: 7
    Dernier message: 01/09/2004, 11h47

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