C++ Help needed! The program I need to build is supposed to do this: http://screencast.com/t/qbp34sVfC
// // main.cpp // week5-4-4 #include <iostream> #include <cmath> using namespace std; int main() { double a; cin >> a; if (sqrt(a)%1.0 == 0) cout << "It's an integer."; else cout << "It's NOT an integer. Sorry."; return 0; }
This is the code I created for the problem. I don't know why it doesn't run. Can you help me spot the problem?
You cannot use the modulus operator with a double.
what is a "modulus operator" ?
%
Use this instead: if (fmod(sqrt(a),1.0) == 0)
wait a min, but why I cant use % with doubles?
Because it is designed to take an integer.
hmm hold on lemme try
You might also have trouble with the == it's always iffy to compare doubles. think of all the times a computer's told you 2.0 + 2.0 = 3.99999999
Join our real-time social learning platform and learn together with your friends!