Calcolo fattoriale in C\C++
Ciao a tutti,
ho un problema con il seguente codice...
Quando compilo non segnala alcun errore ...
Però se inserisco n=0 mi da come risultato 2 e non il messaggio "Errore......"
Secondo voi cosa c'è che non va?
ho un problema con il seguente codice...
Quando compilo non segnala alcun errore ...
Però se inserisco n=0 mi da come risultato 2 e non il messaggio "Errore......"
Secondo voi cosa c'è che non va?
- Codice: Seleziona tutto
//calcolo fattoriale di n con funzioni
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
double fattor(int);
int leggi_int();
void stampa(int,double);
main()
{
int n;
double fatt;
n=leggi_int();
fatt=fattor(n);
stampa(n,fatt);
return 0;
}
int leggi_int()
{
int n;
cout<<"Inserire un intero:"<<endl<<"n=";
cin>>n;
while(n<=0){
cout<<"Errore!Il numero inserito e' negativo...Inserire di nuovo un intero:";
cout<<"n=";
cin>>n;
}
return n;
}
double fattor(int n)
{
double f=1;
int i=1;
while(i<=n)
{
f=f*i;
i++;
}
return f;
}
void stampa(int n,double f)
{
cout<<endl;
cout<<"Il fattoriale di "<<n<<"e':"<<f<<endl;
return;
}
, vedi ad esempio