下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-6-15 20:33:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊9 [0 _1 [, v9 @; E! Q' o8 n
#include<IOSTREAM.H>
, Z- ]2 J1 y( B#include<STDLIB.H>4 I' w; |. J1 J9 c  t  W6 s
#include<STRING.H>' a9 n- B1 T% s6 H& k6 \5 w, e
#define CRC 54 l  n4 @/ D& M" i0 y" Q
char data[5]={'1','1','0','0','1'};
( g  x% S5 v' }8 u7 h+ J3 Jclass Checkout
, B5 u! v1 I( m4 d9 C{5 V4 y! A0 d" r9 {* m
private:9 n, ], L3 F8 O2 ^- I' c. i
char ax[50];  F8 Y, C1 `. j8 f
char bx[4];' W/ o% P6 p5 {# I) A
int x;
+ t% H1 D$ M( v: C- b' t& q0 zpublic:: \- q3 m7 l# i& R3 n4 H
int length;
9 X0 O4 u$ n! J' U6 dCheckout()0 ^! A4 R, I) @/ q
{  ) o8 n0 d7 o# n4 h: K/ V
  cin&gt;&gt;ax;
9 Q9 b6 N9 b2 P3 T7 V  length=strlen(ax);" d3 A. l7 S# @* w
}
$ z3 U% a( r" e# ovoid cxc();& d8 g# {; h& N* \% C0 U
bool qyu();
, M3 e# F( i  ]) h9 Gvoid add();  W/ W! I% d: B8 j
};2 Z4 T  F9 c$ l5 |( K. B9 Y% X# T
void Checkout::cxc()
& _7 I+ J& r% |( i9 z/ e% [{
" `) _$ p# {' u/ b" Nfor(int i=0;i&lt;4;i++){& P) R: r# O2 k
  ax[length+i]='0';/ |5 Y& u/ X! ]" t! @
}$ m6 c, ]: x! |
}//将输入序列后加4个0
; ^& |  ^/ V1 p5 K* l9 I" pbool Checkout::qyu()9 d, {- {3 W, X" w8 |1 {
{
( a( j. L( M5 s8 F2 C! ^- Achar c[5];/ F. Q8 J/ D6 l/ ~7 P
int i,j,n;
# S. w- |+ E9 D; A9 i. eint m=5;
- Z( ]4 f; W0 [$ T/ m7 Cfor(i=0;ax=='0';i++);
. m! I: u5 B) m% w6 j  if(i==length)
0 |; V/ g& q( R/ u1 W  {cout&lt;&lt;"余式是0"&lt;<ENDL;
% z1 Q* `. E0 U   cout&lt;&lt;"发送成功"&lt;<ENDL;7 S: `% ]- q# _5 r% ]8 v* f
   exit(0);0 ~: j+ S1 O4 B9 R
  }
# g% |% x' s5 I7 z; I! I0 celse{6 ^* P8 D- ?  d8 Y# H
for(i=0;i&lt;5;i++)$ W6 U' J: z) t! W( w, _: h) k
  c=ax;  j$ C/ ~* a9 W. e; `
while(m==CRC)+ N& I/ C$ d4 e  Z# t+ m
{ for(j=0;j<CRC;J++)
/ i: J: x2 Y6 B: S   {
  O  n, |  F* \& ]; I' E                if(c[j]==data[j])
  [$ v; K- D' W2 F/ l     c[j]='0';3 _! B) y' Z5 n) K9 D
    else4 h3 ?/ r* ^5 S, j( t* e% V
     c[j]='1';2 d$ d" F+ F1 u1 d, t
   }
0 n4 S; q. a* ~2 G& {. o     for(j=0;c[j]=='0';j++);: l3 l; e2 F4 e0 i- v
       n=j;
. G$ t9 D% d3 e0 M- I     for(m=0;m<CRC-N;M++), U  x+ G( y7 |/ F! |1 l
     {1 L. N( Y1 h3 U3 ?+ H% u% I0 D
    c[m]=c[j];
! E9 g1 x4 c, b/ `8 K" W* \. `5 _    j++;8 N0 B! h% H  K
   }3 z3 q' O- m9 Z: L/ ?4 e$ z; u$ r& P
           while(i<LENGTH&&M<5)
) F7 }( z9 ]3 P- t0 h   {5 t/ H/ y' y; d
        c[m]=ax[i++];
0 o7 Z1 J. F8 M& x& ]6 C     m++;      
  E% c/ F5 y) Y; ~  I# O5 ?   }" q) q6 ^+ K  J$ E
}
$ @) }( Y$ l, _/ u8 F! S}7 p$ W; L+ W9 i9 C
int k;* E# Z- v' T: X1 |+ L
for(k=0;k<M;K++)) \( R8 \! W$ H# o$ b" x8 i7 w0 R
  bx[k]=c[k];8 \( V$ e+ i; x1 d8 z
for(j=0;bx[j]=='0';j++);" F4 Y$ ]) f) j8 l
  if(j==m)% k) X; u) Y! A; @% N* N) y
  {cout&lt;&lt;'0'&lt;<ENDL;
7 c3 ?/ O, T( \6 J3 s$ R& B1 @   x=0;
5 C6 u, h: W6 a9 V; d# y- m  return true;
  z& ]. ^0 O; y5 s* s0 t- [( `  }
' \( G2 y) t5 Q  else* T2 z/ z' p: v! K
  {for(n=j;n<M;N++)# l8 d4 ]2 U# ~7 I
     cout&lt;<BX[N];
7 j5 B7 a& g" T- R& b' G  x=m-j;
- K+ k  }0 E/ x2 \3 `0 B, g  cout&lt;<ENDL;
$ o% M0 G$ b! R$ ]5 H  return false;  J6 L( r- R1 h0 A/ `* `6 Y
  }  L6 |) g3 V4 V
}4 q1 \+ k) }& |9 i; W* ~
void Checkout::add()
7 o" R/ }4 c( b  M{
, T2 {  ~# H; `* f& n  u, fint j=0;
" J; L- `1 K) ~  for(int i=length-x;i<LENGTH;I++)
# ?9 C) h9 J, w' C3 [3 Z    ax=bx[j++];
- _, i6 h  S1 }2 }3 {2 C! |( J  cout&lt;&lt;"发送的序列加上余数后变成:";
$ r- l+ G/ j6 ^# O& d9 Ifor(i=0;i<LENGTH;I++)
. L. t( m  N  D+ k; l! o  cout&lt;<AX[I];
" j1 J+ b/ [( a9 w5 H$ s cout&lt;<ENDL;
+ l4 t, M4 O* H1 E2 U2 s}8 o4 J3 j* ^/ W/ B4 b
void main()
, ?( B2 `) S5 j. Z; U3 n+ S{  
( U8 V) K% P0 ?* L' t# `; C5 w/ scout&lt;&lt;"本次实验模拟CRC校验,其生成多项式的比特序列是11001"&lt;<ENDL;
% t$ V1 m9 t& `% t    cout&lt;&lt;"请输入发送数据比特序列:"&lt;<ENDL;$ c5 A! a- x) l  f3 I
Checkout test;7 q9 W1 C9 E5 H0 h
test.cxc();+ s1 l+ Y+ ?; s. P. }0 v$ _* b2 Y" D
  cout&lt;&lt;"余式比特序列是:";
, c8 n. g6 P, _; ]  test.qyu();+ P" x2 s" e3 B# Y1 X
  test.add();
, S5 V6 [0 [$ E) n. ]  cout&lt;&lt;"试试这次是否能被整除."&lt;<ENDL;7 @+ O) s% D' I$ e
cout&lt;&lt;"新余数是:";
2 `* U( n1 @, B  if(test.qyu())7 J5 M# x; q! G# |4 p6 ]$ ?4 F. L
   cout&lt;&lt;"已发送成功!"&lt;<ENDL;/ o8 @8 m8 l9 U! b
  else
6 {6 I% v1 _! h4 }   cout&lt;&lt;"未发送,失败!"&lt;<ENDL;6 {' ~2 ~$ {* [& [5 \  o3 u
}( {  ]; k  W( c) X- g) P5 E
[此贴子已经被作者于2005-6-15 20:46:33编辑过]

% M" V7 r4 ?" u- V3 u# o
分享到:  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>
1 Z: V6 [' T8 U3 i0 I0 {完全看不懂</DIV>
: t2 Q( \  q1 J1 t
; d; ^' N( p' K不是吧

该用户从未签到

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 下一条

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