C++ How to Program (10th Edition)
C++ How to Program (10th Edition)
10th Edition
ISBN: 9780134448237
Author: Paul J. Deitel, Harvey Deitel
Publisher: PEARSON
Question
Book Icon
Chapter 13, Problem 13.15E
Program Plan Intro

Program Plan:

  • Make a header file Point.h
  • Declare header definition- include necessary header files and then create point class declaration.
  • Make stream insertion and stream extraction overloaded function as friend to the class.
  • Declare two private integers to store number point as xCoordinate and YCoordinate.
  • End point header.
  • Create “Point.cpp” file for defining function of header “Point.h”.
  • Include all necessary header file and also "point.h" for making point class declared in header file available here.
  • Overload the stream insertion operator, to display xCoordinate and YCoordinate.
  • Overload the stream extraction operator, to check if input is in form "(x,y)” or not.
  • Declare array p to get input from stream, extractx and extracy to extract value of xCoordinate and YCoordinate from the stream.
  • Determine the size of stream "p".
  • Set initial value of fail to 1.
  • Check if first and last character of input is '(' and ')' respectively, if not se fail to 1.
  • In the else part. run two loops to get x and y value of point which is seperated by ','.
  • Run for loop from position 1 till ',' is found or till counter 'i' reaches size of input 'p'. Which means no ',' is entered, thus wrong input.
  • Check if character is digit or not, if not a digit, then set fail=1, else extrcat value in extractx.
  • After execution of for loop, check if “fail ==1 (some incorrect input) or i != size (which means no comma found)”. If both cases are false, then use a similar for loop to extract value of y.
  • Check if “fail==1” (some wrong input) and set ios::failbit and clear the input.
  • If fail is still 0, then put values of extractx and extact y in xCoordinate and YCoordinate respectively.
  • Return the input.
  • Make "Main.cpp" to write main function, which must include "point.h"
  • Declare "p" as object of point class.
  • Use cin>>p which itself will call overloaded extraction and check for input.
  • Check the rdstate for goodbit, if failbit not set then display point using cout<<p. which will again call insertion overload for display.
  • Else error message is displayed.
  • Return and exit.

Program Description:

Write a point class, which checks for valid input data by overloading stream insertion and stream extraction operator functions.

Blurred answer
Students have asked these similar questions
Indicate whether the following is true or false:Only pointers and references are permissible for use with dynamically bound virtual functions.
What is wrong in the following function?
What is the output of following code.
Knowledge Booster
Background pattern image
Similar questions
Recommended textbooks for you
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning