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
3- It is not possible to change the value of the pointer. (True or False). 4- If the following lines of code have errors, correct them; otherwise, write "no errors." for (int i=2; i<5; i++) { int s=1*2; } cout << s; 5- A function cannot be called from inside another function. (True or False). 6- How to make a function return multiple values? 7- Every class member is by default. (public, private, not public nor private) 8- Create an instance of the following class and call its methods. class Exam{ int grade; public: void seta (int b) (grade=b; } int geta () {return grade; } 9- When the word const is put before the variable definition, what does that mean? 10- How to concatenate two strings in C++ language? C++
X Whether the following statement is TRUE or FALSE? When an object is returned by a function, a temporary object is automatically created to hold the return value.
//
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning