(6)计算器的仿真界面。
测试数据
第一组:
5x^8-3.1x^11+2x
11x^9-5x^8+7
第二组:
6x^-3-x+4.4x^2-1.2x^9
-6x^-3+5.4x^2-x^2+7.8x^15
第三组:
x+x^3
-x-x^3
第四组:
x+x^2+x^3
0
可以直接粘贴运行。
界面开发
设计思想
首先使用定义的两个函数get_coef()
和getNums()
将读入的字符串如6x^-3-x+4.4x^2-1.2x^9
,进行分割得到每一项的系数和指数,然后将其存入系数数组coefs[]
和指数数组expns[]
中。
在建立多项式的过程中,使用系数数组和指数数组进行多项式的建立。 使用C
扩充函数库 conio.h
中声明的一个函数gotoxy(int x, int y)
,利用它将光标移动到指定位置的功能,进行界面的显示和输出。
使用system("cls")
函数对程序进行清屏操作,利用此函数实现了程序的反复读入和输出。
界面参考大佬博客:一元稀疏多项式简单计算器 十分感谢。
内部数据结构代码自己实现,相比于网上的大多相关博客,代码简洁明了。
内部数据结构代码详解:一元稀疏多项式计算器 【 数据结构课设 】 仿真界面 + 代码详解
void goto_xy(int x, int y)
{
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = { x,y };
SetConsoleCursorPosition(hOut, pos);
}
void show(Polyn a, Polyn b, Polyn c)
{
goto_xy(0, 0); printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
goto_xy(0, 1); printf("┃ 一元稀疏多项式简单计算器 ┃\n");
goto_xy(0, 2); printf("┃━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━