下沙论坛
标题:
〓〓救命啊,懂计算机的人帮帮我啊〓〓
[打印本页]
作者:
小妖精姘头
时间:
2005-6-15 20:33
标题:
〓〓救命啊,懂计算机的人帮帮我啊〓〓
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊
5 O8 c% h8 Y) [9 Y* U
#include<IOSTREAM.H>
" K* o* B/ f7 ^* O
#include<STDLIB.H>
( N8 i" Q4 ]( E
#include<STRING.H>
H( q( o% H9 t
#define CRC 5
! ~) }, I) z/ {! e0 }5 r$ W
char data[5]={'1','1','0','0','1'};
/ R) u6 z0 [) v: ]0 O* V
class Checkout
/ R) {1 |' x" H
{
, ^0 N( h6 c3 F
private:
; k5 [8 J7 v4 ~% o" }
char ax[50];
6 e. t9 h: Z" D( Y: V# c( f' T
char bx[4];
) e2 M: ?( d! X$ q( I$ w- ?" r; I9 \
int x;
# r( \( m3 C+ E# F
public:
2 U& c0 d% g$ Y
int length;
& [ D# \, l5 {9 }7 ^
Checkout()
/ f4 j4 v- R) k' Z. {4 K6 I+ |1 f
{
- C( W5 X6 z% n+ q( U7 p
cin>>ax;
; [. W7 v6 W: P$ n6 @& D
length=strlen(ax);
$ z$ w# ]- C6 b7 k, W
}
3 {6 Q2 @. g1 Q. T
void cxc();
# g8 X- ]% r& W( C, V
bool qyu();
, L8 l8 Y& k9 Q( a$ g
void add();
6 p9 }) ^* o- {; B k( q- B
};
: y) Z `. \& S5 S) ?0 H# |+ |
void Checkout::cxc()
5 c8 v$ I2 Y. ~4 w* \6 R
{
8 M3 w* Y2 y, ^: |# S% a
for(int i=0;i<4;i++){
3 \' b5 l7 J% x, r! _
ax[length+i]='0';
5 g' Y* M* K/ j
}
3 H8 [& V' I% n, r3 j1 P
}//将输入序列后加4个0
% J4 g( \0 p8 a5 i
bool Checkout::qyu()
2 x- b6 g# w" G% X7 n+ i
{
) T+ {# y4 ]2 j# x" L2 F
char c[5];
- F0 L# l3 P! v; A, r
int i,j,n;
. i. x4 k/ v3 B i( P A# a3 e* g4 s
int m=5;
; m! V0 W9 k. C( t! c
for(i=0;ax
=='0';i++);
7 v8 j* m1 m! ?% d$ k- f
if(i==length)
$ g: i4 ^+ K- ?3 g3 r2 c* K
{cout<<"余式是0"<<ENDL;
0 d) r$ w$ W: [. C
cout<<"发送成功"<<ENDL;
) ~. P3 S4 \0 n# e
exit(0);
! u" v) f U' C4 R5 ^) w
}
; W% T3 A+ L& j& G
else{
1 p7 J# C& m# G# \, d1 I1 T5 n, I
for(i=0;i<5;i++)
6 _, r3 k# a: k; p
c
=ax
;
5 b: a7 T) E Q1 }0 x: ]/ R8 b
while(m==CRC)
& e u8 ~5 P1 N2 i' Z, c9 o
{ for(j=0;j<CRC;J++)
: z9 U5 {% |1 }
{
' \" r. `5 ?( _8 I- i# }4 c+ G# |8 F
if(c[j]==data[j])
1 n4 g: \" x$ }' g0 B" w1 \7 x
c[j]='0';
1 T% H7 J8 D6 K2 f( G) n) w4 D
else
- ?: Z% ~/ s3 o$ E
c[j]='1';
/ b) C; A9 X2 G9 U
}
* t- q4 I% q# b( p0 n
for(j=0;c[j]=='0';j++);
' m2 C, j8 }# y6 J* K$ n3 \3 u
n=j;
# e6 O" `/ G! c# L# W3 `% w( O
for(m=0;m<CRC-N;M++)
) E9 x+ w6 o' j, Z: G
{
$ `) t% D ?& `* z
c[m]=c[j];
, H: h$ T) w8 W4 z- i( g
j++;
7 I3 |6 Z" y9 N+ {) b# G; ^; f) u7 O
}
5 K1 j w( d8 {' ?
while(i<LENGTH&&M<5)
( Y1 ` I; T. U; F9 g/ X1 T
{
! m0 L; R% }; V- e: V
c[m]=ax[i++];
9 Z, z. E2 I! g1 R' q9 w( l S
m++;
, G: ]0 c" }" ~5 l. Q: v( |
}
* ]8 r+ s6 }' p4 c8 r7 j, w) {
}
0 Z0 J: W9 `) S# ^4 |9 X0 S
}
" r8 M; n& p7 l( f8 R
int k;
, \+ v2 k, ]+ T& V3 Y' b! D
for(k=0;k<M;K++)
8 _: E+ q m( O: @% @6 F
bx[k]=c[k];
2 L3 ]# B9 c% g% t8 S8 f
for(j=0;bx[j]=='0';j++);
1 r0 p5 p# P. K7 Q$ G
if(j==m)
) y5 Y6 `: p, ]7 c4 D& x
{cout<<'0'<<ENDL;
4 u4 @/ @8 C7 j% ^
x=0;
% l- M1 Z" h- }! A, ^
return true;
# Q( w& P, W! ~, b
}
2 M% o7 F4 p" E* K5 M# V, l
else
9 t' j* h7 ?7 ^9 M6 @
{for(n=j;n<M;N++)
& a1 n9 u5 F- Y& J
cout<<BX[N];
, R, |" }- G. ?& _0 K8 U
x=m-j;
& Z1 u7 J: R" b, Z5 x
cout<<ENDL;
/ h, |% |6 R! B7 d- a/ i" Q7 y
return false;
* J8 H5 R* g) n
}
4 J! S! G. ~+ _, f0 c
}
( a! j4 Z) S/ z$ _1 ^7 A- \2 V
void Checkout::add()
' N2 r, y2 U# j% L$ ~* U
{
) a% v0 y+ i' [# G' ~
int j=0;
8 [' y' g) ~; ]: ~
for(int i=length-x;i<LENGTH;I++)
( z& r- U' A- @9 S. J; m
ax
=bx[j++];
1 l$ N3 _, Y: \, G8 {3 ?
cout<<"发送的序列加上余数后变成:";
* [, {* B! B( d* c5 i) g
for(i=0;i<LENGTH;I++)
3 _& X% R2 @, F& ]
cout<<AX[I];
" J2 h+ \+ }! X: C
cout<<ENDL;
* V& H6 g2 j U4 h0 C
}
# r1 r- H# k$ A
void main()
( E. y6 }; i0 j- W
{
0 z# b/ q1 r' O% q b/ G {+ ?
cout<<"本次实验模拟CRC校验,其生成多项式的比特序列是11001"<<ENDL;
3 n2 Z1 Z4 x" Y) j+ O
cout<<"请输入发送数据比特序列:"<<ENDL;
7 N! F, j n: q
Checkout test;
% ~6 V5 ^1 O3 k4 t- k7 N
test.cxc();
: S/ |6 Z3 O ]) o& s
cout<<"余式比特序列是:";
/ O% W( q1 A) ~) a1 L
test.qyu();
+ k$ B- M# [, u/ [# u1 }
test.add();
J% c" p6 ^9 U6 n* [$ D
cout<<"试试这次是否能被整除."<<ENDL;
* b1 l @- |$ w7 W0 h6 H
cout<<"新余数是:";
9 Z/ n$ H/ o0 o: h
if(test.qyu())
# {6 d2 j$ k/ U5 F
cout<<"已发送成功!"<<ENDL;
1 v& ?) ^/ V7 j0 _
else
7 w3 C" `0 X; v
cout<<"未发送,失败!"<<ENDL;
( w# j* C7 o3 Q/ @% [2 ~8 E
}
@% D& F0 M4 a& j( C
[此贴子已经被作者于2005-6-15 20:46:33编辑过]
0 z8 }9 }# B6 G
作者:
換ɡě鈊情
时间:
2005-6-15 20:34
忘了呢,顶上先.来个人,帮帮他
作者:
韧天烬
时间:
2005-6-15 20:35
复杂
作者:
小妖精姘头
时间:
2005-6-15 20:37
HELP
作者:
韧天烬
时间:
2005-6-15 20:39
UP
作者:
換ɡě鈊情
时间:
2005-6-15 20:39
呵呵,等等,有人来的
作者:
韧天烬
时间:
2005-6-15 20:39
估计会的都不来
作者:
xushengsy
时间:
2005-6-15 20:40
完全看不懂
作者:
韧天烬
时间:
2005-6-15 20:42
<DIV class=quote><B>以下是引用<I>xushengsy</I>在2005-6-15 20:40:10的发言:</B>
t1 \+ j8 e8 X2 ]9 c
完全看不懂</DIV>
7 y4 t1 R- |& ]* w7 m4 o
3 M- @' W1 i# e' w1 a, i: r5 ~: o2 D" U6 H
不是吧
作者:
小妖精姘头
时间:
2005-6-15 20:45
。。。。。。。。。。顶
作者:
黑白两色
时间:
2005-6-15 20:46
看天书也要比这个容易
作者:
小妖精姘头
时间:
2005-6-15 20:47
<
>就是换个编法。。。。。性质一样的。。。。</P><
>谁帮我改一下啊</P>
作者:
小妖精姘头
时间:
2005-6-15 20:51
<
>就是换个编法。。。。。性质一样的。。。。</P><
>谁帮我改一下啊</P>
作者:
黑白两色
时间:
2005-6-15 20:54
我还是友情支持下把
作者:
yinan
时间:
2005-6-15 20:55
<
> 闪过...</P>
作者:
小妖精姘头
时间:
2005-6-15 21:24
作者:
侃侃的天空
时间:
2005-6-15 21:27
天书啊 !!!
作者:
夜深床软//
时间:
2005-6-15 21:27
姘头是什么意思啊
作者:
foolishman
时间:
2005-6-15 21:30
<
>嘿嘿</P><
>偶也顶虽然我也知道怎么做</P>
作者:
小妖精姘头
时间:
2005-6-15 21:33
<
>楼上地大哥帮下忙啊</P>
作者:
小妖精姘头
时间:
2005-6-15 22:04
等待中~~~~~~
作者:
还记得我吗
时间:
2005-6-15 22:19
C++么?
作者:
小妖精姘头
时间:
2005-6-15 22:38
<
>是地唉</P><
>大哥</P><
>帮忙啊</P>
作者:
aireny
时间:
2005-6-15 22:39
<
>偶来试试</P>
作者:
vindaz
时间:
2005-6-15 22:59
<
>你这个C++语言,你的意思偶还米弄清,你要这程序怎样哦</P>
作者:
vindaz
时间:
2005-6-15 23:00
换个编法是换语言呢还是换啥西啊,把FOR换成WHILE?
作者:
小妖精姘头
时间:
2005-6-15 23:12
<
>就是还是用C++换个方法做</P><
>或者直接用C</P>
作者:
aireny
时间:
2005-6-15 23:13
这个程序就是错误的
作者:
aireny
时间:
2005-6-15 23:14
<
>换算法</P>
作者:
小妖精姘头
时间:
2005-6-15 23:14
欢迎光临 下沙论坛 (http://bbs.xiasha.cn/)
Powered by Discuz! X3.3