隨筆 - 251  文章 - 504  trackbacks - 0
          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          本博客系個人收集材料及學(xué)習(xí)記錄之用,各類“大俠”勿擾!

          留言簿(14)

          隨筆分類

          收藏夾

          My Favorite Web Sites

          名Bloger

          非著名Bloger

          搜索

          •  

          積分與排名

          • 積分 - 202865
          • 排名 - 284

          最新評論

          [ 復(fù)數(shù) ADT 的描述 ]
            ADT complex{
              數(shù)據(jù)對象: D={ c1,c2   c1,c2 FloatSet }
              數(shù)據(jù)關(guān)系: R={ <c1,c2>   c1   c2    }
              基本操作:創(chuàng)建一個復(fù)數(shù)     creat(a);
                   輸出一個復(fù)數(shù)     outputc(a);
                   求兩個復(fù)數(shù)相加之和  add(a,b);
                   求兩個復(fù)數(shù)相減之差  sub(a,b);
                   求兩個復(fù)數(shù)相乘之積  chengji(a,b);
                   等等 ;
          } ADT complex;
          實現(xiàn)復(fù)數(shù) ADT 可以使用面向過程的程序設(shè)計方法,也可以用面向?qū)ο蟪绦蛟O(shè)計方法。
          [復(fù)數(shù)ADT實現(xiàn)的面向過程C語言源程序]-complex.h
          #include <stdio.h>
          #include <stdlib.h>
          typedef struct Complex
          {
          ?float?real;?
          ?float?image;
          }Complex;

          void CreatComplex(Complex& c,float a,float b);

          void AddComplex(Complex& sum,Complex c1,Complex c2 );

          void Subtract_C(Complex& Sub,Complex c1,Complex c2 );

          void Multiple_C(Complex& product,Complex c1,Complex c2 );

          void Print_C(Complex c);

          void CreatComplex(Complex& c,float a,float b)
          {
          ?c.real = a;
          ?c.image = b;
          }

          void AddComplex(Complex& sum,Complex c1,Complex c2)
          {
          ?sum.real = c1.real + c2.real ;
          ?sum.image = c1.image? + c2.image? ;
          }


          void? Subtract_C(Complex& Sub,Complex c1,Complex c2 )
          {
          ?Sub.real = c1.real -c2.real ;
          ?Sub.image = c1.image?- c2.image ;
          }

          void Multiple_C(Complex& product,Complex c1,Complex c2 )
          {
          ?product.real = c1.real * c2.real - c1.image * c2.image ;

          ?product.image = c1.real * c2.image + c1.image * c2.real ;
          }


          void Print_C(Complex c)
          {
          ?if (c.image == 0.0)
          ??printf("%5.2f\n",c.real );
          ?else
          ??printf("%5.2f+%5.2fi\n",c.real ,c.image );
          ?if(c.real==0.0)
          ??printf("%5.2fi\n",c.image);
          }
          complex.cpp代碼:
          #include "complex.h"
          #include <stdio.h>
          void main()
          {
          ?float a,b,c,d;
          ?Complex??c1,c2,sum,Sub,Prod;
          ?
          ?scanf("%f%f%f%f",&a,&b,&c,&d);
          ???
          ?CreatComplex(c1,a,b);
          ?
          ?Print_C(c1);

          ?CreatComplex(c2,c,d);
          ?Print_C(c2);

          ?AddComplex(sum,c1,c2);
          ?Print_C(sum);

          ?Subtract_C(Sub,c1,c2);
          ?Print_C(Sub);

          ?Multiple_C(Prod,c1,c2);
          ?Print_C(Prod);
          }

          posted on 2006-09-25 18:52 matthew 閱讀(3370) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計
          主站蜘蛛池模板: 高雄市| 沂水县| 朝阳市| 正阳县| 平安县| 灌阳县| 陕西省| 武安市| 庆安县| 自贡市| 呼图壁县| 兴城市| 客服| 洛南县| 雷山县| 永福县| 海伦市| 集贤县| 剑川县| 武穴市| 闻喜县| 永福县| 灵寿县| 清远市| 耒阳市| 新巴尔虎左旗| 元江| 淮安市| 玛纳斯县| 威海市| 哈巴河县| 黔东| 舒兰市| 菏泽市| 健康| 福泉市| 商南县| 黄龙县| 镇安县| 河池市| 宁陕县|