Skip to content

CreativeSoftware/LearningCppByExample

Repository files navigation

LearningCppByExample

Learning C++ by Example A Project to Learn C++

The main objective of this case study is learning C++ subjects by example. It is suppose the basic C++ subjects applied to Object-Oriented Paradigm such as:

• Inheritance

• Dynamic Memory

• Polymorphism

• Composition

• Enumerator Classes and Interfaces

The Design Phase it is the most important task. So it is important create a simple class diagram in UML.

Case Study Description

We have a Book Store, named Diamond Store. We have products at our store: cds and books. All products have barcode (a 4-digit integer), a title, an author, a year, a publisher and a price. CDs can be music CDs or Game Cds.

CDs are selling in boxes. A game box contains only 1 CD.

A music Box could have 1 or more cds. Usually we call music cds as albums. Each music CD has a variable number of tracks. Each track has a title, number and length. Each music CD costs 15 euros.

A game CD must have the machine when the game runs, e.g. “PlayStation”. It is important to know the score of the game. Therefore, the game has the score 1-5 stars given by the BESTGAMESEVER magazine. A game CD only contains 1 cd and costs 50 euros.

A Book has the number of pages and a label (blue or green). The green label books cost 5 euros. The blue label books cost 15 euros. The Comic Books have the reference to the fantasy World which them belong to (e.g. “Marvel”) and the its creator (e.g. “Stan Lee”)

The app must log all the important operations. It must be possible editing an input file or adding from the app menu. It is important create a log file with all the data.

It must be possible change the product attributes.

It must be possible show lists of music CDs, all of green label books and all of Comic Books Creators. It must be possible show stats of the score of game CDs, which publisher has more products and which music has more duration.

About

A Project to Learn C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages