下沙论坛

标题: 〓〓救命啊,懂计算机的人帮帮我啊〓〓 [打印本页]

作者: 小妖精姘头    时间: 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* Vclass Checkout
/ R) {1 |' x" H{
, ^0 N( h6 c3 Fprivate:
; 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&gt;&gt;ax;
; [. W7 v6 W: P$ n6 @& D  length=strlen(ax);
$ z$ w# ]- C6 b7 k, W}
3 {6 Q2 @. g1 Q. Tvoid cxc();
# g8 X- ]% r& W( C, Vbool 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&lt;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&lt;&lt;"余式是0"&lt;<ENDL;0 d) r$ w$ W: [. C
   cout&lt;&lt;"发送成功"&lt;<ENDL;
) ~. P3 S4 \0 n# e   exit(0);! u" v) f  U' C4 R5 ^) w
  }
; W% T3 A+ L& j& Gelse{
1 p7 J# C& m# G# \, d1 I1 T5 n, Ifor(i=0;i&lt;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 Rint 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 ffor(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&lt;&lt;'0'&lt;<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  else9 t' j* h7 ?7 ^9 M6 @
  {for(n=j;n<M;N++)& a1 n9 u5 F- Y& J
     cout&lt;<BX[N];
, R, |" }- G. ?& _0 K8 U  x=m-j;& Z1 u7 J: R" b, Z5 x
  cout&lt;<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 Vvoid 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&lt;&lt;"发送的序列加上余数后变成:";
* [, {* B! B( d* c5 i) gfor(i=0;i<LENGTH;I++)
3 _& X% R2 @, F& ]  cout&lt;<AX[I];
" J2 h+ \+ }! X: C cout&lt;<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&lt;&lt;"本次实验模拟CRC校验,其生成多项式的比特序列是11001"&lt;<ENDL; 3 n2 Z1 Z4 x" Y) j+ O
    cout&lt;&lt;"请输入发送数据比特序列:"&lt;<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&lt;&lt;"余式比特序列是:";/ O% W( q1 A) ~) a1 L
  test.qyu();
+ k$ B- M# [, u/ [# u1 }  test.add();  J% c" p6 ^9 U6 n* [$ D
  cout&lt;&lt;"试试这次是否能被整除."&lt;<ENDL;
* b1 l  @- |$ w7 W0 h6 H cout&lt;&lt;"新余数是:";9 Z/ n$ H/ o0 o: h
  if(test.qyu())# {6 d2 j$ k/ U5 F
   cout&lt;&lt;"已发送成功!"&lt;<ENDL;
1 v& ?) ^/ V7 j0 _  else
7 w3 C" `0 X; v   cout&lt;&lt;"未发送,失败!"&lt;<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