Simple erreur programme c++

ffnajia Messages postés 30 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 17 avril 2007 - 14 nov. 2006 à 15:11
ffnajia Messages postés 30 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 17 avril 2007 - 15 nov. 2006 à 13:54
bonjour,
j'ai un petit problème dans mon code, je sais pas pourquoi il me donne un message d'erreur dans la ligne en rouge???, il me dit manque de virgule ou de point vigule.
#include
#include<cmath>

using namespace std;

double A,alpha,l;
////////////// la ligne suivante me donne un message d'erreur que je comprend pas/////
cin >> l ;
//system("pause");
//printf("je suis la");
////////////
double puis(double x, double y){
       double z= exp(y*log(x));
       return z;
       }     
     
double fonct(double x, int i){
       double y;
       if(i==0) y=A*puis(x,alpha);
       if(i==1) y=1;
       if(i>1) y=0;
       return y;
      
       }

/*double uti(double x, int i){
       double y;
       if(i==0) y=log(x);
       if(i==1) y=1./x;
       return y;
       }*/
      
int main(){
   
   double delta,h,utilite,T,b,n,iter,epsi;
   int nb,ok=1, Maxiter;
   b=0.00000075;
  
 
 
    
 
   FILE* fich1 = fopen("donnees_P","w");
      fprintf(fich1,"%lf %lf %lf %lf %lf %lf %d %d",3.,.8,3.,1.,0.3,.08,100,20000);
   fclose(fich1);
            
   FILE* fich11 = fopen("donnees_P","r");
      fscanf(fich11,"%lf %lf %lf %lf %lf %lf %d %d",&epsi,&delta,&A,&T,&alpha,&n,&nb,&Maxiter);
   fclose(fich11);
   
    double*mu    = new double [nb+1];
   double*conso = new double [nb+1];
   double*capi= new double [nb+1];
   capi[0]=10000.;
   conso[0]=14110.;
   //printf("%lf %lf %lf %d \n",capi[0],delta,n,nb);
  
   h=T/(nb);
    while(iter<Maxiter){
   for(int i=0;i<nb;i++){
        //conso[i]=b*exp(delta*T)*exp(A*puis(capi[i],alpha)-delta*i*h);    
        conso[i+1]=conso[i]+h*(conso[i]*(A*alpha*puis(capi[i],alpha-1)-delta));
//        capi[i+1]=(capi[i]+h*(fonct(capi[i],0)-conso[i]))/(1.+n*h);
       capi[i+1]=capi[i]+h*(fonct(capi[i],0)-conso[i]-n*capi[i]);
       
      //printf("%lf\n %lf\n",capi[0],conso[0]);
      // printf("\n\nle capital\n");    
      // printf("%d // %lf\n\n",i,capi[i]);
      // printf("\nla consommation"); 
      // printf("\n%d // %lf\n",i,conso[i]);
     
       //if(capi[i+1]<=0.){ok=0;break;}
       }
  
       printf("%lf",capi[99]);
       if(capi[nb]>epsi){conso[0]=conso[0]+1.; iter++;}
      if(capi[nb]<epsi){conso[0]=conso[0]-1.; iter++;}
      else conso[0]=conso[0];
       
      // if(ok!=0){
        //   utilite=0;
//       for(int i=0;i<nb;i++) utilite+=h*exp((n-delta)*i*h)*uti(conso[i],0);
       }
  
    FILE* fich2 = fopen("consommation_P","w");
       for(int j=0;j<nb+1;j++){
       fprintf(fich2,"%lf ",conso[j]);
       fprintf(fich2,"\n");
       }
    fclose(fich2);

    FILE* fich3 = fopen("capital_P","w");
       for(int j=0;j<nb;j++){fprintf(fich3,"%lf ",capi[j]);
       fprintf(fich3,"\n");
       }
    fclose(fich3);
   
   // printf("\n\nen fin l'utilite est egale a:\n");
//    printf("%lf\n ",utilite);
   
    /*FILE* capsci = fopen("capital_P.sci","w");
       fprintf(capsci,"x=read('capital_P',%d, 1);\n",nb);
       fprintf(capsci ,"xbasc();\n");
       fprintf(capsci ,"xtitle("évolution du capital avec  ");
       fprintf(capsci ,"delta=%lf  ",delta);
       fprintf(capsci ,"n=%lf  ",n);
       fprintf(capsci ,"b=%lf  ",b);
       fprintf(capsci ,"capi[0]=%lf ",'temps','?');\n" ,capi[0]);
       fprintf(capsci,"plot(x);\n");
    fclose(capsci);
   
    FILE* consosci = fopen("consommation_P.sci","w");
         fprintf(consosci ,"y=read('consommation_P',%d,1);\n",nb);
       fprintf(consosci ,"xbasc();\n");
       fprintf(consosci ,"xtitle("Amélioration de la consommation avec  ");
       fprintf(consosci ,"delta=%lf  ",delta);
       fprintf(consosci ,"n=%lf  ",n);
       fprintf(consosci ,"b=%lf  ",b);
       fprintf(consosci ,"capi[0]=%lf ",'temps','?');\n" ,capi[0]);
       fprintf(consosci ,"plot(y);\n");
    fclose(consosci);
   
    FILE*CONCAP=fopen("cons_capi_P.sci","w");
       fprintf(CONCAP,"y=read('consommation_P',%d,%d);\n",nb,1);
       fprintf(CONCAP,"x=read('capital_P',%d,%d);\n",nb,1);   
       fprintf(CONCAP ,"xbasc();\n");
       fprintf(CONCAP ,"xtitle("Amélioration de la consommation avec  ");
       fprintf(CONCAP ,"delta=%lf  ",delta);
       fprintf(CONCAP ,"n=%lf  ",n);
       fprintf(CONCAP ,"capi[0]=%lf ",'temps','?');\n" ,capi[0]);
       fprintf(CONCAP,"plot(x);\n");
       fprintf(CONCAP,"plot(y);\n");
    fclose(CONCAP);*/
  
    getchar();
 
    return 0;
}

Merci à tous
Najia

6 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
14 nov. 2006 à 15:26
Salut,
Ton code en rouge marchera mieux s'il est dans la fonction main() je pense...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
14 nov. 2006 à 16:24
exact.

et puisque tu as localisé le problème, il est inutile de mettre toute
ta source, ce n'est pas agéable à lire pour nous et ça sert à rien...


De toute façon : toute implémentation doit se trouver dans une fonction ... ce n'est pas le cas ici.

_______________________

Omnia vincit labor improbus
0
ffnajia Messages postés 30 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 17 avril 2007
14 nov. 2006 à 16:37
Merci beacoup les amis.
c'est vrai que dans la fonction main(), elle marche bien.
mais est ce que je peux savoire pourquoi?!!!!!

Najia
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
14 nov. 2006 à 17:18
Revois les bases...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
14 nov. 2006 à 20:09
Comment veux tu qu'une ligne soit exécutée si elle n'est pas à l'intérieur d'une fonction ?

_______________________

Omnia vincit labor improbus
0
ffnajia Messages postés 30 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 17 avril 2007
15 nov. 2006 à 13:54
merci beaucoup

Najia
0
Rejoignez-nous