CS 230 Fall 2009                                               

Assignment 9 – Files (and what went before) --  Personal Internet Radio!

100 Assignment Points

 

Assigned: 11/09/2009

Due: 11/16/2009 at the start of class  

 

Pre-Lab (Do Before Lab):  Bring materials – a way to save a copy for you and a copy to turn in. Read through the whole assignment; hints and details are spelled out throughout. Plan out tasks, objects, and events needed for program.  Plan out major  pseudocode.

 

Main Assignment Description:

LaSalloogle Labs is developing an online radio station in which you create your own personal radio station and music is streamed to you based on what you like and don’t like (like other services already out there).  Your program is a simplification dealing with ranking songs (only)..

·         The program should at start up get from a file (songs.txt) a list of songs and display them in a list box (or ComboBox).

·         When the user selects a song from the song list box, the song information should be displayed in a read-only text box or in a label. (This should be done via the default event for the list box)

·         When a user specifies a rating (0-5) AND selects a “Rate” button, write the rating (song and rating) to a comma-delimited text file (see below) for later tabulation (add it to those already in the file), and remove the song from the list box of songs. (DO NOT have the rating recorded immediately upon selection in case of inadvertent click).

Provide the capability to:

·         Rate a song

·         clear (song and rating),  and

·         exit

Please set the name of the project to something other than the default name (WindowsApplication1, …). It is helpful if you use a name that identifies you as well as the assignment (e.g. yourlastname assignment 9).

 

Background Knowledge:

·         Ratings are whole numbers

·         Songs would typically include title and artist (see songs.txt file provided on Blackboard), but any format will work.

 

Task Details:

It is recommended that the validation be done via calling a function!

 

Miscellaneous:

 

Hand in: