jeudi 28 février 2019

C++ if statement not printing desired output

Problem is with the if statment inside the while loop. It is not printing the desired output. The else if statement and the else statement seem to work fine Any help is appreciated

#include <iostream>
using namespace std;
/*
  Write a C++ program that asks the user for an integer. 
  The program finds and displays the first power of 3 
  larger than the input number using while 

*/
int main() {
  int input = 0;
  int base = 3;
  int exponent = 0;
  int sum = 1;

  cout << "Enter a number: ";
  cin >> input;

  while (sum < input) {
    // This is the if statement giving me problems
    if (input == 1) {
      exponent += 1;
      sum = 3;
    }
    // This else if statement seems to work fine
    else if (input == 3) {
      exponent += 2;
      sum = 9;
    }
    else {
      exponent++;
      sum *= base;
    }
  }
  // Print output 
  cout << "3 to the power of " << exponent << " is equal to " << sum;
  cout << endl << "It is the first power of 3 larger than " << input;
  return 0;
}

Aucun commentaire:

Enregistrer un commentaire