Difference between revisions of "The Application - OOP344 20132"

From CDOT Wiki
Jump to: navigation, search
(Created page with '{{OOP344 Index | 20123}} Under Construction =Movie Browser= Your task for the final application is to create a movie record browser using the CIO library. ==the file== The data …')
 
m (the file)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{OOP344 Index | 20123}}
 
{{OOP344 Index | 20123}}
 
Under Construction
 
Under Construction
=Movie Browser=
+
=Music Database=
Your task for the final application is to create a movie record browser using the CIO library.
+
Your task for the final application is to create a personal music database program using the CUI library.
  
 
==the file==
 
==the file==
The data file to store the movie records is in binary format.<br />
+
The data file to store the music database is in binary format.<br />
 
Records are kept in the following format:
 
Records are kept in the following format:
 
<big><syntaxhighlight lang="cpp">
 
<big><syntaxhighlight lang="cpp">
//class Movie{
+
struct Song
struct Movie{
+
{
  char name[71];
+
    char name[71];
  char actors[301];
+
    char artist[71];
  char desc[1656];
+
    char album[71];
  char releaseDate[11];
+
    char releaseDate[11];
  unsigned long genre;
+
    unsigned long genre;
  unsigned long rating;  
+
    unsigned long rating;
 
};
 
};
 
</syntaxhighlight></big>
 
</syntaxhighlight></big>
 +
 
==Selecting data file==
 
==Selecting data file==
 
There are two choices to select a data file to browse:
 
There are two choices to select a data file to browse:
Line 42: Line 43:
 
:100% and up
 
:100% and up
 
# Search
 
# Search
#: to be able to narrow down the list of movies to the ones which fit to the search criteria  
+
#: to be able to narrow down the list of songs to the ones which fit to the search criteria  
 
## Search on name on substring
 
## Search on name on substring
## Search on actor's name on substring
+
## Search on artist's name on substring
 +
## Search on album's name on substring
 
## Search on the Date on exact match
 
## Search on the Date on exact match
 
# delete
 
# delete
 
## delete a record from the file
 
## delete a record from the file
 +
 +
==Submission==
 +
To submit your assignment, tag your final commit as "V1.0" in github. Go to the release section to accomplish this. If you need further instruction on this, please refer to the github help pages, Google works too.

Latest revision as of 22:37, 19 August 2013


OOP344 | Weekly Schedule | Student List | Teams | Project | Student Resources
Under Construction

Music Database

Your task for the final application is to create a personal music database program using the CUI library.

the file

The data file to store the music database is in binary format.
Records are kept in the following format:

struct Song
{
    char name[71];
    char artist[71];
    char album[71];
    char releaseDate[11];
    unsigned long genre;
    unsigned long rating;
};

Selecting data file

There are two choices to select a data file to browse:

  1. Getting the file name through the command line argument list.
  2. Getting the file name through a prompt within the program.

Application Capabilities

Mandatory

90%
  1. Browse Opened data file
    1. goto next record
    2. goto previous record
    3. goto last record
    4. goto first record
    5. goto record by number
  2. edit the record
    1. save the edited record
    2. cancel editing a record without saving
    3. make sure edit information is not lost (saving unsaved data on exit with prompt)
  3. Add a record
    1. create an empty record and save it at the end of the file

Optional

100% and up
  1. Search
    to be able to narrow down the list of songs to the ones which fit to the search criteria
    1. Search on name on substring
    2. Search on artist's name on substring
    3. Search on album's name on substring
    4. Search on the Date on exact match
  2. delete
    1. delete a record from the file

Submission

To submit your assignment, tag your final commit as "V1.0" in github. Go to the release section to accomplish this. If you need further instruction on this, please refer to the github help pages, Google works too.