функция мода не работает, почему?

#include<iostream>
using namespace std;
int c;
int fun_div();
int fun_div(int a,int b){
if(a%b==0){
c=1;
cout<<"Solution Available :\t"<<c;
} else
{
c=0;
}
return c;
}
int main(){
int c;
int e,d;
cout<<"enter two values : \n";
cin>>e>>d;
cout<<endl;
}

ошибка при поиске мода из двух чисел и не компиляции программы:

ошибка при поиске мода из двух чисел и не компиляции программы

-1

Решение

Это компилирует для меня

#include<iostream>
using namespace std;
int c;
int fun_div();
int fun_div(int a,int b)
{
if(a%b==0){
c=1;
cout<<"Solution Available :\t"<<c;
} else {
c=0;
}
return c;
}
int main(){
int c;
int e,d;
cout<<"enter two values : \n";
cin>>e>>d;
fun_div(e,d);
cout<<endl;
}

Вы должны поместить сообщение об ошибке при запросе об ошибках компиляции. Однако я скопировал ваш код точно, и он компилируется.

Другое дело, что вы не вызываете свою функцию, поэтому я также добавил это.

И, как примечание, вы могли бы просто сделать

int fun_div(int a, int b)
{
return (a%b == 0);
}

так как (a%b == 0) будет оцениваться до 1, если a кратно b и 0 в противном случае.

1

Другие решения

#include<iostream>
using namespace std;
int c;
int fun_div();

int fun_div(int a,int b)
{
if(a%b==0){
c=1;
cout<<"Solution Available :\t"<<c;
}
else
{ c=0; }
return c;
}

int main()
{
int e,d;
cout<<"enter two values : \n";
cin>>e>>d;
c=fun_div(e,d);
cout<<endl;
}

Попробуй это. Я думаю, это то, что вы ожидали.
Пожалуйста, объясните свой вопрос, чтобы получить более конкретный ответ.

Я добавил вызов функции к функции fun_div.

0

вам, вероятно, следует добавить еще одну проверку, для которой больше. Чем больше проверка, тем больше будет доступного остатка

0

Ну, главная проблема в вашем коде состоит в том, что вы не вызываете функцию, которую вы определили, поэтому вы не получаете желаемый результат, и есть несколько лучших практик для написания кода, которым вы должны следовать, чтобы избежать ошибок в будущем.

Не используйте глобальную переменную, и если вы возвращаете результат из функции, то выводите ее на экран из основной функции.

Рекомендованный код приведен ниже, я изменил функцию, поэтому он будет только проверять, делится ли «a» на «b» или нет, и возвращает значение main, чтобы отобразить результат на экране.

#include<iostream>
using namespace std;

int fun_div(int a, int b)
{
return (a%b == 0);
}
int main() {
int e, d;
cout << "enter two values : ";
cin >> e >> d;
if (fun_div(e, d))
{
cout << "Solution Exists.";
}
else
{
cout << "No Solution Exists.";
}
cout << endl;
return 0;
}
0
По вопросам рекламы [email protected]