Я студент первого курса CS, пытаюсь понять функции, но я застрял в этой проблеме, где я должен использовать функцию в другой функции.Мне нужно создать программу, которая проверяет все числа от 0 до 100 и находит все числа, которые делятся равномерно делителем.Мне разрешено иметь только три функции с именами getDivisor, findNumbers и calcSquare.Выходными данными должны быть каждое найденное число (от 0 до 100) и квадрат этого числа.Я написал программу (как показано ниже), которая запускает и отвечает на первый вопрос о том, что такое делитель, но она остается открытой только в течение нескольких секунд, а затем закрывается при попытке вычислить, какие числа делятся делителем.Я не уверен, что именно я сделал неправильно, но я хотел бы знать, чтобы я мог учиться на своей ошибке!Пожалуйста, не обращайте внимания на стиль, он очень небрежный, я обычно возвращаюсь и убираю его после завершения программы.
#include <iostream>
#include <string>
#include <cmath>
#include <iomanip>
using namespace std;
int getDivisor();
void findNumbers(int divisor, int lower, int upper, double &lowerSquared);
double calcSquare(int lower);
int main()
{
int divisor;
int lower = 0;
int upper = 100;
double lowerSquared;
divisor = getDivisor();
cout << "Here are the numbers, from 0 to 100, that are evenly divisble by "
<< divisor << ", and their squares:\n";
findNumbers(divisor, lower, upper, lowerSquared);
system("pause");
return 0;
}
int getDivisor()
{
int divisor;
cout << "Enter a divisor: ";
cin >> divisor;
return divisor;
}
void findNumbers(int divisor, int lower, int upper, double &lowerSquared)
{
while (lower < upper)
{
if (((lower / divisor) % 2) == 0)
{
lowerSquared = calcSquare(lower);
cout << setprecision(0) << fixed << setw(4) << lower << setw(8)<< lowerSquared << endl;
lower++;
}
else
{
lower++;
}
}
}
double calcSquare(int lower)
{
double lowerSquared;
lowerSquared = pow(lower, 2);
return lowerSquared;
}
Вывод должен быть (если пользователь вводит 15).Вывод должен быть в виде списка с числом слева и квадратом справа от него, но я не знаю, как правильно отформатировать здесь ... извините:
Введите делитель: 15
Вот числа от 0 до 100, которые делятся поровну на 9, и их квадраты:
0 0
15 115
30 900
45 2025
60 3600
75 5625
90 8100
Я ценю любую помощь!