如何从main中调用函数

How to call a function from within main

本文关键字:调用 函数 main      更新时间:2023-10-16

我正试图从main调用函数"isPrime",但一旦输入数字,程序就会退出。我不知道问题出在哪里?如果有人能看到我哪里做错了,我会感激的。谢谢。

代码:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

ofstream myfile;
    int num;
int main(){
    cout << "Please Enter a number " << endl;
    cin >> num;
        while (num > 3001){
            cout << "Your input integer should be less than 3001. Try again, or -1 to exit" << endl;
            cin >> num;
            if (num == -1){
        break;
            }
        }
    bool isPrime(num);

    //cout << "CMSC 140 CRN <your course CRN> Project 5: Prime Numbers Written by a student <YourName> Due Date : DD / MM / YYYY>" <<endl;
}
bool isprime(int a){
    myfile.open("primelist.txt");
    a = num;
    int prime;
    if (a <= 1 || (a % 2 == 0)){        // check if the number is even
        cout << " that is not a prime number" << endl;
        return false;
    }
    else if (a == 2){
        cout << "tht is a prime number" << endl;
        return true;
    }
    else{
        int divisor = 3;
        int top = a - 1;
        while (divisor <= top)
        {
            if (a % divisor == 0)
                return false;
        }
        divisor += 2;  //check the odd divisions 
        return true;
    }
    for (int i = 4; i < a; i++){
        if (i % 2 != 0 || i % 3 != 0){ 
            myfile << "2, 3, " << i << endl;
        }
    }
}
bool isPrime(num);

老实说,我认为这不应该编译。不过,从语法上讲,最接近的匹配是函数声明。。。这实际上毫无作用。

因此,正如在评论中所说,省略该声明中的bool

我想你错过了这样的东西:1.你更换

布尔是素数(num);

bool ret=isPrime(num);

(void)isPrime(num);

  1. 您声明函数布尔是素数(Int a);在主要功能之前