Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
536 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problem de fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problem de fonction

n°1365858
keep_schoo​l
Posté le 14-05-2006 à 12:26:57  profilanswer
 

bonjour, je dois utiliser cette fonction ds mon void main, mais je sais pas quoi passer comme premier parametre ds la signature ? un pointeur ?
merci de me répondre
 
 
bool Liste_M(Mov*P1,char *P2)
{
 char buffer[81];
 int t=0;
 Mov *tp, *Liste = NULL, *actuel;
 float X,Y,Z,T;

mood
Publicité
Posté le 14-05-2006 à 12:26:57  profilanswer
 

n°1365866
Taz
bisounours-codeur
Posté le 14-05-2006 à 12:39:05  profilanswer
 

le type de retour de main est int.

n°1365867
keep_schoo​l
Posté le 14-05-2006 à 12:42:02  profilanswer
 

non, mais qd j'appel ma fonction  
j'ai void main {
 
Liste_M(Mov*P1,char *P2)  
 
je met ça : Liste_M(Mov*P1,nom de mon fichier)
mais je sais pas quoi mettre ds le champs Mov*P1 avec Mov qui est une classe  
 
 
}

n°1365876
Taz
bisounours-codeur
Posté le 14-05-2006 à 13:24:07  profilanswer
 

ben tu lis la doc de la fonction Liste_M
 
et le type de retour de main EST int, pas void.

n°1365877
keep_schoo​l
Posté le 14-05-2006 à 13:26:38  profilanswer
 

si tu veux, je dois utiliser ma fonction Liste_M pour constituer  une liste d'objet de type Mov, mais je sais pas trop comment appelé ma fonction ds mon main  
 
 
#include <fstream>    //declaration des bibliotheque//
#include <malloc.h>  //declaration des bibliotheque//
#include <iostream>  //declaration des bibliotheque//
#include <stdio.h>   //declaration des bibliotheque//
#include <string>    //declaration des bibliotheque//
 
 
using namespace std;     //declaration des constante//
 
 
 
class Mobile     // definition de la classe mobile//
{  
 
protected :  float Heure,XA,YA,ZA;  //declaration en privee //
     Mobile * pointeur;   //declaraton d'un pointeur sur Mobile//
 
public :  
 
 Mobile(float P1=10,float P2=0, float P3=0,float P4=0, Mobile * p = NULL)  //constructeur par defaut qui place le point a l'origine//
 {      
  Heure=P1;  
  XA=P2;
  YA=P3;
  ZA=P4;
  pointeur = p;
 }
 float tabh();  //declaration fonction//
 float tabx();  //declaration fonction//
 float taby();  //declaration fonction//
 float tabz();  //declaration fonction//
 Mobile *tabp();  //declaration fonction//
 
 
 
};
 
class Mov: public Mobile
{
 float VX,VY,VZ;
 Mov * pointeur;
public :
 Mov *tabp();
 Mov(float P5,float P6, float P7,float P8, Mov * p);
 
 void Set_Next(Mov*);
 bool Vit(Mov *b);
 bool Imp_Mov(Mov*b);
 
 
};
 
 
Mov::Mov(float P5=0,float P6=0, float P7=0,float P8=0, Mov * p = NULL):Mobile()
{  
 Heure = P5;
 XA = P6;
 YA = P7;
 ZA = P8;
 VX=0;
 VY=0;
 VZ=0;
 pointeur = p;
}
 
 
void Mov::Set_Next(Mov* PAR)
{
 pointeur = PAR  ;
};
 
 
 
bool Mov::Vit (Mov *b)
{
 float delta,deltb,deltc,deltat;
 delta = b->XA-XA;
 deltb = b->YA-YA;
 deltc = b->ZA-ZA;
 deltat= b->Heure-Heure;
 if ( deltat ==0)
 {return (0);
  }
  else
  {
 return (1);
  }
}
 
