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

Fortran Discussion :

Lire les paramètres de chaque ligne d'un fichier text


Sujet :

Fortran

  1. #1
    Inactif  
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 24
    Points
    24
    Par défaut Lire les paramètres de chaque ligne d'un fichier text
    Bonjour

    Ask help please, la lecture des paramètre du fichier est impossible, quelqu'un qui peut m'aider SVP (je cherche à lire aux,pcr,tcr,vcr,(par(i),i=1,4 de chaque ligne ''chaque substance''):


    Programme Fortran:

    implicit double precision (a-h,o-z)
    character*80 nrec

    open(7,file='data.txt',status='old',access='direct',
    &form='formatted',recl=20+8*(10+3),iostat=ierr)


    read(7,FMT=*) nrec
    write(*,*) nrec

    do 100 irec=1,nrec
    read(7,rec=irec+1) aux,pcr,tcr,vcr,(par(i),i=1,10)

    100 continue

    Fichier text ''data.txt'':

    5 1
    CO2
    .73825000E+02 .30421000E+03 .94440000E-01
    -.15073854E+00 .33064769E+03 .20411093E-01 .12017760E+01
    H2
    .12980000E+02 .33240000E+02 .67498885E-01
    .70430569E+00 .27063874E+02 .11786404E-01 .10000000E+01
    O2
    .27406883E+02 .54042767E+03 .43139122E+00
    -.99900150E-01 .69324730E+03 .94018278E-01 .12688725E+01
    Ar
    .48979000E+02 .15086000E+03 .74559704E-01
    -.15821676E+00 .10363524E+03 .16644547E-01 .10000000E+01
    Mg
    .45950000E+02 .19055500E+03 .10059809E+00
    .24966474E+00 .13188658E+03 .22259735E-01 .10000000E+01

  2. #2
    Membre habitué Avatar de Grame
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 192
    Points
    192
    Par défaut
    Bonjour

    Ask help please, la lecture des paramètre du fichier est impossible, quelqu'un qui peut m'aider SVP (je cherche à lire aux,pcr,tcr,vcr,(par(i),i=1,4 de chaque ligne ''chaque substance''):
    Ton programme ne risque pas de marcher : par n'est pas défini comme tableau, nrec est défini comme chaine de caractère alors que tu l'utilises comme une variable de boucle donc entier, ...

    De plus vu la structure de ton fichier, pas la peine de s'embêter à faire de l'accès direct.

    Bref, en simplifiant et en déclarant correctement les variables, on obtient un programme qui fonctionne et qui fait ce que tu veux.

    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
     
          programme Fortran
     
          implicit none
          double precision pcr, tcr, vcr, par(4)
          integer nrec, irec, i
    C 80 c'est beaucoup trop
          character*10 aux
     
    C c'est fortement déconseillé de prendre un nombre < 10 
          open(21,file='data.txt',status='old',access='sequential')
     
          read(21,*) nrec
          write(*,*) nrec
     
          do 100 irec=1,nrec
            read(21,fmt='(a)') aux
            read (21,*) pcr, tcr, vcr
            read (21,*) (par(i), i = 1, 4)
     
    C- pour vérifier ce qu'on lit
            write (*,*) aux
            write (*,*) pcr, tcr, vcr
            write (*,*) (par(i), i = 1, 4)
    100   continue
          end

Discussions similaires

  1. [Batch] Soucis exécution commandes (ping) pour chaque lignes d'un fichier texte
    Par devilsnake88 dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 16/01/2014, 19h12
  2. Réponses: 5
    Dernier message: 28/10/2011, 12h17
  3. Réponses: 15
    Dernier message: 05/07/2007, 02h45
  4. Réponses: 5
    Dernier message: 23/12/2005, 19h19
  5. [BATCH] lire chaque ligne d'un fichier texte
    Par bartmarley dans le forum Windows
    Réponses: 13
    Dernier message: 22/04/2005, 21h01

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