Bonsoir à tous,

Je suis actuellement une formation à distance de programmeur. J'apprends le C-C++. Dans le cadre de cette formation, je dois rendre des devoirs. Me voila bloqué à ce 1er devoir qui nous demande :
Écrire une fonction « float puissance(float x, int n) » qui renvoie x^n. La mettre en œuvre en utilisant les conversions de type.
J'ai écrit ce programme mais sans suivre les pistes données par mon prof'. Mon programme fonctionne et pas celui évoqué par mon prof'.
Comment faire ?

Code Mon script : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
#include <iostream>
#include <cmath>
using namespace std;
 
 
float puissance(float x, int n) {
if (n == 0) {
return 1;
} else {
if (n > 0) {
return x * puissance(x,n-1);
} else {
return 1 / puissance(x,-n);
}
}
}
 
int main()
{
 
    float x;
    int n;
    cout<< "Elévation à une puissance entière positive.\n";
    cout<< "Donnez un nombre réel : ";
    cin>> x;
    cout<< "Donnez la puissance (entier positif) : ";
    cin>> n;
 
    if (n<0)
        cout << "La puissance doit être un entier positif.\n";
    else
        cout << x << " puissance " << n << " = " << puissance(x,n) << endl;
}

Code Pistes donnée par le prof : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
#include <iostream>
using namespace std;
float puissance(float x, int n) {
float resultat=1;
 
for(int i=1;i<=n;i++)
resultat = resultat * x;
return resultat;
}
 
void main()
{
  char c=5;
  int i=10;
  int j=6;
  float r=2.456;
  float r1;
  float r2;
  float r3;
  float r4;
  float r5;
  r1=1,r2=1,r3=1,r4=1,r5=1;
  r1 = puissance(r,1);
  r2 = puissance(r,c);
  r3 = puissance(j,i);
  r4 = puissance(j,r);
  r5 = puissance(0,4);
 
  cout <<"r1 = "<<r1<<"\n";
  cout <<"r2 = "<<r2<<"\n";
  cout <<"r3 = "<<r3<<"\n";
  cout <<"r4 = "<<r4<<"\n";
  cout <<"r5 = "<<r5<<"\n";
    getch();
}

Voila ce que le terminal me répond lorsque je veux compiler cette source :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
user@K73E:~/Dropbox/EDUCATEL/PROGRAMMATION ET DEVELOPPEMENT D'APPLICATION EN C++$ g++ puissance3.cpp -o ex1bis
puissance3.cpp:12:11: erreur: ‘::main’ must returnint’
puissance3.cpp: In function ‘int main()’:
puissance3.cpp:35:11: erreur: ‘getch’ was not declared in this scope
puissance3.cpp:35:12: erreur: expected ‘}’ at end of input
Merci de votre aide.