本项目是老师发的框架,自己简单填写了加、减、乘、求导、积分的部分代码。
目标效果:
加法:
减法和乘法与加法类似,就不贴结果图了。
求导:
积分:
下面贴几个主要页面:
1.Mutualplat.h页面:
#ifndef MUTUALPLAT_H_INCLUDED
#define MUTUALPLAT_H_INCLUDED
//
//应用的头文件
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "ds.h"
#include "Polynomial.h"
///
//输入函数:调用一元多项式的CreatPolyn()函数进行输入
void input (polynomial& P)
{
//1)输入第一个一元多项式各项
printf("\n输入一个一元多项式的各项系数和指数[当输入的系数和指数为:(0 0) 时,输入结束]\n");
CreatPolyn(P);
//打印输出一元多项式P1
PrintPolyn(P);
//输出一元多项式的项数
printf("一元多项式的项数: %d\n",PolynLength(P));
}
//运算方法清单
void CaculateMenu()
{
printf("\n选择你想进行的运算方法:\n[A](add),[S](substract),[M](multiply),[D](Derivative),[C](Calculus)---");
}
//输入运算命令
Status GetCommand(char& way)
{
printf("\n运算方法为:");
readM(way);
return OK;
}
//交互式运行平台
void run( )
{
char way;
polynomial P1;
polynomial P2;
//3)选择运算方法
CaculateMenu();
GetCommand(way);
switch(way)
{
case 'A' : //两个一元多项式的和
case 'a':
input(P1); //输入一元多项式的各项
input(P2);
AddPolyn(P1,P2);
//打印输出和
printf("打印输出和:\n");
PrintPolyn(P1);
break;
case 'S' : //两个一元多项式的差
case 's':
input(P1); //输入一元多项式的各项
input(P2);
SubtractPolyn(P1,P2);
//打印输出差
printf("打印输出差:\n");
PrintPolyn(P1);
break;
case 'M' : //两个一元多项式的积
case 'm':
input(P1); //输入一元多项式的各项
input(P2);
MultiplyPolyn(P1,P2);
//打印输出积
printf("打印输出积:\n");
PrintPolyn(P1);
break;
case 'D':
case 'd':
input(P1); //输入一元多项式的各项
Derivative(P1);
//打印输出导数
printf("打印输出 P1 导数: \n");
PrintPolyn(P1);
break;
case 'C':
case 'c':
input(P1); //输入一元多项式的各项
Calculus (P1);
//打印输出积分
printf("打印输出 P1 积分: \n");
PrintPolyn(P1);
break;
default:
printf("输入的运算方法错误:");
}
//销毁一元多项式
DestroyPolyn(P1);
}
#endif // MUTUALPLAT_H_INCLUDED