/*********************************************
This program creates a text-file for Excel
that plots a course steered by the user.
Our position starts at (0,0), and the user
enters moves in (dx,dy) format, with a "q"
to quit.
**********************************************/
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

/*********************************************
 ** PROTOTYPES & CLASS DEFINITIONS
 *********************************************/
struct point
{
  double x,y;
};
bool getmove(point &p,istream &IN);

/*********************************************
 ** MAIN FUNCTION
 *********************************************/
int main()
{
  // Initialization
  ofstream OUT("out.txt");
  point p,m;
  p.x = p.y = m.x = m.y = 0;

  // Get moves & write moves
  do {
    // Compute new position p from move m
    p.x = p.x + m.x;
    p.y = p.y + m.y;

    // Write move
    OUT << p.x << '\t' << p.y << endl;
    
  }while(getmove(m,cin));

  return 0;
}

/*********************************************
 ** FUNCTION DEFINITIONS
 *********************************************/
// Gets tht next more from the user & stores
// in point p.  Returns true if read was
// successful, and false otherwise
bool getmove(point &p, istream &IN)
{
  cout << "Enter move vector: ";    
  char c;
  if (IN >> c && c == '(' && IN >> p.x &&
      IN >> c && c == ',' && IN >> p.y &&
      IN >> c && c == ')')
    return true;
  else
    return false;
}