现在的位置: 首页 > 综合 > 正文

实训C++语言设计——实现复数运算

2013年09月15日 ⁄ 综合 ⁄ 共 1589字 ⁄ 字号 评论关闭

平台: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;
}

抱歉!评论已关闭.