小妖精姘头 发表于 2005-6-15 20:36:00

〓〓救命啊,懂计算机的人帮帮我啊〓〓

谁能帮我CRC算法编程实现换个算法啊??帮忙啊
#include
#include
#include
#define CRC 5
char data={'1','1','0','0','1'};
class Checkout
{
private:
char ax;
char bx;
int x;
public:
int length;
Checkout()
{
cin>>ax;
length=strlen(ax);
}
void cxc();
bool qyu();
void add();
};
void Checkout::cxc()
{
for(int i=0;i<4;i++){
ax='0';
}
}//将输入序列后加4个0
bool Checkout::qyu()
{
char c;
int i,j,n;
int m=5;
for(i=0;ax<i>=='0';i++);
if(i==length)
{cout<<"余式是0"<<endl;
   cout<<"发送成功"<<endl;
   exit(0);
}
else{
for(i=0;i<5;i++)
c<i>=ax<i>;
while(m==CRC)
{ for(j=0;j<CRC;j++)
   {
                if(c==data)
   c='0';
    else
   c='1';
   }
   for(j=0;c=='0';j++);
       n=j;
   for(m=0;m<CRC-n;m++)
   {
    c=c;
    j++;
   }
         while(i<length&&m<5)
   {
      c=ax;
   m++;      
   }
}
}
int k;
for(k=0;k<m;k++)
bx=c;
for(j=0;bx=='0';j++);
if(j==m)
{cout<<'0'<<endl;
   x=0;
return true;
}
else
{for(n=j;n<m;n++)
   cout<<bx;
x=m-j;
cout<<endl;
return false;
}
}
void Checkout::add()
{
int j=0;
for(int i=length-x;i<length;i++)
    ax<i>=bx;
cout<<"发送的序列加上余数后变成:";
for(i=0;i<length;i++)
cout<<ax<i>;
cout<<endl;
}
void main()
{
cout<<"本次实验模拟CRC校验,其生成多项式的比特序列是11001"<<endl;
    cout<<"请输入发送数据比特序列:"<<endl;
Checkout test;
test.cxc();
cout<<"余式比特序列是:";
test.qyu();
test.add();
cout<<"试试这次是否能被整除."<<endl;
cout<<"新余数是:";
if(test.qyu())
   cout<<"已发送成功!"<<endl;
else
   cout<<"未发送,失败!"<<endl;
}

ヤ①個魜简單 发表于 2005-6-16 00:18:00

C++ ?

心有独钟 发表于 2005-6-16 13:19:00

头晕

ヤ①個魜简單 发表于 2005-6-16 22:49:00

给点小费偶帮你搞定 HOHO
[此贴子已经被作者于2005-6-16 22:49:36编辑过]

換ɡě鈊情 发表于 2005-6-17 01:01:00

晕,有点义气和意气好不,会的帮帮他
页: [1]
查看完整版本: 〓〓救命啊,懂计算机的人帮帮我啊〓〓