实训C++语言设计——实现复数运算
2008-02-17 22:47
441 查看
平台: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;
}
.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++语言设计——实现复数运算
- 实训C++语言设计——Rational有理数的运算实现
- 实训C++语言设计——Rational有理数的运算实现
- 实训C++语言设计——Date日期系统实现
- 实训C++语言设计——Date日期系统实现
- 实训C++语言设计——Stack 栈运算
- 实训C++语言设计——Stack 栈运算
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- C# 实现 复数 运算 类
- 设计一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,例如某日期加上天数或减去天数
- 实训C++语言设计——继承与派生
- 实训C++语言设计——BookManage图书管理系统
- 实训C++语言设计——Student学生类设计、继承、重写
- 洗刷刷——实现复数运算中+运算符的重载
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- 复数四则运算-c++代码实现及运行实例结果
- 复数乘法运算(三次实数乘法)-c++代码实现及运行实例结果
- 用“+”、“-”能够实现复数的加减运算…
- 2---理解正余弦、复数求模、反正切和乘除运算的CORDIC算法实现
- 友元实现复数运算