下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2408|回复: 29
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-6-15 20:33:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊
7 y( g, j$ w1 |1 Z#include<IOSTREAM.H>* ^1 O+ p; F- y! K
#include<STDLIB.H>2 l% ?( L% s) Y0 @( H
#include<STRING.H>
5 K- ^& M3 i1 F#define CRC 5
  X- _& \# }* H" Z' Q+ ]  M5 Achar data[5]={'1','1','0','0','1'};7 l- I4 x" |, X! S( I* d
class Checkout( @6 Y( F3 D5 P% b
{: k% V4 e) q3 c9 w( R
private:
4 e/ O0 P/ Y5 v0 y9 ]$ Mchar ax[50];
+ L0 B$ Z. K0 lchar bx[4];
9 ]# s2 y7 H3 R2 n6 R) }int x;
0 y1 ?  z8 C! a& Wpublic:
% Y0 Z7 I5 [6 v) `int length;/ X$ X% m  F5 c; \5 _
Checkout(): L8 |, B. z* V5 B- X2 y* F
{  7 t/ ~* |8 j4 Y! U+ L( x
  cin&gt;&gt;ax;
. R9 O+ l! A# x; R6 N" Y+ m  length=strlen(ax);* p7 S( }+ }0 F4 C
}
2 y& w& F) i" {7 x/ bvoid cxc();
: k6 G, X* l. @: vbool qyu();
8 p+ }1 Y) b) ~6 |" n( uvoid add();6 v6 J3 ?" f: q' d
};
3 o/ c* M" H( Avoid Checkout::cxc()
9 @* S, ?0 Q! m* M' a{8 o$ J( V( {: M; Q: n" W
for(int i=0;i&lt;4;i++){! J3 l: T+ S3 s
  ax[length+i]='0';3 A2 W# S2 j" `" S" q5 j8 t# i5 v" r
}
' M1 {: W7 q! n, f/ J}//将输入序列后加4个0' X6 k' ~1 x& b8 x9 w
bool Checkout::qyu(). m& W0 X9 J& n# `! [0 n2 M
{! J1 s' P& B/ a1 S4 o/ w
char c[5];/ B2 V! Y) H- p% z3 J+ Y: ?0 N
int i,j,n;) L6 O2 q6 n/ X* n5 }  W" W5 |) b
int m=5;  T( k! P' Y. E; V+ e* v2 S0 C1 k
for(i=0;ax=='0';i++);+ ^! |4 ?2 i. p2 b8 u
  if(i==length)! N3 h# k: w; D5 l
  {cout&lt;&lt;"余式是0"&lt;<ENDL;9 Z' a( O7 R, `% t1 o
   cout&lt;&lt;"发送成功"&lt;<ENDL;+ H1 y) j3 e; Q* e
   exit(0);9 G9 x7 c$ [* j5 E" f/ |" S
  }8 f5 |+ E+ `4 a4 S0 ~6 B
else{
4 R6 D5 S( I+ @/ _3 J0 c* V. ]& Dfor(i=0;i&lt;5;i++)& [# S0 q: p* \) i" l7 U- g4 [- k
  c=ax;
2 Q) J! L8 \' Wwhile(m==CRC): J5 w" `* ^5 |; [/ `
{ for(j=0;j<CRC;J++). t! f4 i) x* \2 F
   {
8 V3 _# t2 K6 u/ s0 g                if(c[j]==data[j])
6 h+ n" k0 _5 R( R) \) A     c[j]='0';
9 Y! K) ?5 x8 Z( N* I: w* D    else6 r' ?4 @1 c& ?- u( e! P$ K/ V
     c[j]='1';
) `- l# }+ M' O2 Z   }
' i$ z6 @2 b) ?1 i* h     for(j=0;c[j]=='0';j++);
) S) ~/ Y* N  ~( |5 Y       n=j;
0 m9 B. n* S; D$ i& T( R     for(m=0;m<CRC-N;M++)7 s5 C" f5 f. L8 m! `
     {3 O2 B1 @3 @# f$ G# p4 Y0 t
    c[m]=c[j];
8 g2 H! ?6 T- J/ P$ f    j++;
& z3 m$ c; |3 @/ d. \   }/ I1 U/ ^7 t- u! w9 S( E) ?
           while(i<LENGTH&&M<5)0 {: Z( L1 |4 q& l2 U$ \, I, N
   {% N% V" ~; H7 Y1 f/ `
        c[m]=ax[i++]; ) U# }8 H9 t" z" r' Y, n% d
     m++;      
* Q9 M5 q% L  P7 p8 l$ k   }
. Z  ?& `1 g2 x" T}' w" o& r' v" j3 _
}( D6 M2 E7 ^8 R$ B) F8 ]- y
int k;. ?+ w0 F8 E3 y9 G1 \
for(k=0;k<M;K++)
7 X* m; j* Y, @: O9 H5 p4 ~* S  bx[k]=c[k];
+ q! {* Y( E5 p9 l  {0 K3 zfor(j=0;bx[j]=='0';j++);
$ ]: ?; }/ m# E0 _  if(j==m); v7 d9 J6 J% o7 M1 ]  w
  {cout&lt;&lt;'0'&lt;<ENDL;
. y7 C8 B0 M$ C$ X6 g/ O   x=0;# y  [% [, s0 G/ }
  return true;" ]: \4 j' x* n
  }! Y! w+ l: K5 Y) w) u: {( {( K6 T/ ^
  else
- q3 n- O4 }9 k4 g6 B+ [  {for(n=j;n<M;N++)
+ H; X, i; k! I8 t5 R     cout&lt;<BX[N];0 X% |9 M+ g2 h) b
  x=m-j;3 N# j" Z( U8 w" M" z
  cout&lt;<ENDL;
: m0 }- f9 {/ z9 p1 Q  return false;
6 N+ t" b5 `4 ~6 Z3 o: }5 X. H  }
% d$ u8 d2 m9 w& x}
7 l1 c2 q3 \" D* p/ }void Checkout::add()( U8 N4 m, G7 e5 n( x& v0 ?$ k6 A) j/ w
{
' Q# l0 h. Q1 y) c) Mint j=0;& m4 p+ J% t" y7 |4 S  N( \& S
  for(int i=length-x;i<LENGTH;I++)' y4 R2 u7 q3 Y3 ^0 l
    ax=bx[j++];9 E: i- r! M( n6 T: A' Q8 w* p2 j
  cout&lt;&lt;"发送的序列加上余数后变成:";
) ^. z7 K- W0 P( }: e4 {for(i=0;i<LENGTH;I++)' x9 I5 d7 I: R7 n3 |7 T
  cout&lt;<AX[I];
$ U) I6 c# o9 e. C* p& a cout&lt;<ENDL;
/ L0 }* c6 v) d  j}; I; \& A3 _5 }) {: F
void main()
& ~' `2 {$ Y. C& W* h5 Y1 |& K{  # `6 Y0 K5 ?- f& K1 k5 N# B
cout&lt;&lt;"本次实验模拟CRC校验,其生成多项式的比特序列是11001"&lt;<ENDL; : K- E" Q0 b. f# ~. Q
    cout&lt;&lt;"请输入发送数据比特序列:"&lt;<ENDL;
7 M( h- w4 q& m7 x" d6 P Checkout test;* S8 h+ F% w% D9 M/ H2 M6 G/ d
test.cxc();" x8 {0 I$ r* r! T9 @- Z2 K  K: P
  cout&lt;&lt;"余式比特序列是:";5 {# I2 Y' N1 Y+ b
  test.qyu();" \2 B) B0 w$ L3 s
  test.add();
, u) A; G6 s1 N/ R" Q/ h  cout&lt;&lt;"试试这次是否能被整除."&lt;<ENDL;
7 W3 i! I" o: d3 @( \* I" n9 y cout&lt;&lt;"新余数是:";5 `3 S# `: Q) y% K* S: r( D$ ~
  if(test.qyu())9 }; }$ A7 B+ ?7 e! z* J/ f' U
   cout&lt;&lt;"已发送成功!"&lt;<ENDL;, Y1 F  C' f' `+ [& e; S
  else
6 p, B! Q  A; v" G* ], m# k   cout&lt;&lt;"未发送,失败!"&lt;<ENDL;
, B. J& L# L& b% {}
* b- ]3 [' m! }& c, j
[此贴子已经被作者于2005-6-15 20:46:33编辑过]

5 H6 Z5 P  g  ?1 |2 b4 A( q9 s) i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2005-6-15 20:34:00 | 只看该作者
忘了呢,顶上先.来个人,帮帮他

该用户从未签到

3
发表于 2005-6-15 20:35:00 | 只看该作者
复杂

该用户从未签到

4
 楼主| 发表于 2005-6-15 20:37:00 | 只看该作者
HELP

该用户从未签到

5
发表于 2005-6-15 20:39:00 | 只看该作者
UP

该用户从未签到

6
发表于 2005-6-15 20:39:00 | 只看该作者
呵呵,等等,有人来的

该用户从未签到

7
发表于 2005-6-15 20:39:00 | 只看该作者
估计会的都不来

该用户从未签到

8
发表于 2005-6-15 20:40:00 | 只看该作者
完全看不懂

该用户从未签到

9
发表于 2005-6-15 20:42:00 | 只看该作者
<DIV class=quote><B>以下是引用<I>xushengsy</I>在2005-6-15 20:40:10的发言:</B>
. g$ \# s8 |. m; g# J+ V7 S( q完全看不懂</DIV>
+ o4 Z, e9 q+ H4 X. C1 {: t' H3 f9 L0 n, B
不是吧

该用户从未签到

10
 楼主| 发表于 2005-6-15 20:45:00 | 只看该作者
。。。。。。。。。。顶

该用户从未签到

11
发表于 2005-6-15 20:46:00 | 只看该作者
看天书也要比这个容易

该用户从未签到

12
 楼主| 发表于 2005-6-15 20:47:00 | 只看该作者
<>就是换个编法。。。。。性质一样的。。。。</P><>谁帮我改一下啊</P>

该用户从未签到

13
 楼主| 发表于 2005-6-15 20:51:00 | 只看该作者
<>就是换个编法。。。。。性质一样的。。。。</P><>谁帮我改一下啊</P>

该用户从未签到

14
发表于 2005-6-15 20:54:00 | 只看该作者
我还是友情支持下把

该用户从未签到

15
发表于 2005-6-15 20:55:00 | 只看该作者
<> 闪过...</P>

该用户从未签到

16
 楼主| 发表于 2005-6-15 21:24:00 | 只看该作者
  • TA的每日心情
    奋斗
    2018-5-4 03:27
  • 签到天数: 2 天

    [LV.1]初来乍到

    17
    发表于 2005-6-15 21:27:00 | 只看该作者
    天书啊 !!!

    该用户从未签到

    18
    发表于 2005-6-15 21:27:00 | 只看该作者
    姘头是什么意思啊

    该用户从未签到

    19
    发表于 2005-6-15 21:30:00 | 只看该作者
    <>嘿嘿</P><>偶也顶虽然我也知道怎么做</P>

    该用户从未签到

    20
     楼主| 发表于 2005-6-15 21:33:00 | 只看该作者
    <>楼上地大哥帮下忙啊</P>

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表