📄 polyoperate.cpp
字号:
#include "Polynomial.h"
#include "windows.h"
#include "string.h"
#include "conio.h"
#include "iostream.h"
//设置背景颜色和字体颜色
void SetColor(int clrText,int clrBack);
//改变输出颜色
void ChangeOutputColor(int clrText);
//动画显示文字
void AnimateOutput(char* s);
void main(void)
{
//设置标题
SetConsoleTitle("多项式加减乘系统");
//显示欢迎信息
MessageBox(NULL,"欢迎使用多项式加减乘系统!","热烈欢迎",MB_ICONINFORMATION);
int nFunID; //功能号
int nTextClrID; //字体颜色号
int nBackClrID; //背景颜色号
int nTOBID; //功能号
//默认设置
nFunID=1;
nTextClrID=2;
nBackClrID=0;
nTOBID=1;
char str[]="版本:1.0\n软件设计:陶善文\n所在单位:南京航空航天大学\nQQ:8261525\n个人主页:http://earth.prohosting.com/ahei\nEmail:ahei080210114@hotmail.com";
char* sResult;
Poly p1,p2;
CPolynomial* m_pPoly;
sResult=(char*)malloc(100);
bool bIsExit=false;
while(!bIsExit)
{
//设置颜色
SetColor(nTextClrID,0);
SetColor(0,nBackClrID);
//打印使用说明
cout<<"-----------------使用说明-----------------"<<endl;
cout<<" 1.多项式化简"<<endl;
cout<<" 2.多项式相加"<<endl;
cout<<" 3.多项式相减"<<endl;
cout<<" 4.多项式相乘"<<endl;
cout<<" 5.多项式打印"<<endl;
cout<<" 6.颜色设置"<<endl;
cout<<" 7.关于本系统"<<endl;
cout<<" 8.退出本系统"<<endl;
cout<<endl<<"请选择:";
cin>>nFunID;
switch(nFunID)
{
//----------------------多项式化简-------------------
case 1:
m_pPoly=new(CPolynomial);
cout<<"-----多项式化简-----"<<endl;
cout<<"请先输入要化简的多项式:"<<endl;
m_pPoly->CreatePoly(p1);
ChangeOutputColor(nTextClrID);
cout<<"你输入的多项式为:p(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
// AnimateOutput(sResult);
m_pPoly->ToBeEasy(p1);
cout<<"化简后的多项式为:p'(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
// AnimateOutput(sResult);
break;
//--------------------------------------------------
//------------------多项式相加----------------------
case 2:
cout<<"-----多项式相加-----"<<endl;
m_pPoly=new(CPolynomial);
cout<<"请先输入多项式A:"<<endl;
m_pPoly->CreatePoly(p1);
cout<<endl<<"请先输入多项式B:"<<endl;
m_pPoly->CreatePoly(p2);
ChangeOutputColor(nTextClrID);
cout<<"多项式A为:p1(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
cout<<"多项式B为:p2(x)=";
sResult=m_pPoly->PolyToSymbol(p2);
cout<<sResult<<endl;
// cout<<endl;
m_pPoly->AddPoly(p1,p2);
cout<<"多项式A与多项式B的和为:p'(x)=p1(x)+p2(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
break;
//------------------------------------------------
//-----------------多项式相减---------------------
case 3:
cout<<"-----多项式相减-----"<<endl;
m_pPoly=new(CPolynomial);
cout<<"请先输入多项式A:"<<endl;
m_pPoly->CreatePoly(p1);
cout<<endl<<"请先输入多项式B:"<<endl;
m_pPoly->CreatePoly(p2);
ChangeOutputColor(nTextClrID);
cout<<"多项式A为:p1(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
cout<<"多项式B为:p2(x)=";
sResult=m_pPoly->PolyToSymbol(p2);
cout<<sResult<<endl;
m_pPoly->SubtractPoly(p1,p2);
cout<<"多项式A与多项式B的差为:p'(x)=p1(x)-p2(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
break;
//------------------------------------------------------------------
//---------------------------多项式相乘----------------------
case 4:
cout<<"-----多项式相乘-----"<<endl;
m_pPoly=new(CPolynomial);
cout<<"请先输入多项式A:"<<endl;
m_pPoly->CreatePoly(p1);
cout<<"请先输入多项式B:"<<endl;
m_pPoly->CreatePoly(p2);
ChangeOutputColor(nTextClrID);
cout<<"多项式A为:p1(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
cout<<"多项式B为:p2(x)=";
sResult=m_pPoly->PolyToSymbol(p2);
cout<<sResult<<endl;
m_pPoly->MultiplyPoly(p1,p2);
m_pPoly->ToBeEasy(p1);
cout<<"多项式A与多项式B的积为:p'(x)=p1(x)*p2(x)=";
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
break;
//-----------------------------------------------------------
//--------------------多项式打印-----------------------------
case 5:
cout<<"-----多项式相减-----"<<endl;
m_pPoly=new(CPolynomial);
cout<<"请先输入要打印的多项式:"<<endl;
m_pPoly->CreatePoly(p1);
m_pPoly->ToBeEasy(p1);
ChangeOutputColor(nTextClrID);
cout<<"你要打印的多项式为:"<<endl;
sResult=m_pPoly->PolyToSymbol(p1);
cout<<sResult<<endl;
break;
//---------------------------------------------------
//--------------------颜色设置-----------------------
case 6:
cout<<" --------颜色设置--------"<<endl;
cout<<" 1.设置字体颜色"<<endl;
cout<<" 2.设置背景颜色"<<endl;
cout<<" 3.取消"<<endl;
cout<<"请选择:";
cin>>nTOBID;
switch(nTOBID)
{
case 1: //设置字体颜色
cout<<" ----设置字体颜色----"<<endl;
cout<<" 1.红色"<<endl;
cout<<" 2.绿色"<<endl;
cout<<" 3.蓝色"<<endl;
cout<<" 4.取消"<<endl;
cout<<"请选择:";
cin>>nTextClrID;
SetColor(nTextClrID,0);
break;
case 2: //设置背景颜色
cout<<" ----设置背景颜色----"<<endl;
cout<<" 1.红色"<<endl;
cout<<" 2.绿色"<<endl;
cout<<" 3.蓝色"<<endl;
cout<<" 4.取消"<<endl;
cout<<"请选择:";
cin>>nBackClrID;
SetColor(0,nBackClrID);
break;
default:
break;
}
break;
//--------------------颜色设置-----------------------
case 7:
//显示关于信息
MessageBox(NULL,str,"关于多项式加减乘系统",MB_ICONINFORMATION);
break;
case 8:
int ans=MessageBox(NULL,"你真的要退出吗?","退出系统",MB_ICONQUESTION | MB_YESNO);
if(ans==IDYES)
{
MessageBox(NULL,"谢谢使用本系统!","谢谢使用",MB_ICONINFORMATION);
exit(0);
}
break;
}
// if(m_pPoly)
// delete(m_pPoly);
// free(m_pPoly);
}
}
//设置颜色
void SetColor(int clrText,int clrBack)
{
HANDLE hStdOut;
hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
switch(clrText)
{
case 1:
clrText=FOREGROUND_RED;
break;
case 2:
clrText=FOREGROUND_GREEN;
break;
case 3:
clrText=FOREGROUND_BLUE;
break;
default:
clrText=0;
}
switch(clrBack)
{
case 1:
clrBack=BACKGROUND_RED;
break;
case 2:
clrBack=BACKGROUND_GREEN;
break;
case 3:
clrBack=BACKGROUND_BLUE;
break;
default:
clrBack=0;
}
if(clrText)
SetConsoleTextAttribute(hStdOut, clrText);
if(clrBack)
::SetConsoleTextAttribute(hStdOut,clrBack);
}
//改变输出颜色
void ChangeOutputColor(int clrText)
{
switch(clrText)
{
case 1:
SetColor(2,0);
break;
case 2:
SetColor(1,0);
break;
case 3:
SetColor(2,0);
break;
}
}
//动画显示文字
void AnimateOutput(char* s)
{
int nLen=strlen(s);
for(int i=0;i<nLen;i++)
{
cout<<*s++;
Sleep(100);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -