CS183 -- Lab 2: Class Implementation



->Courses
->CS183
-->Homework
-->Examples
-->Quiz 1
-->Lab 1
->Lab 2
-->Lab 3
-->Lab 4
->Electronic Submission
->MSVC++ Info
->STL Info
->MFC/GUI Info
->Tentative Schedule
->Course Policies

[Courses]
[Rich][Home][Rich]
[PHome]

Fall Quarter 2001

Overview

The purpose of this lab is to implement a album class for which the public interface has already been designed.

Acknowledgement

This lab was developed by Dr. Chris Taylor and relies on the Xaudio SDK.

Problem Statement

Implement the album class (refer to the album.h header file) and write a program that will use the album and MP3 classes to generate a ".tag" file for each of the 95 disks whose tracks are found in 0.mp3, 1.mp3, ... 820.mp3.

The ".tag" file format should use the following format:

TITLE=Disk 2
YEAR=1996
AUTHOR=Taylor Scripting
FILENAME1=2.mp3
FILENAME2=3.mp3
FILENAME3=4.mp3
FILENAME4=5.mp3
FILENAME5=6.mp3
FILENAME6=7.mp3
FILENAME7=8.mp3
TRACK1=Two Minute Warning
TRACK2=Three Stooges
TRACK3=The Four Spiritual Laws
TRACK4=The Hawaii Five-O Home Page
TRACK5=Six Flags
TRACK6=The Seven Wonders of the Ancie
TRACK7=Asthma: Eight Questions to Ask
ARTIST1=Chris Taylor
ARTIST2=Chris Taylor
ARTIST3=Chris Taylor
ARTIST4=Chris Taylor
ARTIST5=Chris Taylor
ARTIST6=Chris Taylor
ARTIST7=Chris Taylor
LENGTH1=1.329
LENGTH2=1.329
LENGTH3=1.329
LENGTH4=1.59
LENGTH5=1.329
LENGTH6=1.602
LENGTH7=1.345

Notes:

  • The playRandom() member function may be implemented for extra credit. If you choose not to do the extra credit, you should just implement the function so that it just returns false.
  • You may not modify the public portion of the album.h header file.
  • Create a project workspace following the procedure used in Lab 1 and add the album.h file to the project.

Lab report (due 11:00pm, the day prior to week 5 lab)

The lab report should consist of the following:

  • Your design documentation. (One or two paragraphs describing your approach to solving the problem. This section should convince me that you were thinking when you made the decisions that you did about how to design your program.)
  • A brief description of any problems you encountered or questions you have regarding the lab.
  • A summary of your activity log indicating how much time you spent on the assignment. In addition to the total time spent on the project, please report the time in the following categories:
    • Designing
    • Coding
    • Debugging (before you think it's working)
    • Testing (after you think it's working)
    • Writing report
    • Other
  • Any suggestions you have for how the lab could be improved.
  • The ".tag" files for the albums titled Disk 3 and Disk 10.
  • The Documented source code for your program. Do not include the MP3 files or the files associated with the Xaudio library.

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic submission guidelines. (You may wish to consult the sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost. It may be wise to keep a diskette backup as well.

Your lab grade will be determined by the following factors:

  • Meeting specifications
  • Technical quality
  • Design documentation
  • Internal documentation (comments)
  • Program clarity (formatting, etc.)
  • Narrative report
  • Activity log (similar to the last lab)
  • Correct program output
  • Spelling and grammar
  • Timeliness of submission

If you have any questions, consult your instructor.

© 2001 Dr. Christopher C. Taylor Office: CC-27C Phone: 277-7339 Last Updated: September 18, 2001
I am responsible for all content posted on these pages; MSOE is welcome to share these opinions but may not want to.