〓〓救命啊,懂编程的人帮帮我啊〓〓
有谁能帮我把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;
} <P>看别人的程序累,你直接用文字描述算法吧</P> C偶不会 蔡鸟 crc我不懂。。。。看程序累 我有时候连自己写的长的程序炸一看也看不懂短时间,我最讨厌回头看程序了
[此贴子已经被作者于2005-8-4 16:04:01编辑过]
<P>编程当然比看程序累。要不然那些人自己编个程序多方便?干吗要去破解别人呢?</P>
<P>不过楼主的代码比看编译器编译出来的汇编还要难看……</P> 我刚上大学!! 楼主的编码风格真的不敢恭维。。。不过,请楼主讲一下题目要求,不然很难从你这代码中推敲出原题的要求呀!!!!!!!!以至于很难为楼主解忧了。。。。 <p>头都痛了。。自己慢慢做吧</p><p></p> <p>楼主要多学习</p><p>利用网络学习是个好习惯,呵呵</p><p>推荐一个学习网站:http://www.code168.com</p> 我没学过C,直接就学C++,那个老师还真不错啊,给了我 60 分 aa <p>没有注释,看了头晕!</p><p> </p> 直接把意思文字描述,看程序累的~~~ 不 没记错的话,这个应该是C++的代码吧?怎么是C的呢? 有编程问题把代码发到<a href="http://www.blissleague.cn">www.blissleague.cn</a>上来好了,跟在那些文章的后面,我们会帮你解决 <p>此程序本身有错 也不知道你要干嘛!</p> <p>太长了,直接说要实现什么功能就是了</p>
页:
[1]