2012-12-11 32 views
-3

HI我写这段代码让程序使用小于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); 


    } 
+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’ 

一旦你修复这些错误,请让我们知道如何去。我还建议您注意警告,因为它们可能表明代码中存在其他问题。

+0

我修正了一些错误,但仍然有问题,请你纠正我的整个代码? –

2
  • 您的部门功能使用的主声明的变量dividentdivisor,这是出界的功能,并会导致错误。为了使用这些变量,您需要使用参数将这些变量传递给函数。
  • 你还声明你的除法函数为void,不返回任何内容,但在do while while循环中使用它作为声明。为了使函数返回一个值,你需要用你想返回的类型替换void,在这个函数中可以使用int,并在函数结尾返回一个值。
  • srand(time(NULL))放置在初始rand函数之后,这意味着rand函数将返回相同的值,因为rand不是种子,然后是种子rand。您需要您的通话rand()

,我建议你在C++的概念,更读到了地方srand(time(NULL)),你没有在一些非常凌乱编码技术沿着这个节目多的权利。

+0

我同意。这里一切都是错误的 –

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; 
}