下沙论坛

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

QQ登录

QQ登录

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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-6-15 20:33:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我把这个CRC校验编程实现啊(就是换个编法)??万分感谢,帮我顶啊
7 ^2 r3 E, |4 n- X9 ?#include<IOSTREAM.H>- B: z4 C* H' d: y: S
#include<STDLIB.H>- O) Z2 R5 q* B9 w
#include<STRING.H>, U0 I) y; T# o
#define CRC 5
$ {4 L/ s* E4 D, Q' C* W( p4 D8 Bchar data[5]={'1','1','0','0','1'};2 u/ i/ G6 l' F% g0 T
class Checkout
1 X8 [2 |  T$ K7 F  |{" {# `# a6 f: |& j
private:
6 P1 G. u2 i9 [1 Y4 Cchar ax[50];8 f2 h3 [( V: ^( I
char bx[4];! o& ~1 ?; j0 s$ T' R1 E
int x;4 I+ X: n, Q: W; W( P
public:% _0 r& c0 M- r
int length;7 M! @+ L. K! u" K" ~
Checkout()$ L: m6 T% `, |" o, \
{  + a8 b* W5 z, r5 Y/ ~
  cin&gt;&gt;ax;
! d6 _4 k- r" M2 g: B  length=strlen(ax);0 n1 z3 b7 x* A( Y- p/ m2 ^! G2 }
}% _( H6 @$ w/ @  v: R" G, @
void cxc();  u: e2 p; r- g/ V0 Q9 f
bool qyu();) b: O  O- D$ V  q$ d# b" h1 C0 P- f
void add();/ j6 k1 j9 A& m
};) n  f. J* B6 k3 ?+ |. J
void Checkout::cxc()& E1 f  J3 i4 w* W1 w+ U4 E  n
{
1 M, `6 _) b. Pfor(int i=0;i&lt;4;i++){5 R2 U7 K- }6 a! h5 }
  ax[length+i]='0';6 w; E0 k+ j3 h
}# C9 Y% \, H1 s: p, X
}//将输入序列后加4个00 L3 b9 ^- U4 R8 }6 z
bool Checkout::qyu()
5 J% r- E- H# ~" m{
; S9 z& z  u6 }( @. R% c* _char c[5];
& `& H: s+ ?- M2 Kint i,j,n;8 l. m3 N# O1 D; j( K& D6 H: j- v
int m=5;
' h6 ?, |) X- G( B! efor(i=0;ax=='0';i++);" S( i1 f2 h& U: L
  if(i==length)
# l* m. C  L6 k  {cout&lt;&lt;"余式是0"&lt;<ENDL;
$ x2 E6 I4 n- X- |   cout&lt;&lt;"发送成功"&lt;<ENDL;
  D. y$ L3 m/ G. T% o7 ~9 B# R- c( o   exit(0);
) y  c2 G& r# a1 V# p) m$ X1 ?3 s  }
, t  D# ?1 F- T* ]2 R+ yelse{
& y/ t1 U, {+ L* I0 Gfor(i=0;i&lt;5;i++)+ n2 {0 O; i% v9 R. o
  c=ax;
& Q8 J7 p# S) R' Q. n  [& x( ?while(m==CRC)% v/ b' O2 s, L( K4 \: s
{ for(j=0;j<CRC;J++)
- F, s9 Z' y2 `: ~! S   {
; R) W6 ~* `+ w0 h$ _$ b                if(c[j]==data[j])
0 N( J9 G# [7 ~, V7 f3 j& t     c[j]='0';  m* h$ \, F1 c0 {& q. `2 O
    else1 d( X3 D$ k0 F* h/ G, w
     c[j]='1';
8 t1 p" l" C) O8 u   }/ t- a  Q& ]; t. M6 h0 A
     for(j=0;c[j]=='0';j++);* n6 I' A& W$ U0 @, s
       n=j;$ K/ H, d- y  p, x
     for(m=0;m<CRC-N;M++)
, T0 F* V6 f. V0 C* G- U     {
/ `; x0 A# G3 U    c[m]=c[j];( }. g) A+ @( z) {
    j++;
6 _# L- v3 l& l1 ^: E0 u   }
" S: F- B% v6 j( Z. l$ A3 D           while(i<LENGTH&&M<5)
7 W: E# a3 U( t* K   {
" ], F% b" J  [* H        c[m]=ax[i++];
+ {5 m) {. l" a7 h' J" W     m++;       ! I' {6 j2 {# y! Y
   }
5 [  i( J8 }8 d5 v0 ]% `. p}3 F, |8 U) ]; B0 ~; |% }
}
$ x; e# I) O' V5 o; O( yint k;& d' A6 {  i' }# j$ F% U
for(k=0;k<M;K++): a3 T- R- y( T1 N, u
  bx[k]=c[k];
# z3 R% D. o( B% I7 ]$ h8 ]for(j=0;bx[j]=='0';j++);7 \9 G0 j, X! D9 e4 \
  if(j==m)- `" F5 X2 ~) Y) p% t
  {cout&lt;&lt;'0'&lt;<ENDL;# X0 h% U$ p- }) o( [
   x=0;
1 }; q% Z) D4 w  return true;! T; B& I# L- y6 \
  }
" l' _8 ]7 ^2 O" O  else  K% ~- a) z" C/ T' E5 Y3 Z
  {for(n=j;n<M;N++)
# a" E; a  {& ?0 U2 [1 b; ?+ B     cout&lt;<BX[N];
3 S9 H* z- F* |8 u1 L8 j6 s  x=m-j;
, R4 K; [+ P, Z% l, |" @7 _# `, j  cout&lt;<ENDL;
5 f  n) E0 P" p/ G8 d9 p  return false;1 {+ n9 e) }; C: A$ {
  }  u% K0 v1 [( k& [
}
8 r# F3 `) U9 ]- E/ Gvoid Checkout::add()5 G9 \! S! k* X$ `
{
& D8 w  z& f7 i" I" a3 ~int j=0;
  _8 z1 n- d/ v( s+ O  for(int i=length-x;i<LENGTH;I++). y0 H9 D' p( t0 E
    ax=bx[j++];
- j% q- v# a" V: L* s( _& I  cout&lt;&lt;"发送的序列加上余数后变成:";$ I+ }& Y; |" O! s5 }
for(i=0;i<LENGTH;I++)  a6 w9 R, \$ H% s4 {) Y
  cout&lt;<AX[I];' n. H+ z8 p% D, e
cout&lt;<ENDL;. D9 c7 P+ O! o1 [
}
, ]$ V, z5 Y7 t! k- Hvoid main()- K% H& ]9 B6 j7 t0 k
{  
$ d. F9 z1 V6 ~: g; l6 _cout&lt;&lt;"本次实验模拟CRC校验,其生成多项式的比特序列是11001"&lt;<ENDL; 2 q+ V7 {/ R5 U  x
    cout&lt;&lt;"请输入发送数据比特序列:"&lt;<ENDL;( j. Z- }! V; \/ E3 v* m$ d
Checkout test;
* W# M6 L' }* T' g: e: t  vtest.cxc();# ^" e: ~0 {# r2 {# s2 d9 n1 ]3 b
  cout&lt;&lt;"余式比特序列是:";
* A( f% X9 s" n7 C  test.qyu();2 z1 V- _3 A, ?1 O
  test.add();# ?! G8 s, E& Y+ C7 F8 g8 K
  cout&lt;&lt;"试试这次是否能被整除."&lt;<ENDL;
+ `$ ?2 p7 d4 m- ? cout&lt;&lt;"新余数是:";
3 p! W% j* f* J! n/ x  H  if(test.qyu()), |% }, \8 j+ F' G
   cout&lt;&lt;"已发送成功!"&lt;<ENDL;
; p" D# I* z& a+ c. r  else$ |4 E' K/ a  r+ Z$ P; Q
   cout&lt;&lt;"未发送,失败!"&lt;<ENDL;
7 ~( e, J% K9 Z: l* j, ?}
" P" F9 y- o$ g9 y
[此贴子已经被作者于2005-6-15 20:46:33编辑过]
" {) x- _- \* x, |- f- a
分享到:  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>
; P! |& |5 e( v完全看不懂</DIV>8 ]# b+ T% t0 A6 A+ k* o, K

% _2 A# _) m7 T# R8 @+ n不是吧

该用户从未签到

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

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