下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-6-15 20:33:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊* e1 i7 N/ f+ n
#include<IOSTREAM.H>0 G- D) g! p- k: p) D% [! M$ d  h
#include<STDLIB.H>
" V. a" I1 r7 b# k  ?5 [# G" ]#include<STRING.H>5 H+ |. n# S( z6 E! z
#define CRC 5  \; S7 V0 P. f. p5 O# S" a
char data[5]={'1','1','0','0','1'};
. ~$ S* x7 \8 U4 f7 v! _class Checkout; r$ ^9 a/ m  D% \, n' X
{" r5 _& g5 G* ?- c# j" J
private:# ^; p# X  c# B# B9 I& G
char ax[50];* _' U9 ?2 x; x: F
char bx[4];. w  a% {) o. k# r& M
int x;
' t2 w! y0 O; R/ S+ b! W: ppublic:
3 I  F9 S/ }/ g/ W( z7 jint length;
% f2 I8 X* G$ E# P, |$ sCheckout()! t1 l, m& y0 e! q3 F- B
{  
, q0 h% K. P+ t( B, q  cin&gt;&gt;ax;
4 D' x. R9 S* W) U% `  length=strlen(ax);
/ ?0 N5 ]. J: B4 w: t) w3 h}; i: W3 ^5 Z/ d- H8 d' `8 P
void cxc();
# r+ P: O% T! J: Obool qyu();( n9 a( W/ j, o; @* b
void add();7 x' d- ?: T4 {
};
* c7 I, ]( f7 T, Rvoid Checkout::cxc()
1 Q0 B: f. Q* V9 ]* G6 v{) ?  o3 ?" @* L% I
for(int i=0;i&lt;4;i++){
( q+ X8 o! R! I  ax[length+i]='0';
2 ]& C, u) ?1 ]7 }* O}
4 r5 r- O" S" G4 f}//将输入序列后加4个00 Q7 Y6 O/ J- {- n+ b" h; x
bool Checkout::qyu()
/ O0 A) c, n  p/ l, G( H0 t7 x{
. D+ \3 y# b" {1 schar c[5];: T3 y0 |0 Q# C, k  G6 }
int i,j,n;7 j5 z* x$ j% U  K
int m=5;
" w4 j. y: s: Afor(i=0;ax=='0';i++);
( J' J8 [8 i4 G1 ~* n  if(i==length)
) q- G6 K4 b0 t: @+ e7 h! j1 A  {cout&lt;&lt;"余式是0"&lt;<ENDL;( p5 U# m2 }7 s4 k
   cout&lt;&lt;"发送成功"&lt;<ENDL;0 E. n+ }0 Z; w9 H( R
   exit(0);
( \  N5 u) w( v5 D6 b& u  }7 j2 U. {" a2 V
else{
7 U5 t/ e" N0 L+ M1 P5 _for(i=0;i&lt;5;i++)
9 \2 g* R! }/ D* z  c=ax;5 x6 q8 @8 A  U  R) M' `% W$ H4 n% g$ R
while(m==CRC)
9 k2 G: w) J2 Z{ for(j=0;j<CRC;J++)
" A2 R( L. V3 j6 q2 ~2 ~- b1 G; u7 t   {
* [; s% ?0 e5 a# b, u                if(c[j]==data[j])( E0 ^1 g: V( B7 T
     c[j]='0';
! M; [, N/ i$ z: Q( B    else5 W' Y( W4 {, q7 g' s; c- [% o8 f3 S2 D
     c[j]='1';' {8 j1 o' a5 B) Q# y, K
   }4 Y9 k9 x; B, |$ D, P5 @9 ?
     for(j=0;c[j]=='0';j++);
9 i- s) Q+ @8 j3 i2 T6 `       n=j;
0 @) `3 k6 S1 }) z/ F* x5 e3 i# M/ `     for(m=0;m<CRC-N;M++)) W5 @- ?; h0 T
     {
# J, u5 j  m, C& y8 n  Q    c[m]=c[j];) q% d  R9 k' W9 j6 h' q
    j++;
7 F; C4 b" W, j8 R, c4 q/ D! s   }+ O0 o; Q5 E* f6 q* _
           while(i<LENGTH&&M<5). U% h  w# a9 |1 Y, [6 {
   {
; Z$ n( z! Q) r  Z4 G5 G        c[m]=ax[i++];
0 s* B( f) E1 W5 Y; X$ V; u5 |8 j     m++;      
) c$ _2 E  p5 b' _; k# V  P   }9 z/ l& B. r% A. d+ ^8 I; |
}' o2 o7 d( t0 @& z( F0 @
}
( q# [) i5 D; C3 Z6 ^$ @* B: vint k;
& _+ b9 ^4 j( j( Rfor(k=0;k<M;K++)
8 F" C' ^6 G% v4 d  \" o) Y- `  bx[k]=c[k];0 W2 x8 c, F; X  U
for(j=0;bx[j]=='0';j++);" u( ]+ g/ G( n
  if(j==m)* a+ j: h3 B8 P  N% v
  {cout&lt;&lt;'0'&lt;<ENDL;2 K! Y$ O) [+ Y' H4 H
   x=0;
( }! b) m) }% r* f$ H& m7 m  return true;; F/ K4 s! `3 j1 `
  }) n% [) J+ f( S5 ^; J
  else$ Y0 @6 O6 L+ m+ R. n# S( \0 m0 \
  {for(n=j;n<M;N++)1 `" `& d5 |2 {
     cout&lt;<BX[N];+ u! m. z4 l2 o/ p" T% p, G% ^2 A7 v
  x=m-j;
) v. |1 l$ ]3 o3 b2 k& W' C8 E  cout&lt;<ENDL;
1 y( t  h4 [. H" [% S* j  return false;6 e7 E* j! L' w; z1 f6 x
  }; e! E8 @7 ?. u/ A  g$ Q
}  _. l" y  l. i" }
void Checkout::add()
8 w* h5 C$ R) L{: I/ _+ a& b- Y* R5 z
int j=0;4 O7 `5 j/ g# f' g+ f- q
  for(int i=length-x;i<LENGTH;I++)
# I- g2 Q) w" H! e9 r: o/ r$ r    ax=bx[j++];
) q8 Z4 T- k3 l; ?3 M( w0 @  cout&lt;&lt;"发送的序列加上余数后变成:";, W% H5 _2 i: l
for(i=0;i<LENGTH;I++)3 j7 R  A$ P9 ~9 S9 f5 m
  cout&lt;<AX[I];
. J$ c! B, O# m5 z* L/ |% I6 k cout&lt;<ENDL;2 j7 Y, R3 {2 J
}" X0 }+ d' t. R5 n
void main()
5 G5 d& K! V- Z* E{  
! b) z+ o9 c# g; fcout&lt;&lt;"本次实验模拟CRC校验,其生成多项式的比特序列是11001"&lt;<ENDL;
# C6 }- m6 J( y. b* U! u    cout&lt;&lt;"请输入发送数据比特序列:"&lt;<ENDL;) W/ k5 K* q) `. R9 \
Checkout test;
8 ?2 C9 W1 K7 ~. w  wtest.cxc();
# N2 ]/ s& s% `7 a+ _- z, |5 c  cout&lt;&lt;"余式比特序列是:";; m! T1 h6 i* `
  test.qyu();
: }8 ~* }; z1 E4 T3 P* |- E  test.add();& _7 s' f1 B( N6 {) f) T3 r: y0 H& Z
  cout&lt;&lt;"试试这次是否能被整除."&lt;<ENDL;9 |* s6 |8 H% B- G# k
cout&lt;&lt;"新余数是:";+ `8 K+ S( T# Z& n  S: C
  if(test.qyu())' W) K; L# B4 b9 l
   cout&lt;&lt;"已发送成功!"&lt;<ENDL;+ b6 E$ p5 |( J- g
  else& X& ~8 Y6 E5 F
   cout&lt;&lt;"未发送,失败!"&lt;<ENDL;
7 l1 d  {! j. w( {' |9 |}; ~3 a+ L9 ]5 M, y  w* u3 ~
[此贴子已经被作者于2005-6-15 20:46:33编辑过]
$ I3 y' |3 a, X/ k
分享到:  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>0 d5 K0 d8 U+ I$ M
完全看不懂</DIV>
3 s$ |; j5 h7 ?6 Q
. l8 N& _: l$ G+ ?- i+ P, h$ Z不是吧

该用户从未签到

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

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