Как мне заставить мою программу читать простые числа на основе проверки входных данных? - PullRequest
0 голосов
/ 08 ноября 2019
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>

using namespace std;
bool isPrime(int num);

int main()
{
   int num;
   ofstream outputFile;

   outputFile.open("PrimeOut.txt");

// Проверяет, открывается ли файл if (outputFile) {cout << "файл открыт" << endl;} else {cout << "Файл не может быть открыт" << endl;} // Проверка правильности ввода введенного пользователем номера cout << "Введите число от 1 до 100" << endl;cin >> num;

   while (num < 1 && num > 100)
   {
      cout << "The number must be between 1 and 100" << endl;
   }


   if(isPrime(num) == true)
   {
      cout << num << endl;
   }
    return 0;
}
// Function for finding prime numbers
bool isPrime(int num)
{
   bool valPrime;
   for (int i = 2; i < num; i++)
   {
      valPrime = true;
   }
   return valPrime;
}

1 Ответ

0 голосов
/ 08 ноября 2019

Я не уверен в вашей домашней работе.

Если вы ищете фрагменты кода на простых числах, то вы найдете здесь на SO. Например, вы можете посмотреть здесь

bool isPrime( int number )
{
    if ( ( (!(number & 1)) && number != 2 ) || (number < 2) || (number % 3 == 0 && number != 3) )
        return (false);

    for( int k = 1; 36*k*k-12*k < number;++k)
        if ( (number % (6*k+1) == 0) || (number % (6*k-1) == 0) )
            return (false);
    return true;
}

С этим (алгоритм грубой силы, вы можете узнать, является ли число простым (для небольших чисел).

Ваша программа очень глючная и в основном бессмысленная. Вам следует изучить несколько книг по С ++ и внимательно изучить. Затем вам нужно прочитать собственный код и увидеть проблемы.

Ваш пост не подходит для SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...