Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

programmation en c

Posté par
meroum
13-05-12 à 21:32

Bonsoir, pouvez vous m'aidez j'ai un problème d'ouverture d'un fichier ,j'ai ouvert deux fichier
1 pour lire les donnée et 1 pour afficher le résultats de la méthode que j'ai programmé mais j'arrive pas à lier les deux . Merci

édit Océane : forum modifié

Posté par
DHilbert
re : programmation en c 13-05-12 à 21:42

Citation :
j'ai un problème d'ouverture d'un fichier


Que veux-tu dire ?

Citation :
j'arrive pas à lier les deux


Qu'entends-tu par lier les deux ?

Quels sont les structures des fichiers ?

A +

Posté par
meroum
re : programmation en c 13-05-12 à 22:02

le premier: c pour lire les donnee
ifstream file;
    file.open("donnee.DATA");
    if(file)
    {
        file>>NbrTaches;
donnee  file>>Lecture.relesedate;
        file>>Lecture.processingtime;
        file>>Lecture.duedate;
        Lecture.indice=1;


        while(file)
        {
            jobs.push_back(Lecture);
            Lecture.indice++;
            file>>Lecture.relesedate;
            file>>Lecture.processingtime;
            file>>Lecture.duedate;



        }

    }
    else
    {
        cout<<"erreur fichier"<<endl;
    }
    file.close();

    cout<< jobs.size()<<endl<<endl;

    for(int i=0;i<jobs.size();i++)
    {
            cout<<"taches  "<< jobs[i].indice << "   ri= "<< jobs[i].relesedate <<"       i=  "<<i<< endl;
    }
//-
le second pour afficher le résultat de la méthode ;  string const donnee("result.DATA");
    ofstream flux(donnee.c_str());

if(flux)
    {

        flux << "jobs={"<<endl;
        for (i=0;i<jobs.size();i++)
        {
            flux <<"<"<<jobs[i].indice<<", "<<jobs[i].relesedate<<", "<<jobs[i].processingtime<<", "<<jobs[i].duedate<<", "<<1-jobs[i].sommetT<<", "<<jobs[i].u<<", "<<jobs[i].v<<">"<<endl;
        }
        flux <<"};"<<endl;

        flux <<"pyrA={"<<endl;

            for(int j=0;j<setpyramideA.size();j++)
            {
                flux<<"<"<<j+1<<", "<<setpyramideA[j].sommet.indice<<", "<<setpyramideA[j].sommet.relesedate<<", "<<setpyramideA[j].sommet.processingtime<<", "<<", "<<1-setpyramideA[j].sommet.sommetT<<", "<<"0"<<", "<<"0"<<", "<<">"<<endl;
            }
            flux<<"};"<<endl;
  flux <<"pyrB={"<<endl;

            for(int j=0;j<setpyramideB.size();j++)
            {
                flux<<"<"<<j+1<<", "<<setpyramideB[j].sommet.indice<<", "<<setpyramideB[j].sommet.duedate<<", "<<setpyramideB[j].sommet.processingtime<<", "<<", "<<1-setpyramideB[j].sommet.sommetT<<", "<<"0"<<", "<<"0"<<", "<<">"<<endl;
            }
            flux<<"};"<<endl;

        flux <<"pyrsetA=["<<endl;

        for (i=0;i<jobs.size();i++)
        {
            flux<<"[";
            for(int j=0;j<setpyramideA.size();j++)
            {
                bool test=1;
                for(int k=0;k<setpyramideA[j].jobpyramide.size();k++)
                {
                    if(jobs[i].indice==setpyramideA[j].jobpyramide[k].indice)
                    {
                        flux <<1<<" ";
                        test=0;
                    }
                }

            }
        flux<<"];"<<endl;

flux <<"pyrsetB=["<<endl;

        for (i=0;i<jobs.size();i++)
        {
            flux<<"[";
            for(int j=0;j<setpyramideB.size();j++)
            {
                bool test=1;
               {

               } for(int k=0;k<setpyramideB[j].jobpyramide.size();k++)

                    if(jobs[i].indice==setpyramideB[j].jobpyramide[k].indice)
                    {
                        flux <<1<<" ";
                        bool test=0;
                    }


               }
bool test;
            if( test)
                {
                    flux<<0<<" ";
                }
    }
        }
            flux<<"]"<<endl;


}
else
    {
        cout << "ERREUR: Impossible d'ouvrir le fichier." << endl;
    }


    return 0;

}
l'affichage est :
jobs={
};
pyr={
};
pyrset=[
];

Posté par
urgo
re : programmation en c 13-05-12 à 22:53

je doute que tu sois au bon endroit

Posté par
meroum
re : programmation en c 13-05-12 à 22:59

c'est des mathématiques .je pense qu'il y'a quelquin qui peux m'aider
.

Posté par
urgo
re : programmation en c 13-05-12 à 23:00

j'en doute.... mais pourquoi pas ??

Posté par
jeveuxbientaider
re : programmation en c 13-05-12 à 23:59

Bonjour,

Tu ferais mieux de poster cette question dans un forum dédié au langage C.

Posté par
urgo
re : programmation en c 14-05-12 à 00:04

par exemple

Posté par
jeveuxbientaider
re : programmation en c 14-05-12 à 00:05

Moteur de recherche avec les mots

Forum langage C

Posté par
DHilbert
re : programmation en c 14-05-12 à 08:50

Il me semble qu'ici , l'on t'a donné quelques pistes en C++. Il me semble urgent de restructurer le tout sous forme d'un algorithme avant de passer à la programmation. Par exemple, dans cette partie du code :

                    if(jobs[i].indice==setpyramideB[j].jobpyramide[k].indice)
                    {
                        flux <<1<<" ";
                        bool test=0;                    }


               }
bool test;
            if( test)
                {
                    flux<<0<<" ";
                }

il me semble que la ligne "bool test;" n'a pas sa place ici. C'est un exemple parmi tant d'autres !


A +

Posté par
DHilbert
re : programmation en c 14-05-12 à 08:58

Précision : Si je devais rédiger un programme en C++ sous Microsoft Windows en .Net Framework, j'utiliserais toutes les fonctionnalités que propose cette interface (ou couche).

A +

Posté par
meroum
re : programmation en c 16-05-12 à 00:50

c bon je l'ai réglé ,j'avais pas mis le fichier a lire dans le dossier c'est pour ça qu'il n'a pas pu être lu ..  



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !