Цикл
A for
намного лучше, чем цикл while
в этом случае.Циклы while
лучше для «делать что-то, пока не будет выполнено условие», тогда как for
лучше для «делать что-то X раз».
В вашем коде есть ошибки, например
double calculate(double num)
{
double cal; // <--- you return this
while (num < 100) ; <---- this ; shouldn't be there and causes the loop to never terminate
{
int cal = num; <-- you just assign cal here?
num++;
}
return cal; <--- you return a variable that is never modified
}
Надеюсь, этот фрагмент поможет вам:
#include <iostream>
int main()
{
int num = 0;
std::cout << "What multiples are we adding? ";
std::cin >> num;
int sum = 0;
for(int i = 1; i < 100; ++i)
{
if( i % num == 0) // modulus division, no remainder
{
std::cout << "Adding " << i << std::endl;
sum += i;
}
}
std::cout << "Sum = " << sum<< std::endl;;
return 0;
}
Вывод:
./a.out
What multiples are we adding? 5
Adding 5
Adding 10
Adding 15
Adding 20
Adding 25
Adding 30
Adding 35
Adding 40
Adding 45
Adding 50
Adding 55
Adding 60
Adding 65
Adding 70
Adding 75
Adding 80
Adding 85
Adding 90
Adding 95
Sum = 950
В будущем это поможет опубликовать более читаемый код, особенно код с комментариями!