Моя первоначальная программа была разработана для получения типа геометрического объекта от пользователя, а затем принимает координаты каждой линии для вычисления площади формы.У него была одна проблема: каждый раз, когда я просил пользователя ввести две координаты, составляющие линию, вторая координата повторяется снова как первая для следующей строки.
пример: первая строка, которую он введет0 0 0 1 (обозначает x1 y1 x2 y2) во второй строке ввод будет 0 1 1 0 (x2 y2 x3 y3)
, вы можете видеть, что 0 1 повторяется снова, что не было проблемой вПервый этап программы.
Второй этап, когда я пытался обновить свою программу, я начал получать данные из файлов, отформатированных следующим образом: прямоугольник, (42,25), (68,25), (68, 70), (42,70)
Я могу прочитать каждую координату отдельно, используя
fscanf(file, "(%lf,%lf)", &X, &Y);
, но как мне снова взять вторую координату и повторить ее для следующего ввода, как я объяснилв приведенном выше примере.
методы старого класса
Point::Point(double x, double y)
{
X = x;
Y = y;
}
Point::Point()
{
cout << "Point constructor called! enter the x and y co-ordinates" << endl;
cin >> X >> Y;
//this is what I want to modify
}
double operator-(const Point& Start, const Point& End)
{
// returns the distance between two points
return sqrt(pow((End.X - Start.X), 2.0) + pow((End.Y - Start.Y), 2.0));
}