problem de fonction

problem de fonction - C++ - Programmation

Marsh Posté le 14-05-2006 à 12:26:57    

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;

Reply

Marsh Posté le 14-05-2006 à 12:26:57   

Reply

Marsh Posté le 14-05-2006 à 12:39:05    

le type de retour de main est int.

Reply

Marsh Posté le 14-05-2006 à 12:42:02    

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  
 
 
}

Reply

Marsh Posté le 14-05-2006 à 13:24:07    

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

Reply

Marsh Posté le 14-05-2006 à 13:26:38    

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*/
 
 
}
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed