m2skills

armstrong c++

Apr 18th, 2017
410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. /*program to check if a number is a armstrong number or not*/
  2. #include <iostream>
  3.  
  4. using namespace std;
  5. class armstrong
  6. {
  7.     private:
  8.         int number,num[6],sum,upper,lower;
  9.     public:
  10.         void getdata()
  11.         {
  12.             cout<<"\nENTER THE NUMBER : ";
  13.             cin>>number;
  14.             sum=0;
  15.             upper=0;
  16.             lower=0;
  17.             num[0]=0;num[1]=0;num[2]=0;num[3]=0;num[4]=0;num[5]=0;
  18.         }
  19.         void check()
  20.         {
  21.             int temp=0,n=0,i=0;
  22.             n=number;
  23.             while(n!=0)
  24.             {
  25.                 temp=n%10;
  26.                 n=n/10;
  27.                 num[i]=temp;
  28.                 i++;
  29.             }
  30.             i--;
  31.             while(i>=0)
  32.             {
  33.                 sum=sum+num[i]*num[i]*num[i];
  34.                 i--;
  35.             }
  36.             if(sum==number)
  37.             {
  38.                 cout<<"\nTHE ENTERED NUMBER IS AN ARMSTRONG NUMBER";
  39.             }
  40.             else
  41.             {
  42.                 cout<<"\nTHE ENTERED NUMBER IS NOT AN ARMSTRONG NUMBER";
  43.             }
  44.         }
  45.  
  46.         void getrange()
  47.         {
  48.             cout<<"\nENTER THE UPPER LIMIT : ";
  49.             cin>>upper;
  50.             cout<<"\nENTER THE LOWER LIMIT : ";
  51.             cin>>lower;
  52.             sum=0;
  53.             num[0]=0;num[1]=0;num[2]=0;num[3]=0;num[4]=0;num[5]=0;
  54.         }
  55.         void checkrange()
  56.         {
  57.  
  58.             int temp=0,n=0,i=0,j=lower;
  59.             cout<<"\nTHE ARMSTRONG NUMBERS IN THE GIVEN RANGE ARE :";
  60.             while(j<=upper)
  61.             {
  62.                 n=j;
  63.                 i=0;
  64.                 while(n!=0)
  65.                 {
  66.                     temp=n%10;
  67.                     n=n/10;
  68.                     num[i]=temp;
  69.                     i++;
  70.                 }
  71.                 while(i>=0)
  72.                 {
  73.                     sum=sum+num[i]*num[i]*num[i];
  74.                     i--;
  75.                 }
  76.                 if(sum==j)
  77.                 {
  78.                     cout<<"\n"<<j;
  79.                 }
  80.                 j++;
  81.                 sum=0;
  82.             }
  83.         }
  84. };
  85. int main()
  86. {
  87.     armstrong a1;
  88.     int choice=0,cont=0;
  89.     do
  90.     {   wrong :
  91.             cout<<"\n\nPROGRAM TO CHECK FOR ARMSTRONG NUMBER "<<endl;
  92.             cout<<"THE FOLLOWING CHOICES ARE AVAILIABLE "<<endl;
  93.             cout<<"1.CHECK ENTERED NUMBER "<<endl;
  94.             cout<<"2.PRINT ALL ARMSTRONG NUMBERS IN A GIVEN RANGE "<<endl;
  95.             cout<<"ENTER YOUR CHOICE : ";
  96.         cin>>choice;
  97.         if(choice!=1 && choice !=2)
  98.         {
  99.             cout<<"YOU'VE ENTERED WRONG CHOICE :"<<endl;
  100.             goto wrong;
  101.         }
  102.         else
  103.         {
  104.             switch(choice)
  105.             {
  106.             case 1:
  107.                 a1.getdata();
  108.                 a1.check();
  109.                 break;
  110.  
  111.             case 2:
  112.                 a1.getrange();
  113.                 a1.checkrange();
  114.                 break;
  115.             }
  116.         }
  117.         cout<<"\nDO YOU WANT TO CHECK AGAIN (1/0):";
  118.         cin>>cont;
  119.     }while(cont==1);
  120.     return 0;
  121. }
Add Comment
Please, Sign In to add comment