霍邱县潘集镇赵传鹏:谁能帮我做一个c++流程图啊

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 07:29:53
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#define RAND_MAX 0x7fff
static int sum=0;
class Number
{
public:
Number(int);
~Number();
protected:
int number;
static Number* pFirst;
Number* pNext;
};
Number*Number::pFirst=0;
Number::Number(int n)
{
number=n;
sum=sum+this->number;
pNext=pFirst;
pFirst=this;
cout<<this->number<<endl;
}
Number::~Number()
{
if(pFirst)
{
if(pFirst==this)
{sum=sum+pFirst->number;
pFirst=pNext;
return;
}
for(Number* ps=pFirst;ps;ps=ps->pNext)
if(ps->pNext==this)
{
ps->pNext=pNext;
return;
}
else
cout<<"error"<<endl;
return;
}
}
Number* fun()
{
int b=0;
int a;
Number* ps;
for(int i=0;i<100;i++)
{
a=rand()*(200-10)/RAND_MAX+10;
if(a>b)
{
ps=new Number(a);
b=a;
}

}
return ps;
}
void main()
{
Number* dt=fun();
cout<<"sum="<<sum<<endl;
delete dt;
}

Number* fun()
{
int b=0;
int a;
Number* ps;
for(int i=0;i<100;i++)
{
a=rand()*(200-10)/RAND_MAX+10; //这里
if(a>b)
{
ps=new Number(a);
b=a;
}

}
return ps;
}
上面那行a=rand()*(200-10)/RAND_MAX+10; 是怎么回事啊?200-10?190吗?
这一行是关键语句吧,RAND_MAX是常数,值为0x7fff