Camaradas, estou empacado em um exercício aqui da facul. N consigo determinar uma condição para o segundo while do código abaixo, que faça o programa funcionar direito, poderiam me ajudar?
O objetivo do programa é ler um intervalo de numeros e classificar os numeros do intervalo em perfeitos ou não perfeitos, usando como comando de laço de repetição somente o while.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a=0,b=0,c=0,d=1,e=0,f=0,cont=1;
cout<< "Exercicio 11.\n";
cout<< "\nDigite o primeiro termo do intervalo de numeros desejado.\n";
cin>> a;
cout<< "\nDigite o ultimo termo do intervalo desejado.\n";
cin>> b;
while(cont <=
{
while()
{
c = a % d;
if(e == 0)
{
f = d;
d = d + 1;
e = e + f;
}
else if( c != 0 )
{
d = d + 1;
}
}
if(e == a)
{
cout<< "\nO numero " << a << " é perfeito.";
}
else
{
cout<< "\nO numero " << a << " nao é perfeito.";
}
cont = cont + 1;
a = a + 1;
}
cout<< "\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}