C > Molecule

TitreMolecule
Postée le18-04-2010
Affichée424
Mini-lien
Description

Extration d'un fichier xyz de molecules

EtatInconnu. Inconnu.
Code d'insertion
Options
Afficher les numéros de lignes  Mettre la source en plein ecran  Selectionner la source  Partager sur Facebook 
Téléchargement Telecharger en format txt  Telecharger en format pdf  Telecharger en format c
Plein ecran
#include <stdio.h>
#include <stdlib.h>

struct Molecule
{
        char type;
        float x, y, z;
        int appartenance;
        float charge, vdw_r, vdw_e;
};

void affiche(Molecule * molecule)
{
        printf("%c %f %f %f %d %f %f %f\n",molecule->type,molecule->x,molecule->y,molecule->z, molecule->appartenance,molecule->charge,molecule->vdw_r,molecule->vdw_e);
}

int main (int argc, char ** argv)
{

        int i, nb_ato_tot;
        Molecule * molecule;

        FILE * h2o_h2o = fopen("h2o_h2o.xyz","r");


        if(h2o_h2o)
        {
                fscanf(h2o_h2o,"%d\n\n",&nb_ato_tot);
                molecule = (Molecule*) malloc (nb_ato_tot);

                for (i=0;i<nb_ato_tot;i++)
                {
                        fscanf(h2o_h2o,"%c %f %f %f %d %f %f %f\n",&molecule[i].type,&molecule[i].x,&molecule[i].y,&molecule[i].z, &molecule[i].appartenance,&molecule[i].charge,&molecule[i].vdw_r,&molecule[i].vdw_e);
                        affiche(&molecule[i]);
                }


                //chargement=1;
                printf("%s\n\n","Chargement depuis le fichier h2o_h2o.xyz reussi !");
               
        }
        else
        {
                printf("%s\n\n","Impossible de lire le fichier h2o_h2o.xyz !");
        }


        fclose(h2o_h2o);

        return 0;
}