〓〓救命啊,懂计算机的人帮帮我啊〓〓
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊#include<IOSTREAM.H>
#include<STDLIB.H>
#include<STRING.H>
#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=='0';i++);
if(i==length)
{cout<<"余式是0"<<ENDL;
cout<<"发送成功"<<ENDL;
exit(0);
}
else{
for(i=0;i<5;i++)
c=ax;
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=bx;
cout<<"发送的序列加上余数后变成:";
for(i=0;i<LENGTH;I++)
cout<<AX;
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-15 20:46:33编辑过]
忘了呢,顶上先.来个人,帮帮他 复杂 HELP UP 呵呵,等等,有人来的 估计会的都不来 完全看不懂 <DIV class=quote><B>以下是引用<I>xushengsy</I>在2005-6-15 20:40:10的发言:</B>
完全看不懂</DIV>
不是吧 。。。。。。。。。。顶 看天书也要比这个容易 <P>就是换个编法。。。。。性质一样的。。。。</P><P>谁帮我改一下啊</P> <P>就是换个编法。。。。。性质一样的。。。。</P><P>谁帮我改一下啊</P> 我还是友情支持下把 <P> 闪过...</P> 天书啊 !!! 姘头是什么意思啊 <P>嘿嘿</P><P>偶也顶虽然我也知道怎么做</P> <P>楼上地大哥帮下忙啊</P>
页:
[1]
2