#include <graphics.h>
#include <fstream>
#include <sstream>
#include <string>
#include <iostream>
#include <conio.h>
int main()
{
// 初始化图形模式
initgraph(1040, 480, SHOWCONSOLE);
//float a=496.000000, b=172.000000, L1=40.000000, L2=15.000000, L3=32.000000, B1=40.000000, H1=32.000000, hh=2.600000,GA=1;
// 打开文件
std::ifstream file("D://cwenjian//donglixiang2.txt");
// 读取文件中的数据
// 检查文件是否成功打开
if (!file.is_open()) {
std::cerr << "无法打开文件!" << std::endl;
return 1;
}
// 读取文件中的数据
int TD, a, b, L1, L2, L3, B1, H1, hh, GA;
char eq1, eq2, comma;
std::string line;
std::getline(file, line);
std::stringstream ss(line);
ss >> eq1 >> eq2 >> TD >> comma >> eq1 >> eq2 >> a >> comma >> eq1 >> eq2 >> b >> comma >> eq1 >> eq2 >> L1 >> comma >> eq1 >> eq2 >> L2 >> comma >> eq1 >> eq2 >> L3 >> comma >> eq1 >> eq2 >> B1 >> comma >> eq1 >> eq2 >> H1 >> comma >> eq1 >> eq2 >> hh;
if (file.fail()) {
std::cerr << "读取数据失败!" << std::endl;
return 1;
}
// 画矩形
//初始化图像网格
::line(a,b,a,b+L1);
::line(a,b+L1,a+H1,b+L1);
::line(a+H1,b+L1,a+H1,b+L1-L2);
rectangle(a+H1,b+L1-L2+2,a+H1+hh,b+L1-2);
::line(a+H1+hh/2,b+L1-L2+2,a+H1+hh/2,b+L1-2);
::line(a+H1,b+L1-L2,a+H1,b+L1-L2-L3/5);
::line(a+H1,b+L1-L2-L3/5,a+H1/3,b);
::line(a,b,a+H1/3,b);
::line(a+H1/4,b,a+H1/4,b-L1/6);
::line(a+H1/4,b-L1/6,a+H1-H1/10,b-L1/6);
::line(a+H1-H1/10,b-L1/6,a+H1-H1/10,b-L1/6+4*L3/5-5*GA);
// 关闭文件
file.close();
// 等待用户按键
_getch();
// 关闭图形模式
closegraph();
return 0;
}
我把检验部分写入之后图形还是不能出现,程序可以运行,但是我直接输入数据之后却可以正常出现图形,图形的坐标应该是没有问题的