Salve ragazzi sono nuovo sia per quanto riguarda il forum che la programmazione in C/C++.
L'educazione mi impone di presentarmi, quindi: sono Roberto e sono programmatore di macchine a cnc e operatore cad/cam.
Siccome sono sempre stato un appassionato di informatica e di materie scientifiche in generale, di recente, spulciando su youtube, mi sono imbattuto sul canale di un professore, che ovviamente non faccio nomi (a mio parere molto bravo a spiegare), così ho comprato anche un libro sulla programmazione in C ed ho iniziato ad appassionarmi sempre di più. Ora sono arrivato alla spiegazione sulle funzioni, ho voluto fare un esercizio semplice e cioè, scrivere una funzione che mi calcoli la potenza di un numero; quindi ho scritto prima il codice della funzione nella funzione main per vedere se è corretto e funziona perfettamente, poi l'ho tagliato ed incollato nella funzione, ora il problema è che quando eseguo il codice sorgente il risultato che ottengo in output è sempre 1, non riesco a capire dov'è l'errore, credo che la sintassi sia corretta. Qualcuno di voi mi può spiegare qual è l'errore o perchè esce proprio 1? Questo è il sorgente:
#include <cstdlib>
#include <iostream>
using namespace std;
float potenza(float base, int esponente){
//Dichiarazione e inizializzazione delle variabili locali
float pow = 1;
//Elaborazione
if (esponente == 0)
pow = 1;
else
for (int i = 1; i <= esponente; i++)
pow *= base;
return pow;
}
main()
{
float base = 0;
int esponente=0;
cout <<"Inserire la base della potenza: ";
cin >>base;
cout <<"Inserire l'esponente della potenza: ";
cin >>esponente;
//Elaborazione
potenza(base,esponente);
cout <<endl <<"La potenza di " <<base <<" elevato a " <<esponente <<" e': ";
cout <<potenza;
fflush(stdin); getchar();
return 0;
}