bool Mov::Imp_Mov (Mov * f)   //declaration fonction Imp_Mov//
{bool RET=true;
 cout<<endl<<Heure;
 cout<<endl<<XA;
 cout<<endl<<YA;
 cout<<endl<<ZA;
 f=pointeur;
 if(f==NULL)
 { RET=false;}
 return RET;
}
 
 
 
 
bool Liste_M(Mov*P1,char *P2)
{
 char buffer[81];
 int t=0;
 Mov *tp, *Liste = NULL, *actuel;
 float X,Y,Z,T;
 
 ifstream fichier8(P2);      //ouverture du fichier//
 while ( t < 2)        //boucle pour évincer l'en tête//    
 {
  fichier8.getline(buffer, 80);
  if (strstr(buffer, "-----" )!= 0)
   t++;        //incrementation//
 }
 while(fichier8)        //boucle while dacquisition//
 {
  T = -1;         //initialisation//
  fichier8>>T>>X>>Y>>Z;     //acquisition//
  if (T != -1)
  {
   tp=new Mov(T,X,Y,Z,NULL);   //on creer tp un objet de laclasse mobile et on lui fait l;allocation de memoire//
   if (Liste == NULL)
    Liste = tp;
   else
    actuel->Set_Next(tp);
   actuel = tp;
  }
 }
 
if ( Liste != NULL)
{return 1;}
 
}
 
 
 
 
 
float Mobile::tabh()  //definition fonction//
{
 return Heure;
}
 
float Mobile::tabx()  //definition fonction//
{
 return XA;
}
 
float Mobile::taby()  //definition fonction//
{
 return YA;
}
 
float Mobile::tabz()  //definition fonction//
{
 return ZA;
}
 
Mobile *Mobile::tabp()  //definition fonction//
{
 return pointeur;
}
 
 
 
 
 
 
 
 
bool is_readable( const std::string & file ) //definition de la fonction de test d'existaence du fichier//
{  
    std::ifstream fichier( file.c_str() );  
    return fichier != 0;  
}  
 
 
 
 
 
 
 
 
 
void main()
{
 
 int lines;     //declaration des variables entières//
 int line;     //declaration des variables entières//
 char mesurea[45];   //déclaration d'une chaine de caractère//
 int t=0;     //déclaration et initialisation de la onstante//
 int g=0;     //déclaration et initialisation de la onstante//
  line=0;     //déclaration et initialisation de la onstante//
  lines = 0;    //déclaration et initialisation de la onstante//
 float T,X,Y,Z,minh,maxh,minx,maxx,miny,maxy,minz,maxz;
 
 Mobile*tp, *Liste = NULL; //initialisation//
 
 
 
cout<<"  *************************************"<<endl;    //affichage du message d'ouverture du pgm//
cout<<"   BONJOUR UTILISATEUR "<<endl;       //affichage du message d'ouverture du pgm//
cout<<"  *************************************"<<endl<<endl<<endl; //affichage du message d'ouverture du pgm//
   
 
 cout<<" ++ BIENVENUE ++"<<endl<<endl;          //affichage du message d'ouverture du pgm//
 cout<<"Veuillez entrer l'arboresence complete du  fichier de mesure "<<endl<<endl; //affichage message de saisie//
 cout<<"Arborescence saisie :    ";          //affichage//
 cin>>mesurea;              //acquissition de l'arborescence//
 
 
              //declaration pointeur sur un float//
 
 char buffer[81];             // definition taille du buffer//
 
cout<<endl<<"RESULTAT DU TEST D'OUVERTURE : ";  
using std::cout;              
    if ( is_readable( mesurea ) )          //boucle if ....else....//
    {  
        cout << "Fichier existant et lisible.\n";      //affichage message d'existence//
    }  
    else  
    {  
        cout << "Fichier inexistant ou non lisible, veuillez relancer le programme.\n";     //affichage message non existence//
    } ;
 
 
// acquisition  tableaux//  
 
Liste_M(*h,mesurea);
 
 
while (Mov::Vit (Mov *b)!= 0 )
 {(Mov::Vit (Mov *b)};
 
 
 
 
/*affichage du message de fin de programmme*/
cout<< endl<< endl<<"*************************************"<<endl;
cout<<"le programme est maientenant termine"<<endl;    /*affichage du message de fin du programme*/
cout<<"AU REVOIR ET BONNE JOURNEE "<<endl;      /*affichage du message de fin de programmme*/
cout<<"*************************************"<<endl<<endl<<endl; /*affichage du message de fin de programmme*/
 
 
}
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problem de fonction

 

Sujets relatifs
Mise à jour d'une JComboBox en fonction d'une autre...[résolu][JS]OnLoad : une unique fonction seulement?
Fonction et $variable=valeur de sortieInno Setup (utilisation de la fonction WorkingDir)
Fonction qui appelle une fonction en parametreafficher un resultat en fonction de deux données
problème avec la fonction isset()HTML suffisant pour cette fonction ?
problem de tableau a 2 dim passer en argument dans une fonction[Perl]problem avec fonction dans un package
Plus de sujets relatifs à : problem de fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR