Difference between revisions of "Project A2 20141 - OOP344"

From CDOT Wiki
Jump to: navigation, search
(Began big picture section)
(Introduction: Added blurb on design of doc.)
Line 2: Line 2:
  
 
= Introduction =
 
= Introduction =
The basic information of A2 is on the BTP300 site linked [https://cs.senecac.on.ca/~btp300/pages/assignments/a2.html here]. A number of issues have been found within the assignment spec and so a series of changes is required in order for the spec to produce a correct assignment. The changes are listed here.
+
The basic information of A2 is on the BTP300 site linked [https://cs.senecac.on.ca/~btp300/pages/assignments/a2.html here]. A number of issues have been found within the assignment spec and so a series of changes is required in order for the spec to produce a correct assignment. The changes are listed here. In addition, we are also listing a number of clarifications and suggestions that you may find helpful while implementing this assignment. Those will follow the spec code changes.
  
 
= Spec Code Changes =
 
= Spec Code Changes =

Revision as of 16:31, 7 March 2014


OOP344 | Weekly Schedule | Student List | Teams | Project | A1 | A2 | A3 | Student Resources

Introduction

The basic information of A2 is on the BTP300 site linked here. A number of issues have been found within the assignment spec and so a series of changes is required in order for the spec to produce a correct assignment. The changes are listed here. In addition, we are also listing a number of clarifications and suggestions that you may find helpful while implementing this assignment. Those will follow the spec code changes.

Spec Code Changes

cfg.h

  • Instead of #defining NULL in cfg.h, instead #include <cstdlib> at the top of cfg.h. eg:
#ifndef __CFG_H__
#define __CFG_H__
#include <cstdlib>

...

#endif

CFrame

Functions to be removed

The following two functions should be removed from the specification completely. Let me be extra clear: DO NOT PUT THEM IN YOUR CFrame HEADER, DO NOT CODE THEM, DO NOT USE THEM!

  • CFrame::display
  • CFrame::edit

CField

Updated Functions

  • The function CField::edit currently accepts 4 parameters and is not virtual.
    It should be updated as follows to be consistent with its child classes:
    • pure virtual
    • should not accept any parameters
    • should return int (it already does)

CLine

Constructors

Both constructors should accept a bool* and NOT a bool for insert mode. Updated descriptions follow:

Constructor 1

Receives 8 values.
...

  • bool* - the insert mode for the line field

...

Constructor 2

Receives 7 values.
...

  • bool* - the insert mode for the line field

...

The Big Picture

This assignment is about creating a basic commandline GUI system. It is meant to show the student how OOP can be used effectively to create a system. The basic setup for this system are the 6 classes iFrame, CFrame, CField, CLabel, CLine, CButton and the supplemental class CDialog provided already implemented as a part of the spec.