SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3291|回复: 0

[原创] 测试联系题(一)c代码单元测试

[复制链接]
发表于 2012-7-5 13:39:45 | 显示全部楼层 |阅读模式
  1. #include <stdio.h>
    , H" {! s2 Q" B; E5 S% p2 Y
  2. #include <stdlib.h>* ~  I4 f2 g8 n3 G6 O3 v
  3. #include <errno.h>0 M; H3 i& B$ R. z! n) j
  4. #include <string.h>
    ( Q! x" m! K* W6 A1 z2 ^4 O
  5. - n: N# U# ~& d" A) A  X8 p
  6. typedef struct _GOOD_ST_0 k( N: i3 D5 i  i$ c
  7. {
    5 B  n6 y4 I( v: a6 D
  8.         //饮料结构体
    / R" P' t8 P7 U  M. I! i" u
  9.         char numNo;         //货号% @1 O$ f& t) l( w7 a
  10.         char name[16];        //名称% U6 W2 d3 L6 ]2 D
  11.         char sumKept;        //余量7 L, `* L4 p# v2 c
  12.         char sumSold;        //销量
    7 m0 g/ e3 ]6 n# i
  13. }Good_st;; b" d7 q9 n/ o/ i: t
  14. 5 i9 z1 N, f8 E1 E1 K7 W# ^
  15. typedef struct _VENDOR_ST_* }3 @/ Z2 _$ Y
  16. {" i. X( @2 r. q6 x& m
  17.         //售货机结构体4 Z7 K2 x/ @: E1 `) F
  18.         char coin5j;                //5角硬币
    - O1 q# l+ F/ D7 d
  19.         char coin1y;                //1元硬币0 z8 T9 {5 a# X2 C8 A( u
  20.         Good_st goods[8];        //饮料
    $ @( }: e3 V* R5 m9 n/ }( R
  21. }Verndor_st;! p* r8 D, e0 |6 @. F
  22. 8 U: m- ?5 [' P9 g
  23.   f# H9 ~5 M; m: B

  24. " O* w# @: z4 `* t5 ^1 U- }
  25. //定义一个全局变了 售货机/ g8 ^0 I0 T' n" Z7 }5 C! F! I. a# Z% M
  26. Verndor_st vendor;
    4 L3 D1 ~# t- |
  27. % o/ T- k* {  F" w5 g, Y( P
  28. //读取售货机的初始配置,返回0表示初始化成功,否不成功5 o6 S! X- W! h7 d. C' p( V. h3 C
  29. int readConfig();4 W7 T9 ~$ N( ~
  30. //显示欢迎信息  t$ Y4 V& u8 c) @
  31. void pWellom();
    " a0 p# y& W8 P& ?2 N6 B( {8 P( j
  32. //显示货物清单; b+ y; L% E: [! p' @$ g
  33. void pGoods();3 b  Y' p5 z: L+ x/ B, R; o, p7 l5 E
  34. //显示投币信息
    3 K! G, `& v  ?
  35. void pCoin();7 K1 H- |9 s+ r+ t" v
  36. //统计售货机中的货物数量,返回统计饮料输了
    % B. |4 T/ E: Y+ V& t+ _
  37. int countGoods();6 y! f( G4 _- V8 e, s; Q
  38. //显示取零钱
    ; S* \( R' e0 E
  39. void pGetChanges(int change);+ F7 x/ |  Q8 M7 c
  40. //显示取零钱( ^$ Q$ R. U7 Q* I& V6 o" X
  41. void pGetGood(int good);, \7 [4 d3 s+ Q1 H3 Y
  42. //结算,输出找零. i6 e  u0 A+ z) R5 I7 }1 u
  43. int checkout(int coin, int good);
    0 _; ]2 f7 G& a" v5 E' v. B
  44. //保存售货机配置
    1 S+ a+ C/ ^8 a
  45. int saveConfig();& x- U7 l2 @0 Z

  46. ' {* a( n+ w; |6 u, Q8 r

  47. . i4 E4 Y6 @' j! L

  48. : f6 S% B- g( e8 e" e- s' r
  49. int readConfig()- n6 i: l5 `  j: K9 i& K( j
  50. {0 r- c: _9 F6 D' s; c  `: _8 k
  51.         //读取售货机的初始配置9 k: e1 m, z1 c
  52.         FILE *stream=NULL;* c/ x7 |. w0 S7 z8 e
  53.         size_t num;
    - f) J: w5 t  ?1 ^3 }
  54.         int result=-1;
    4 r; D# _2 m* H' e# V# M" P) C1 @
  55.         stream=fopen("vendor.cfg","rb");" m2 z8 _1 j! k' z$ T5 y" O
  56.         if(NULL!=stream)/ I. N$ x* G! `$ p; R* U
  57.         {
    2 k/ R- ]& \& o" k
  58.                 num=fread((char*) &vendor, sizeof(char), sizeof(Verndor_st), stream);7 S  I. F# \, O$ c
  59.                 if(num==sizeof(Verndor_st))/ s% o3 v# t/ T- V. t% Y' W# E  ~
  60.                 {/ w, V, W4 I# |
  61.                         fclose(stream);( x/ k+ m" n6 e9 q; u
  62.                         result=0;6 H' j# s/ c; S. a
  63.                 }1 x! u  |9 l& H8 k7 H) \
  64.                 else) @; `9 Y. |5 i8 x: U
  65.                 {
    1 W: d& _6 P. O$ F) U
  66.                         printf("Error read the file vendor.cfg.%s\n", strerror(errno));( j0 x* ]. q( S2 M3 E9 P" [) `
  67.                         fclose(stream);$ [9 y' [) T% i3 t! u" K# ?
  68.                         result = -1;; y5 g9 F2 v3 B% t, ^- `
  69.                 }9 d7 `7 t* [! F  M. b
  70.         }
    + a+ {0 ~/ c3 i3 j6 q
  71.         else
    0 t: Q7 B# ]$ z/ |# U; ~
  72.         {; R; `4 F( O# s) m+ L) I
  73.                 printf("Open Config file vendor.cfg Error! %d-%s\n", errno, strerror(errno));7 X7 n* V/ A. P- F
  74.                 result = -1;% o# k! t  e+ b  c8 k4 j
  75.         }
    $ _' K& \' ^6 W2 j) u! C# P& i
  76.         return result;
    7 z1 y/ i: t: c" {# ~' d8 L
  77. }
    ! R: c7 }) T: C

  78. . ~  s: ~# A  w$ [' c

  79. 4 I- k! ?6 t. |: |; N
  80. void pWellom()
    3 s6 G2 I# A/ ?: V/ W6 d" P& Y( n
  81. {; e" M& M" S+ N" l
  82.         //显示欢迎信息! u& f: A. m/ P3 k2 n
  83.         system("cls");
    3 Y3 W4 f6 X5 ?
  84.         printf("\n=================欢迎使用自动售货机=================\n");3 R) D- r1 H' h6 S
  85.         printf("=================本机所有的货物都是5角\n");3 @  ^4 d# J8 T1 O0 K+ t$ Z  D
  86. }
    7 U! j5 {$ {' s* X* }
  87. ! ~$ [) _7 l+ |. S! J0 q
  88. 9 ^  `, S9 Y) n1 l! Y
  89. void pGoods()9 C$ a' Q$ ^7 C% Z
  90. {
    ( k, _+ N2 L/ r. g- F8 _
  91.         //显示货物清单
    , b3 D/ A. F" n$ y
  92.         int i;- T# a8 @* y1 I
  93.         system("cls");3 |& s' [* j' k; c
  94.         printf("\n====饮料清单=======================\n");
    ; M6 }# K+ X8 t
  95.         for(i=0;i<8;i++)8 ^! N0 k& c$ Y! y0 u  Z" s. w
  96.         {
    7 R7 X+ o& u5 Y# E1 i* V
  97.                 if(vendor.goods.numNo!=0 && vendor.goods.sumKept>0); z/ X" F+ [& D3 D0 ~
  98.                         printf("%d: %s  %d\n",vendor.goods.numNo,vendor.goods.name,vendor.goods.sumKept);3 S  R( f! n1 x, _6 }
  99.         }% c# J, h/ W2 f$ M* S( S  o
  100.         printf("\n====请选择饮料=======================\n");8 u! b/ P8 j7 W5 p, ^9 Q: X
  101. }
      \# t: g# B4 U" b* Y7 A6 K7 m2 {
  102.   m8 V! R9 a# @3 H( }( A
  103. void pCoin()4 }/ ~% e7 Z% o' d5 _- J
  104. {
    ' w( S8 G6 a/ X. C" U# Y
  105.         //显示投币信息5 A: F, o  c9 v* C) r) |
  106.         system("cls");
    & J2 h0 [/ `2 K" I2 U+ w) A8 L* I
  107.         printf("\n====本机器只接收5角和1元的硬币=======================\n");: e" e; O  m8 O9 i) l
  108.         printf("1: 5角\n");$ D, W" Y' ~8 Z/ `& Q- M/ E% r- N% f2 ]
  109.         printf("2: 1元\n");1 u& U, {, f3 h- u  Y6 I$ e
  110.         printf("\n====请投币=======================\n");
    0 [' X( J0 y9 q* L3 r. b
  111. }- `) a6 W; R# y

  112. . t+ G" r$ a' V
  113. int countGoods()
    & a/ q9 {& K: R( J. E- Q! N- k
  114. {
    4 T  {, U, B0 f6 r0 @3 L: M
  115.         //统计售货机中的货物数量
    ' |6 q9 H+ T* I; w
  116.         int j;* U* E/ V" \7 v# e3 H
  117.         int result=0;: q9 R; A% u3 W6 B- |# I! ^
  118.         for(j=0;j<8;j++)
    % N+ f4 [0 x2 E8 T9 P, d
  119.         {5 }; o$ C8 `( s+ f* _
  120.                 result+=vendor.goods[j].sumKept;8 N$ J4 ^, ]: ?" J# J3 x7 P
  121.         }
    ) n6 o8 V2 q/ K; z) V; s) N. t: O
  122.         return result;
    4 \8 H  o& V6 c# X: K" ^
  123. }
    9 k% r& X/ N) Y
  124. 2 Y, j3 f  ]% Q" ?
  125. void pGetChanges(int change)
    $ O. P# y4 q0 J0 g
  126. {( p' @& n4 B9 U, [- z: R
  127.         //显示取零钱
    5 i" X3 |( b  m6 |5 D8 ^$ M8 r" ?
  128.         system("cls");
    3 ?+ A, e% F) j$ @0 |/ d% L! H
  129.         if(change==2)/ o5 E7 k3 E, q; W; J* T& Z
  130.                 printf("\n====请取退款: 1元 ===============1========\n");& R; ]2 g. e( y% o, c% z
  131.         else
    - V) g- n) C% S
  132.                 printf("\n====请取零钱: 5角 ===============1========\n");* Z6 ~+ t0 O6 j+ A. j) y. S
  133. }8 X1 F: ?7 b' F. l. V4 s* V$ `+ {9 ?

  134. ' y. q2 {3 ~. a# E& r
  135. void pGetGood(int good)$ S# x, q. t3 b$ H* ], g; M" v$ j6 R
  136. {
    ! T/ g8 ^, F3 E3 `: o
  137.         //显示取零钱7 f- y2 p, g% P0 ^9 h. M
  138.         system("cls");$ S% \/ e* w. C% p4 ^( V3 p
  139.         printf("\n====请取饮料: %s =============1==========\n",vendor.goods[good-1].name);, `( `+ M: c7 m3 q
  140.         
    & r  `5 U. @. a/ z) W
  141. }" e7 L* B1 ^1 y2 i7 ]7 g
  142. + x+ {/ R3 N0 m- }, X. H
  143. int checkout(int coin, int good)
    ) v! }( O) z! @8 d8 p+ [- l
  144. {  j8 \$ X' f3 R- I
  145.         //结算
    / a) ^+ s( d+ S' x0 g7 k! l
  146.         //输出找零
    ! Z8 c  N, f# u! k4 a9 {1 `
  147.         int change=0;) C3 A: o7 D& u2 ?
  148.         if(coin==1)
    * P$ Z  g5 ^5 k- ]# {. I
  149.         {
    ( ^& i  }  f3 l; g* g4 J2 Z
  150.                 //5角/ y% |3 Y! y& P3 a: G7 G9 L
  151.                 vendor.coin5j+=1;2 I) T2 s& t) v& \, v& h
  152.         }
    ; @  _8 l, c& v% k
  153.         if(coin==2)! |+ U( v! d& I# m/ {
  154.         {
      b3 B1 i+ n" d9 b7 n/ K3 W
  155.                 //1元
    ( m7 C' I* u) K; _6 I
  156.                 vendor.coin1y+=1;5 @7 [: R8 v6 O1 i" [0 v+ B
  157.                 vendor.coin5j-=1;
    $ k/ ^; |' s* ?: J& Q
  158.                 change=1;        //5角零钱
    & e. z6 {) |5 J" P
  159.         }
    8 [. B! K, C. H& \5 _9 c2 q
  160. + n, a) A' i* }/ N! j0 e4 ^
  161.         //出货
      T- f3 `& D, O
  162.         vendor.goods[good-1].sumKept-=1;
    * z" m0 l: X. @/ S5 ?- @4 O
  163.         vendor.goods[good-1].sumSold+=1;        
    4 R, `! D" i6 r

  164. 0 T% j" V; M& v( Y
  165. ) @/ ~* K; U" p% B/ j* h+ S
  166.         return change;0 M7 t8 J1 d: X8 m) C$ _/ i
  167. }
    2 K( U+ b" S7 X& O1 m$ J& p
  168. . _3 V. M/ R, d

  169. - @- C9 s6 x, y
  170. int saveConfig()
    + A% ~$ n5 l) T' S, R" A  C' K( E8 l
  171. {; W1 ?$ R" V2 {
  172.         //保存售货机配置$ P- n( v( |: r6 L% g
  173.         int result;0 C, n( i- j) s6 T- P* V) N
  174.         FILE *stream;
    ! k6 `8 r; q" w9 ?4 V3 v
  175.         size_t num;
    1 m  c7 p5 G& Z$ I) p# ?# p2 E. H
  176.         stream=fopen("vendor.cfg","wb");
    : q& _9 \& b2 ]- w/ M8 U
  177.         if(NULL!=stream)8 @; i( P' e$ U0 U5 N
  178.         {
    5 [. }& v# ~9 \
  179.                 num=fwrite((char*) &vendor, sizeof(char), sizeof(Verndor_st), stream);
    3 d  E) i" t5 M# m) f+ Q5 w
  180.                 if(num==sizeof(Verndor_st))
    * C8 c5 d- e- d0 K' @3 \
  181.                 {  A9 p7 `6 {7 B1 J
  182.                         printf("\nwrite %d bytes to the file vendor.cfg ok!\n", num);) w& V* T% m' I" ^
  183.                         fclose(stream);
    2 g: H, l# {' C% P
  184.                         result=0;
    + H9 U1 S# E: d6 _( l
  185.                 }$ G9 \* ?4 J) M
  186.                 else# F$ y/ s% `% b' ?/ v% r
  187.                 {; z1 W6 n9 W# b# q8 c  t6 n
  188.                         printf("Error writing to the file vendor.cfg.\n");
    ( H* v$ m6 Q* u6 [3 k3 u; H' l
  189.                         printf("\nWrite %d bytes to the file vendor.cfg ......\n", num);
    / a: f+ C, V6 f' ~
  190.                         fclose(stream);
    + E5 s1 i6 [/ d% ^- {5 M
  191.                         result = -1;
    3 U7 J9 _5 m$ W6 d
  192.                 }
    1 b: h  K# C8 ~" u" I
  193.         }
      @( H/ v, A% y
  194.         else# t  Q, u9 L* H& f& I. @3 f
  195.         {
    2 v5 t6 s9 e6 F* a( T
  196.                 printf("Open Config file vendor.cfg Error! \n");% I, v9 Q/ f: s3 _2 E
  197.                 result = -1;2 e- w, Y# T3 F
  198.         }
    4 @: C5 ^" c: N( p6 F* m" X# _' P
  199.         return result;. z5 c( z- P2 [9 l5 E) b: Y
  200. }
    % _8 w. E8 D+ \# |! O$ y7 y
  201. & o: z( O& A1 E& V
  202. & _" m! a& Z! ]" ~7 I% W
  203. int main()
    - t+ q* v: i, {% I, A" d
  204. {- C7 C6 U/ i$ Z9 B# F! k" y4 [# w
  205.         int change=0;        //找零0:不找;1:5角;2:1元# v6 }# k8 ~# `; _1 ?5 s
  206.         int coin=0;                //投币选择0:没有投;1:5角,2:1元
    0 q/ c4 |& v2 P( b' G8 l
  207.         int good=0;                //饮料选择0:没有选择;1:啤酒,2:橙汁
    : h. J! R" w, P0 e" c/ q
  208.         int sumGood=0;        //货物剩余量
    . Q5 u  a0 i( o( D# |  R
  209.         int getcoin=0;        //取零钱,1:取了
    2 C$ Q# W" K0 n
  210.         int getgood=0;        //去饮料,1:取了+ D% n" @8 i, t, ], p
  211. 3 u  s! x; w- r8 S5 x* o* f

  212. % Z, j6 S+ B) }4 M3 {4 F; `2 L
  213.         if(readConfig()==0)
    ) u' b# Z# F- [, H* S
  214.         {) _) o; @: Y% U0 N
  215.                 //欢迎* O6 i* \* D5 A2 ?& ]# s
  216.                 pWellom();. W4 L2 p* z& S. o
  217.                 sumGood=countGoods();
    $ `) o) s1 T( U# l  C, z
  218.                 if(sumGood<=0)+ K  c0 U' |9 M6 m) ~# y
  219.                 {        //判断饮料是否卖完了7 j( F5 \# h0 K1 c$ |+ v9 z
  220.                         printf("\n饮料已经售完,本机暂停服务!!\n");+ E8 V' e3 E3 e& ]* ?( e
  221.                         //break;
    - o  G$ y; ?$ n( Q8 ^& n
  222.                 }  C+ K* x3 o. r  l
  223.                 else2 |# a  c! Z( V5 C$ G
  224.                 {- d8 G" G3 C' M  V9 T1 N( D
  225.                         while(sumGood>0)  K. |: u; Y- f3 a, G7 o4 q
  226.                         {
    ! W3 i$ W& x; f8 n) ?
  227.                                 if(vendor.coin5j==0). W, R% H9 R# U2 B4 J! ]4 ^
  228.                                 {//判断是否有零钱$ g( g! f4 V. Y. [6 U* s: c" w& Y
  229.                                         printf("\n本机没有零钱,请不要投大额硬币\n");5 D( F- ^9 u3 M
  230.                                 }
    % D/ H2 S9 a; O, h* [/ D. o$ w( T4 B* b
  231.                                 
    5 G, L1 G+ S; r" U; ~$ b; o7 B
  232.                                 //投币+ A; V% Y0 N2 o
  233.                                 while(coin!=49 && coin!=50)
    ( H8 F8 c7 p; i! c
  234.                                 {
    / l( f$ _. @2 c4 T0 w5 E6 I3 x  C7 ]
  235.                                         //提示投币  ?% V' K3 S& f0 B3 q
  236.                                         pCoin();4 M/ i- |- R. U: `, e
  237.                                         coin=getch();  O/ i- R. ~) D/ N% q
  238.                                         //printf("coin=%d\n",coin);
    3 C- }! @$ b9 ?, C( X: ~# n6 m
  239.                                 }
    , {, X0 {5 i6 u
  240.                                 
      k9 r* Z2 p6 Y8 c; z" m" t# j
  241.                                 //如果没有零钱,且投入的是1元,则直接退钱) C; J5 S- ]( B0 [
  242.                                 if(coin==50 && vendor.coin5j==0)
    " L+ l' x( ~7 ^! G8 I
  243.                                 {- i5 V9 o% R" W1 O2 u: E: J
  244.                                         change=2;, s: T+ z/ Y! b+ j' B, k: G
  245.                                         //退钱
    8 j% E3 ^# y6 _
  246.                                         while(getcoin!=49)
    8 V4 o3 C6 I  Z/ L; a( t
  247.                                         {
    7 {3 [( X& J) r, T" U5 I; L
  248.                                                 pGetChanges(change);
    - ]$ W0 C) B' h9 q# w
  249.                                                 getcoin=getch();
    4 d+ t! l( \6 |" K; u
  250.                                         }
    ; Z' S, g' A& v) h
  251.                                 }
    " u' e! O# b0 o( G- l, c4 D7 a) }
  252.                                 else5 Y8 G* x: X9 i  o' L8 E
  253.                                 {
    4 w6 @, n3 A: J+ ]
  254.                                         //选饮料
    . f$ @2 `/ E& i
  255.                                         while(good!=49 && good!=50)
    , y6 d% z3 `4 W7 P1 @, b
  256.                                         {
    & f# ?, i& z! g
  257.                                                 //提示选择饮料
    , Z3 k* ~" \1 K8 A: T/ O) ^
  258.                                                 pGoods();                                                ( T  n. N9 f4 p6 u9 U& k5 N1 z
  259.                                                 good=getch();
    . @" @3 h% I0 ^7 q3 F0 L( ~3 ?0 Z
  260.                                                 //printf("good=%d\n",good);
    5 T  T! W8 T0 w, v
  261.                                                 //printf("coin=%d\n",coin);6 g: L( `3 g9 v0 `
  262.                                                 if(good==49 || good==50)
    / [6 f2 p+ Q8 a# e$ U# _
  263.                                                 {+ C2 b) u. @$ `. J
  264.                                                         if(vendor.goods[good-49].sumKept<=0)) j& _6 n1 p1 n4 C/ Q
  265.                                                         {- w% h: V& F: M) H: [% b
  266.                                                                 good=0;
    & D7 |0 q( k8 x8 Q! r. P
  267.                                                         }3 ]8 E7 c/ u. t7 z
  268.                                                 }
    / Q2 v! X7 b0 H+ U( [- A
  269.                                        
    ' M0 ~7 @# `: _& f0 i
  270.                                         }, T' M! _: w: `, E0 P
  271. , n( Q/ w/ I- R& e/ C4 ]; H9 l% L, O( V
  272.                                         //结算$ L1 S' W# G, S# f$ l; Q( N
  273.                                         change=checkout(coin-48,good-48);' Q3 w( o8 ]1 p; M  X3 ^
  274.                                         if(change>0): I% @/ ^4 c$ p% Q3 E2 R
  275.                                         {//找零, P4 S" O/ ]  f( R% a. N9 ^! n+ B
  276.                                                 while(getcoin!=49)# |& }7 N4 K, E; d8 A
  277.                                                 {
    " {4 Z$ u8 A# N4 I
  278.                                                         pGetChanges(change);
    1 y% w1 b' [5 ]( d
  279.                                                         getcoin=getch();
    ) n- b4 [! ], r6 s! O) A% _5 k6 u0 L
  280.                                                 }& {0 N# ]: g; h2 J* g
  281.                                         }2 H" i5 A- E7 I8 w' y: @' n
  282.                                         while(getgood!=49)6 ]5 ~0 I2 X7 E3 }! S' ^& n
  283.                                         {+ V& f: k' a1 [. r1 F; G( b
  284.                                                 //出饮料
    9 o% _2 u- w' O6 z6 S4 o
  285.                                                 pGetGood(good-48);/ X! W- h2 a# q% |" e
  286.                                                 getgood=getch();
    2 F& j4 _# T; h; y7 o
  287.                                         }( J3 E$ K, A6 {$ ^0 J, b/ C/ ~
  288.                                 }: a$ j  ]3 B  i  i, }3 P2 |9 X
  289.                                 //重新开始* v  ^) c: h5 `. z+ H) b. y
  290.                                 change=0;
    8 v* j" Z( W3 P# M" h5 |
  291.                                 coin=0;        4 O- R4 C+ a5 K8 L, k: C
  292.                                 good=0;        
    , n1 X9 n& Y6 W$ d2 V( w/ O% P
  293.                                 getcoin=0;
    3 ?* n# |: Y& n' x6 L1 `* P
  294.                                 getgood=0;) Z# U6 w) [! |- d1 m; [8 [. s
  295.                                 sumGood=countGoods();
    + ]( `; r# R+ |0 |4 D0 Y. }- v
  296.                         }3 ]' `- W/ e4 |9 N2 i/ J
  297.                 }
    : K+ a7 Q, B) t; Z( r; I0 M8 B
  298.         }0 t. f* y7 V  J2 y/ ^
  299.         else- ]5 W2 T- c# ]0 V
  300.         {3 A2 W# e* N0 @4 _: n! {
  301.                 printf("售货机系统退出了");! f; X5 D9 Q5 F0 e( ]" k
  302.                 printf("。。。。3秒后退出。。。。");* p1 i! k, z- J4 i
  303.         //        sleep(3);
    - Q7 z! ^# R7 r* J8 z' W, w6 H/ m
  304.                 system("cls");6 U7 }# p& _+ `" a
  305.         }# r/ v: b  L( t

  306. * Q/ i9 r* q9 O) e. E
  307.         return 0;
    . A' h* d. H$ l1 U* d/ L' U

  308. 1 ?$ R& [1 d8 F6 u0 l
复制代码
这是我写的一个模拟自动售货机的c代码。有兴趣的同学可以用来练习测试。如:使用RTRT来做单元测试,逻辑覆盖,代码走读等。( M- J0 h3 X0 E6 j3 Q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2019-10-22 06:16 , Processed in 0.069978 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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