Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - help fattoriale
Forum - C/C++ - help fattoriale

Avatar
morpheus (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/09/2008

Segnala al moderatore
Postato alle 22:24
Lunedì, 22/12/2008
salve h fatto un programma che mi calcoli il fatoriale di un numero n inserito dall'utente però in pratica se il numero è maggiore di 100 deve chiedere di reinserirlo ma mi sto incasinando perchè non riesco a fare un ciclo che lo chieda tante volte finchè non è minore. ecco il codice:
#include<iostream>
using namespace std;
int main()
{
int numero=0,fattoriale=1;

cout<<"Inserisci il numero:";
cin>>numero;
int x;
for(x=0; ;x++)
{
if(numero>100)
{
cout<<"inserire numero compreso tra 1 e 100";
}
else while(numero>1)
{fattoriale=fattoriale*numero;
numero=numero-1;
}
cout<<"fattoriale = "<<fattoriale<<endl;
}
system("pause");
}

grazie.

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 17:21
Martedì, 23/12/2008
Ecco il codice funzionante:
Codice sorgente - presumibilmente C++

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int numero=0,fattoriale=1;
  6. cout<<"Inserisci il numero:";
  7. cin>>numero;
  8. int x;
  9. while (numero>100)
  10. {
  11. cout<<"inserire numero compreso tra 1 e 100:";
  12. cin>>numero;
  13. }
  14. while(numero>1)
  15. {
  16. fattoriale=fattoriale*numero;
  17. numero=numero-1;
  18. }
  19. cout<<"fattoriale = "<<fattoriale<<endl;
  20. system("pause");
  21. }



Il for non serve a niente in questo caso.
Conviene invece usare:

while (numero>100)
{
cout<<"inserire numero compreso tra 1 e 100:";
cin>>numero;
}
per verificare le dimensioni del numero.

Ultima modifica effettuata da manvb.net il 23/12/2008 alle 17:22
PM Quote