我写这段代码有程序,同时使用小于100的随机整数=>划分函数,返回qoutient和余数并在输出中打印,但似乎我不工作,请你帮忙哪个部分是错误的。
#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
using namespace std;
int division(int& remainder,int qoutient)
{
int dividant;
int divisor;
int quotient=dividant/divisor;
int remainder=dividant%divisor;
}
int main()
{
int dividant =(rand()%99);
int divisor =(rand()%99);
int qoutient;
int remainder_result;
srand(time(NULL));
do{qoutient=division(dividant,divisor);
cout<<"this is q:"<<qoutient<<endl;
cout<<"remainder"<<remainder_result<<endl;}
while(dividant>divisor);
}
答案 0 :(得分:2)
divident
和divisor
,这超出了函数的范围并将导致错误。为了使用这些变量,您需要使用参数将它们传递给函数。int
,并在函数末尾返回一个值。srand(time(NULL))
放在初始rand函数之后,这意味着rand函数将返回与rand isnt seded相同的值,然后是种子rand。您需要在srand(time(NULL))
来电rand()
我建议你阅读更多有关c ++概念的内容,你在这个程序中没有太多权利以及一些非常混乱的编码技术。
答案 1 :(得分:0)
您有编译错误。您的除法函数引用未声明的变量。您需要对这些变量进行参数化,或者更改除法函数;无论如何,函数都无法访问在main范围内声明的变量。
以下是IDEOne的编译错误/警告列表:
prog.cpp: In function ‘void division(int&, int)’:
prog.cpp:11: error: ‘dividant’ was not declared in this scope
prog.cpp:11: error: ‘divisor’ was not declared in this scope
prog.cpp:11: warning: unused variable ‘quotient’
prog.cpp: In function ‘int main()’:
prog.cpp:23: error: void value not ignored as it ought to be
prog.cpp:25: error: ‘remainder’ was not declared in this scope
prog.cpp:28: error: expected `;' before ‘}’ token
prog.cpp:20: warning: unused variable ‘remainder_result’
修复这些错误后,请告诉我们该怎么做。我还建议您注意警告,因为它们可能表示代码中存在其他问题。
答案 2 :(得分:0)
代码存在很多问题,所以我可能误解了你想要做的事情。这是基于我的理解的固定代码。我冒昧地更改了输出,因此它显示了完整操作的数据,因此您可以检查结果:
#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
void division(int dividend, int divisor, int& quotient, int& remainder)
{
quotient = dividend / divisor;
remainder = dividend % divisor;
}
int main()
{
srand(time(NULL));
int dividend = rand() % 99;
int divisor = rand() % 99;
int quotient, remainder;
division(dividend, divisor, quotient, remainder);
cout << dividend << "/" << divisor << " = " << quotient << " remainder: " << remainder << endl;
return 0;
}