Advertisement
avr39ripe

cppNumSumAvgZeroes

Jul 11th, 2021
886
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.     int num{12345};
  6.  
  7.     int digitsCount{ 0 };
  8.     int digitsSum{ 0 };
  9.     float digitsAvg{ 0 };
  10.     int zeroCount{ 0 };
  11.    
  12.     char menu{ 'x' };
  13.     do
  14.     {
  15.         std::cout << "a - Enter new number to get statistics for\nb - Get digits count\nc - Get digits sum\nd - Get digits avg\ne - Get zeroes count\nx - Exit\n";
  16.         std::cin >> menu;
  17.  
  18.         if (menu == 'a')
  19.         {
  20.             std::cout << "Enter new numger:\n";
  21.             std::cin >> num;
  22.                        
  23.             digitsSum = 0;
  24.             digitsAvg = 0;
  25.            
  26.             if (num)
  27.             {
  28.                 for (digitsCount = 0, zeroCount = 0; num; ++digitsCount, num /= 10)
  29.                 {
  30.                     int digit{ num % 10 };
  31.                     digitsSum += digit;
  32.                     if (digit == 0) { ++zeroCount; }
  33.                 }
  34.                 digitsAvg = (float)digitsSum / digitsCount;
  35.             }
  36.             else
  37.             {
  38.                 digitsCount = 1;
  39.                 zeroCount = 1;
  40.             }
  41.         }
  42.         else if (menu == 'b') { std::cout << "Digits count: " << digitsCount << '\n'; }
  43.         else if (menu == 'c') { std::cout << "Digits sum: " << digitsSum << '\n'; }
  44.         else if (menu == 'd') { std::cout << "Digits avg: " << digitsAvg << '\n'; }
  45.         else if (menu == 'e') { std::cout << "Zeroes count: " << zeroCount << '\n'; }
  46.         else if (menu == 'x') { std::cout << "Exiting...\n"; break; }
  47.         else { std::cout << "Invalid menu item! Try again!\n"; }
  48.     }while (menu != 'x');
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement