[SOLVED] CS2400 -Homework 7 Book Project, Part 1

20.99 $

Category:

Description

Rate this product

Design a class to keep track of a book. Each book has a title, year, and an author.  Your class must include the following constructors and functions (function names and prototype must match exactly):

  • Book()

o A constructor that initializes a book to the default values: (“***”, 0, “***”).

• Book(string newTitle, int newYear, string newAuthor);

o A constructor that initializes a book’s title, year, and author to the specified parameters.

• Book(string allData)

o A constructor that splits the string specified (allData ) into the three book properties. The string is in the following format:

§ title|year|author

  • Example:

“The Hitchhiker’s Guide to the Galaxy|1979|Douglas Adams”

  • Setters (mutators) for all three member variables (e.g. setTitle)
  • Getters (accessors) for all three member variables (e.g. getTitle)

• bool matchTitle(string targetTitle)

o Returns true if targetTitle is part of the book title o Using the example above it should return true if targetTitle is “galaxy”, “GUIDE tO”, “the hit”, etc.

• bool matchAuthor(string targetAuthor)

o Returns true if targetAuthor is part of the name of the lead author o Using the example above it should return true if targetTitle is “Doug”, “LAS”, “aDaMs”, etc.

• bool matchYear(string targetYear)

  • Returns true if targetYear matches any part of the year.
  • Using the example above it should return true if targetYear is “79”, “19”, or “1979” etc.

• bool match(string target);

o Returns true if target can be found any where in the book member variables § Using the example above it should return true if target is “97”,

“douglas”, “hitch”, etc.

 

Write a main program to test all the functions.

 

Project Files:

Divide your project into three files:

  • h
    • Contains the class definition
  • cc
    • Contains the class implementation (all the functions)

• book_main.cc

o Main program to test your class Compiling your project:

  1. g++ -Wall -c book.cc
    • This creates the object file o
  2. g++ -Wall -c book_main.cc
    • This creates the object file o

3. g++ book.o book_main.o

  • This creates the executable a.out

 

or

     g++ -Wall -std=c++11 -c book.cc book_main.cc

There is a Makefile provided to allow you to compile your program using the command:

          make

 

If you are using C++11 add the option –std=c++11 to your compile commands.

 

Hints:

  • Start early. You may start by putting everything in one file and separate them later.
  • Implement the getters, and setters functions first then start implementing the match functions one at a time. Test every function immediately after you write it.
  • You may want to implement an output function to test your objects.
  • Review the string They will be useful in this project.
  • Write a function that converts a string to all lower case.
  • The function stoi allows you to convert a string object to an integer. It requires compiling your program with -std=c++11 int x = stoi(“123”); will return the integer 123
  • The function to_string converts a number to string. string s = to_string(123); will set s to the string “123”

 

For the third constructor, use the find and the substr string member functions