数値が素数かどうかを判断するこのプログラムに取り組んでいます。コンパイル時にエラーは発生しませんが、出力が正しくありません。誰が何が間違っているのか教えてもらえますか (そしてそれを修正する方法は?)?
#define PROMPT "Please enter a whole number: "
#define NOT_PRIME "The number is not a prime number! "
#define PRIME "The number is a prime number "
#define DONE 0
#define FIRST_FACTOR 3
using std::cout;
using std::cin;
int main(){
int i;
char number;
cout << PROMPT;
cin >> number;
for (i=FIRST_FACTOR; i<=number; i++){
prime = true;
for (int n=2; n<=i-1; n++){
if (i%n == 0){
prime = false;
}
}
if(prime){
cout << number << PRIME << endl;
}
else{
cout << number << NOT_PRIME << endl;
}
}
return 0;
}