实训C++语言设计——实现复数运算
平臺: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;
}
總結
以上是生活随笔為你收集整理的实训C++语言设计——实现复数运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么一定要回家?因为我们是中国人
- 下一篇: Sun副总裁:绿色数据中心需分四步走