PERFECTIONNEMENT C++ PGMME PRINCIPALE

Fermé
Adil le vrais - 24 juil. 2004 à 20:08
kirap Messages postés 254 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 9 septembre 2005 - 24 juil. 2004 à 20:44
Salut ,

Sil vous plait j'ai un problème avec void est
main void () mais dans le programme principale
,j'ai fait énormément d'exercice,est j'ai pas trouvé
je sais que void en l'emploie quand on retourne
pas une valeur (on met pas return ;)mais par contre
quand on a une function (sous programme)sans void
on met return (parametre) ;
alors la question qui se pose s' il vous plait quand on met
void est main void mais dans le p.p ?
sachant quand on a un sous programme(une fonction)
sans void , exemple int (int x,int y)
alors pour cela j'ai deux exercice semblable a la structure de
de valeur ,de retour dans le premier exercice on met pas
void dans p.p,mais dans le deuxième ont met void dans le
programme principale , comment ?
alors comment s'il vous plait seras le programme
juste(le modifier) si ont supprime void dans le p.p
du deuxième exo ?
est commet s'il vous plait seras le programme juste quand
on ajoute void dans p.p (programme principale) ?

1-exercice :

# include <iostream.h>
Int max (int,int) ;
Int max (int,int,int);
Int main ()
{
int a,b,c ;
int n;
cout<<"Introduire le nombre d'entiers a comparer 2 ou 3";
cin>>n;
if n=2
{
cout <<"introduire deux entiers a comparer " ;
cin<< a;
cin<< b;
cout<<"Le maximum des nombres est " <<max (a,b);
}
else
{
cout<<"introduire trois nobres entiers a comparer ";
cout>>a;
cout<<b;
cout<<c;
cout<<"le maximum des 3 nombres est "<<max (a,b,c);
}
}
int max (int x,int y)
{
return (x>y ? x:y); /*c'est équivalent à :
if x>y
return x
else return v */
}
int max (int x,int y, int z);
{
int m=(x>y ? x:y);
return (z>m ? z:m);
}

2-Exercice:

# include <iostream.h>
# include <math.h>
double poly ( double x ,double a0,double a1=0,double a2=0,double a3=0);
void main ()
{
double x=2.0003 ;
cout <<"poly (x,7)= "<< poly(x,7);
cout <<" poly(x,7,6)="<< poly (x,7,6);
cout <<" poly (x,7,6,5)"<<poly(x,7,6,5);
cout <<" poly (x,7,6,5,4)"<<poly(x,7,6,5,4);
}
poly double ( double x,double a0,double a1,double a2,double a3);
{
return a0+(a1+a2+a3)*x;
}

2 réponses

kirap Messages postés 254 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 9 septembre 2005 22
24 juil. 2004 à 20:37
lu !
je vais te dire les erreurs que g trouvé :
-> pas de majuscule pout int
-> /!\ "cin >>" et pas "cin <<" << c'est pour cout
-> if (n == 2) : si n vaut 2 alors...
-> ne confond pas cin et cout
___ cout c'est pour afficher cin c'est pour placer une valeur dans une variable : syntaxe : "cout <<" ; " cin >>" !!!!!
-> si une fonction a autre chose que void nom_fonction(...){ ..}
elle doit retourner qq chose. donc ton main doit retourner qq chose
-> pour commencer tu ne devrais pas utiliser "x>y ? x:y" tu risque de t'embrouiller.
-> int max (int x,int y, int z); <- attention au ; il ne doit pas y etre ici.

voici la correction de l'exercice 1
# include <iostream.h>

int max (int x,int y)
{
  return (x>y ? x:y); /*c'est équivalent à :
			if x>y
			return x
			else return v */
}
//=======================================================
int max (int x,int y, int z)
{
  int m=(x>y ? x:y);
  return (z>m ? z:m);
}
//=======================================================
int main ()
{
  int a,b,c ;
  int n;
  cout<<"Introduire le nombre d'entiers a comparer 2 ou 3";
  cin>>n;
  if (n==2)
  {
    cout <<"introduire deux entiers a comparer " ;
    cin>> a;
    cin>> b;
    cout<<"Le maximum des nombres est " <<max (a,b);
  }
  else
    {
      cout<<"introduire trois nobres entiers a comparer ";
      cin>>a;
      cin>>b;
      cin>>c;
      cout<<"le maximum des 3 nombres est "<<max (a,b,c);
    }
  return 0;
}


si tu place le main apres tes fonction tu n'a pas besoin de les declarer.


Tchô.
0
kirap Messages postés 254 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 9 septembre 2005 22
24 juil. 2004 à 20:44
et voila le deuxime corrigé

-> endl permet d'aller a la ligne.
-> /!!!!\ double poly(...) {... return .}et pas poly double (....){..}


# include <iostream.h>
# include <math.h>

double poly ( double x ,double a0,double a1=0,double a2=0,double a3=0)
{
  return a0+(a1+a2+a3)*x;
}
//==============================================
void main ()
{
  double x=2.0003 ;
  cout <<"poly (x,7)= "<< poly(x,7) << endl ;
  cout <<" poly(x,7,6)="<< poly (x,7,6)<< endl;
  cout <<" poly (x,7,6,5)"<<poly(x,7,6,5)<< endl;
  cout <<" poly (x,7,6,5,4)"<<poly(x,7,6,5,4)<< endl;
}



Tchô.
0