-4

ユーザー番号を bool 関数に渡すプログラムを作成する必要があります。この関数boolは、数値が素数であるかどうかにかかわらず応答を返し、数値が素数であるかどうかをプログラムに表示させます。これは私が持っているもので、完全に立ち往生しています。

#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;

//Declare return function
bool isPrime(int);


//Declare constant
const int PRIME=2;

int main()
{
    //Declare local variable to store user number
    int user_num;
    //Declare local variable to store result
    bool result;
    //Declare variable to hold return
    bool status;

    //Request number from user
    cout << "Please enter a number" << endl;
    cin >> user_num;

    //Call function isPrime
    bool isPrime(int user_num);

    if (status==true)
        cout << user_num << "is prime" << endl;
    else
        cout << user_num << "is not prime" << endl;

    system ("PAUSE");
    return 0;

} //end main

//Define bool function
bool isPrime(int number)
{
    bool status;

    double num_1=sqrt(number);

    for (int i=2;i<=num_1;++i)
        if(!(number%i))
            status=false;
        else
            status=true;
    return status;

}//End bool function      
4

2 に答える 2

1

変化する

bool isPrime(int user_num);

読む

status = isPrime(user_num);

そこで行っていたのは、関数を宣言することであり、呼び出すことではありません。

関数をメイン関数の上に移動するか、実際に追加する必要があります

bool isPrime(int user_num); 

メイン関数の上または関数を呼び出す直前。

于 2013-06-27T04:42:25.150 に答える
0

isPrime 内のループも考慮する必要があります。除数が見つかった場合は、すぐに false を返します。現時点では、結果変数を何度も上書きし、最終テストのみを返します。

于 2013-06-27T04:45:14.860 に答える