绘图程序的问题
Problems with graphing program
#include <iostream>
using namespace std;
#define CHANGE 0.5
#define YMAX (yourterminallength/(2*(1/CHANGE)))
#define YMIN (-yourterminallength/(2*(1/CHANGE)))
#define XMAX (yourterminalwidth/(2*(1/CHANGE)))
#define XMIN (-yourterminalwidth/(2*(1/CHANGE)))
int main()
{
float m,b,y,x,c;
cout << "Intervals:" << CHANGE << " tYMAX: " << YMAX << "tYMIN: " << YMIN << "tXMAX: " << XMAX << "tXMIN: " << XMIN;
cout << "nEnter any key to continue...";
cout << "nEnter a linear equation in slope-intercept form: y = Mx + B";
cout << "nM=";
cin >> m;
cout << "B=";
cin >> b;
c=YMAX;
while(c>YMIN)
{
x=XMIN;
while(x<XMAX)
{
if(c==0)
{
if(x==0)
cout << char(197);
else
cout << char(196);
}
else if(x==0)
cout << char(179);
else if((m*x+b)==c)
cout << char(254);
else
cout << char(176);
x+=CHANGE;
}
c-=CHANGE;
}
return 0;
}
该程序旨在绘制简单的线性方程。它在我的Windows计算机上运行良好,我只是制作了一个副本以在我的Ubuntu操作系统上运行,但结果看起来很有趣。我知道我没有提供太多信息,但我不知道这有什么问题。
-
首先,您可以使用环境变量来获取终端的列/行。
否则,请确保添加换行符,因为终端模拟器现在通常不再进行换行(?
-
现在,真正的问题似乎是使用
float
比较。像这样的一行
if (c==0)
或
else if((m*x+b)==c)
由于浮点数表示不精确,几乎完全未定义。
-
最后,您的示例显示 (?) 假定为 ASCII 或具有块绘图字符的代码页。这些在启用 UTF8 的终端上无法很好地打印。只需用更合适的字符替换字符即可。
-
代码中未使用
y
。c
似乎加倍了它的意义?
相关文章:
- 基于boost的程序的静态链接——zlib问题
- 使用mongocxx驱动程序时包含头文件问题
- 运行程序时出现问题
- C++问题:用户认为数字1-100,程序提出问题不超过6次即可得到答案。无法正确
- 将应用程序从32位移植到64位时出现问题
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- C++ 每次运行程序时我都会"nan"输出的问题
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 如何解决在负数的情况下程序以相同方式工作的问题?
- 在树莓派上用libtorch构建程序时的链接问题
- 覆盖应用程序的低级别键盘挂钩问题
- 运行长度编码程序 c++ 的问题
- 编译 Cilk Plus 程序时遇到问题
- 我的堆栈和库存清单程序的结构有什么问题?
- 系统错误:程序无法启动,因为您的计算机中缺少MSVCP140D.DLL。尝试重新安装该程序以解决此问题
- wxWidgets 拖放文件事件处理程序初始化问题(无效static_cast)
- 桌面计算器出现问题.C++程序设计语言
- 内存泄漏问题c++程序
- 写函数的基本问题.程序随机跳到最后