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 :

[Fortran 90] Affichage sur une seule ligne de variables et texte, avec format défini


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut [Fortran 90] Affichage sur une seule ligne de variables et texte, avec format défini
    Bonjour,

    je me permets de vous demander de l'aide sur un petit problème en fortran 90, en espérant que la réponse ne se trouve pas déjà dans le forum.

    J'écris un programme de résolution d'une équation de troisième degré de type
    a.x^3 + b.x^2 + c.x + d = 0
    Donc je demande à l'utilisateur de rentrer les données, je fais faire tous les calculs jusqu'ici pas de problème.
    Seulement je voudrais que l'équation s'affiche, juste avant les résultats pour confirmer à l'utilisateur qu'il ne s'est pas trompé en rentrant les coefficients.
    Je voudrais que le programme affiche, en supposant que les a, b, c et d valent respectivement 4, 2, 7 et 1 :
    Résolution de l'équation 4.x^3 + 2.x^2 + 7.x + 1 = 0
    les racines sont :
    et puis là les réponses


    Donc pour qu'il m'affiche l'équation je programme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	write (*,*) "equation"
            write (*,'(f4.1)') a
            write (*,*) "x^3"
    	write (*,'(f4.1)') b
    	write (*,*) "*X^2"
    	write (*,'(f4.1)') c
    	write (*,*) "*X"
    	write (*,'(f4.1)') d
    	write (*,*) "= 0"
    Donc évidemment il m'écrit :
    equation
    4,0
    x^3
    2,0
    x^2
    7,0
    x
    etc, etc.

    Je voudrais qu'il m'affiche tout ça sur une seule ligne, avec le bon format pour mes variables, l'histoire que je me retrouve pas avec
    equation 4,0000000000000 x^3 + 2,00000000000000 etc.
    et je voudrais aussi qu'il affiche automatiquement le signe + devant une variable positive, ce qu'il ne fait pas et du coup mon équation n'est pas bien écrite...

    Voilà comme vous pouvez le constater il s'agit uniquement d'un problème d'affichage.
    En vous remerciant de l'attention que vous porterez à ma question,
    gersurf

  2. #2
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    il y a des solutions: dans les formats:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    write (*,'(a,$)') "equation "
    write (*,'(f4.1,$)') a
    write (*,'(a,$)') "x^3 "
    write (*,'(f4.1,$)') b
    write (*,'(a,$)') "*X^2 "
    write (*,'(f4.1,$)') c
    write (*,'(a,$)') "*X "
    write (*,'(f4.1,$)') d
    write (*,'(a)') "= 0"
    (oublie pas les espaces dans les chaines de caractère car il ne sera pas mis automatiquement, et le dernier write n'a pas de $ pour que l'on soit bien à la fin de la ligne).

    cependant le $ n'est pas dans la norme fortran, c'est une extenssion (et donc il ne fonctionne pas avec toous les compilo...) pour palier ce problème et rester dans la norme, il faut écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    write (*,'(a)',advance='no') "equation "
    write (*,'(f4.1)',advance='no') a
    write (*,'(a)',advance='no') "x^3 "
    write (*,'(f4.1)',advance='no') b
    write (*,'(a)',advance='no') "*X^2 "
    write (*,'(f4.1)',advance='no') c
    write (*,'(a)',advance='no') "*X "
    write (*,'(f4.1)',advance='no') d
    write (*,'(a)') "= 0"
    voilà....
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Merci
    Re,

    merci de m'avoir répondu, j'ai essayé, et moi ça marche avec le dollar.

    Par contre, pour ce qui est du signe devant les variables positives, il ne le met toujours pas mais c'est normal.
    Y a-t-il une solution miracle, ou faut-il tenter un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (b>0) then
    write (*,'(a,$)') "+"
    endif
    \code
    ?
    Merci encore
    gersurf

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Pour imposer l'écriture du '+' devant les quantités positives, il faut utiliser le descripteur de contrôle 'sp' (sign print):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    write (*,'(sp,f4.1)',advance='no') a
    Ceci dit dans ton cas on peut tout écrire sur une seule ligne en utilisant une seule instruction fortran avec un format bien spécifié du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    write(*,'(sp,"equation ",f4.1," x^3",f4.1," x^2",f4.1,"x",f4.1,"=0")') a,b,c,d
    Bonne continuation

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut format d'écriture des résultats fortran 90
    Bonjour;
    Excusez moi de débraquer comme ca dans la discusssion afin de poster une question qui est toujours en relation avec l'affichage des résultats.
    J'ai réalisé un script sous MSDEV qui a pour role de lire un fichier de données et réaliser quelques modifications dans le fichier output, le problème c'est que lors d'affichage des résultats c'est un petit peu décalé avec le format dans j'ai besoin comment pourrais je modifier ca SVP?
    Merci d'avance!

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

Discussions similaires

  1. [WD17] Etat sur table. Affichage d'une seule ligne
    Par Belwen dans le forum WinDev
    Réponses: 13
    Dernier message: 29/11/2012, 11h31
  2. Affichage sur une seule ligne
    Par thanmirt dans le forum Deski
    Réponses: 3
    Dernier message: 01/06/2011, 18h26
  3. Plusieures infos sur une seule ligne avec ou sans tableau
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 14h16
  4. Synedit -commentaires sur une seule ligne
    Par Malone dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/02/2006, 19h44
  5. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24

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