This is an old revision of the document!
Corning Community College
CSCS1320 C/C++ Programming
Course Wiki Page
Projects
cci0
dtr0
sof0
dow0
mbe0
cbf0
cos0
pnc0
mbe1
pnc1
gfo0
oop0
CALCULATOR::Object-Oriented Programming
Objective
The objective of this project is to get a stronger grasp of object-oriented programming, get a better understanding of inheritance, and classes and their properties.
Background
Over the last few weeks we have covered multiple ways of implementing object oriented model; using the single file method of doing things, and multiple files method of doing things. Using that skill-set, you(we) must implement a program that will replicate the functions of a calculator.
Scope
For the scope of this project, as long as you implement a program that adopt the object-oriented methodology in C++ - there are no other particular restrictions.
Program
Replicate the functionality of a calculator, with the ability to accomplish multiple mathematical functions. Given a set of inputs the program must have the capability to compute the numbers based on the functions.
URLs
String Formating(fprintf) http://www.cplusplus.com/reference/cstdio/fprintf/
Standard Template Library http://www.cplusplus.com/reference/stl/
Vector Reference http://www.cplusplus.com/reference/vector/vector/
Notes
TYPEDEF
As a follow to our discussion this week, typedef is a naming convention used in C/C+, its primary use case is to declare various data-types. Defining data types in C can be a tedious task, some data types and variables names only can up to 1/2 of an 80-85char line of code, which ultimately will result in either unreadability, or some very extensive lines. Here is a brief example of how typedef could come in handy.
unsigned long long int a_very_long_variable_name = some+expressions+here;
an optimization for this line would be the following:
typedef unsigned long long int ulli_t; ulli_t a_very_long_variable_name = some+expressions+here; //much cleaner than the above version(could be better)
Although typedef appears to be defining only types, it removes some overheads down the road as a developer,it provides consistency, and clarity when used effectively.