程序设计目标
- 利用C语言实现抽象数据类型(ADT)的方法C语言实现抽象数据类型(ADT),实现有理数数据类型。
- 使用整数表示有理数的分子和分母。运算结果显示化简后结果。
- 可以实现加减乘除和化简。
有理数库设计
rational.h
#ifndef RATIONAL_H
#define RATIONAL_H
//有理数库对外接口
struct RATIONAL;
typedef struct RATIONAL * PRATIONAL;
PRATIONAL create_rational(int fenzi, int fenmu);//创建有理数
void destroy_rational(PRATIONAL x);//销毁有理数
PRATIONAL plus(const PRATIONAL first, const PRATIONAL second);//有理数加法
PRATIONAL minus(const PRATIONAL first, const PRATIONAL second);//有理数减法
PRATIONAL multi(const PRATIONAL first, const PRATIONAL second);//有理数乘法
PRATIONAL div(const PRATIONAL first, const PRATIONAL second);//有理数除法
void simply(PRATIONAL x);//辗转相除法化简有理数
int get_fenzi(PRATIONAL x);
int get_fenmu(PRATIONAL x);
#endif
rantional.cpp
#include <iostream>
#include <cstdio>
#include "rational.h"
struct RATIONAL {
int fenzi, fenmu;};
PRATIONAL create_rational(int fenzi, int fenmu)
{
PRATIONAL p = new RATIONAL;
if (p == NULL){