-3

嗨我写这段代码有程序,同时使用小于 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);


    }
4

3 回答 3

2
  • 您的除法函数使用变量dividentdivisor在 main 中声明,这超出了函数的范围并会导致错误。为了使用这些变量,您需要使用参数将它们传递给函数。
  • 您还将除法函数声明为 void,不返回任何内容,但在 do while 循环中使用它作为语句。为了让函数返回一个值,您需要将 void 替换为要返回的类型,在 this 中可以是int, 并在函数末尾返回一个值。
  • srand(time(NULL))放在初始 rand 函数之后,这意味着 rand 函数将返回与 rand 尚未播种相同的值,然后是种子 rand。您需要在通话srand(time(NULL))之前放置rand()

我建议你阅读更多关于 c++ 概念的内容,你在这个程序中没有太多的权利以及一些非常混乱的编码技术。

于 2012-12-11T01:21:55.663 回答
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;
}
于 2012-12-11T01:46:05.147 回答
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’

一旦你修复了这些错误,请告诉我们它是怎么回事。我还建议您注意这些警告,因为它们可能表明代码中存在其他问题。

于 2012-12-11T01:21:41.840 回答