實訓C++語言設計——實現複數運算

來源:互聯網
上載者:User

平台:VC++ 2005 測試通過!
.vcproj
這是使用應用程式嚮導產生的 VC++ 項目的主專案檔案。
它包含產生該檔案的 Visual C++ 的版本資訊,以及有關使用應用程式嚮導選擇的平台、配置和項目功能的資訊。
StdAfx.h, StdAfx.cpp
這些檔案用於產生名為 twod.pch 的先行編譯頭 (PCH) 檔案和名為 StdAfx.obj 的先行編譯類型檔案。
這些都是使用應用程式嚮導產生的 VC++ 檔案故不列出
我只列出程式主要部分!

#include <iostream>
#include <vector>
#include <string>
using namespace std;

typedef struct {
   double  _real;
   double  _imag;  
} cpxNum;//定義複數類型的結構

/*複數類型介面函數的定義部分,
此部分對cpxNum類型的使用者公開*/
void assign(cpxNum& c, double r, double i);
void print(const cpxNum& c);
cpxNum cplus(const cpxNum& c1, const cpxNum& c2);
cpxNum cmilus(const cpxNum& c1, const cpxNum& c2);

/*複數類型介面函數的實現部分,
此部分 "不" 對cpxNum類型的使用者公開*/
void assign(cpxNum& c, double r, double i)
{
      c._real = r;
   c._imag = i;
}

void print(const cpxNum& c)
{
      cout << c._real;
   if ( c._imag >= 0 )
      cout <<"+"<<c._imag<<"i";
   else cout <<c._imag<<"i";
}

cpxNum cplus(const cpxNum& c1, const cpxNum& c2)
{
      cpxNum result;
   result._real = c1._real + c2._real;
   result._imag = c1._imag + c2._imag;
   return result;
}

cpxNum cmilus(const cpxNum& c1, const cpxNum& c2)
{
      cpxNum result;
   result._real = c1._real - c2._real;
   result._imag = c1._imag - c2._imag;
   return result;
}

 

// cpxNum.cpp : 定義控制台應用程式的進入點。
//

#include "stdafx.h"
#include "cpxNum.h"

int _tmain(int argc, _TCHAR* argv[])
{
 cpxNum c1, c2;
 double real, imag;
 cout <<"請輸入第一個複數的實部和虛部: ";
 cin >> real >>imag;
 assign(c1, real, imag);
 cout <<"您產生的第一個複數是:  ";
 print(c1);
 cout << endl <<"請輸入第二個複數的實部和虛部: ";
 cin >> real >>imag;
 assign(c2, real, imag);
 cout <<"您產生的第二個複數是:  ";
 print(c2);
 cout << endl;

 cout << "***********複數運算測試*************"<<endl;

 cout << "c1 + c2的結果是: ";  print(cplus(c1, c2));
 cout << endl;
    cout << "c1 - c2的結果是: ";   print(cmilus(c1, c2));
 cout << endl;

 cout << "***********複數運算測試結束*************"<<endl;
 
 return 0;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.