em mới học c++ được 2 tuần nên chưa có nhiều kinh nghiệm mong mấy bro chỉ giáo giup em
cái này nếu kiểm tra số nhập vào từ bàn phím thì cho kết quả đúng nhưng sao khi bỏ vào vòng lặp lại k chạy được ạ


Code:
#include <iostream>
#include <math.h>
using namespace std;

int a=0;
int dem (int n)
{
	while (n!=0)
	{
		a++;
		n/=10;
	}
	return a;
}
int tongso (int n)
{
	int tg;
	int s=0;
	while (n!=0)
	{
		tg = n%10;
		s += pow(tg,a);
		n/=10;
	}
	return s;
}
int main ()
{
	int n=0;
	cout<<"\nSo amstrong trong khoang 0 ~ 9999 la: ";
	while (n<=9999)
	{
		dem(n);
		if (tongso(n)==n)
		{
			cout<<n<<" ";
			n++;
		}
		else n++;
	}

	return 0;
}