Introduction to programming assignment

Assignment Help Other Subject
Reference no: EM132435928

Introduction to Programming - Faculty of Science, Engineering and Technology

Task: Text Music Player with Menu

Overview

This task allows you to extend your text-interface music application to provide a menu for users to use to play music in the Terminal.

Purpose: To design code that integrates various modules.

Task: Demonstrate the use of: Arrays; Functions; File Handling, Structured Design in the context of a Texted-based Music Player application.

Instructions

In this task you will extend the implementation of your previous Text-based Music Player to include a menu system and additional functionality. Your tutor is your client for this application. It must aim to meet the client's requirements as specified below along with any clarifications provided by him/her.

Part A: Core Requirements - All students have to complete this part.

You need to create a Text Based Music application, which has the following functionality.

Menu system

When the program runs, it allows user to switch in between 5 menu options:

WELCOME TO MU IC PLAYER - MAIN MENU
1. Read in Album
2. Di play Album
3. Select an Album to Play
4. Update an exiting Album
5. Exit the Application
Enter your election:

Menu option 1 should prompt the user to enter a filename of a file.

MENU OPTION 1: READ IN ALBUM
The music file (already) contains the following information:
1. Total number of albums in the music file (e.g. 2)
2. The name of first album
3. The artist name of first album
4. The genre of first album
5. The number of tracks (up to a maximum of 15) of first album
6. The name and file location (path) of each track of first album.
7. The name of second album
8. The artist name of second album
9. The genre of second album
10. The number of tracks (up to a maximum of 15) of second album
11. The name and file location (path) of each track of second album.

Menu option 2 should allow the user to either display all albums or all albums for a particular genre. The albums should be listed with a unique album number which can be used in Option 3 to select an album to play. The album number should serve the role of a ‘primary key' for locating an album. But it is allocated internally by your program, not by the user.

Menu option 3 should prompt the user to enter the primary key (or album number) for an album as listed using Menu option 2. If the album is found the program should list all the tracks for the album, along with track numbers. The user should then be prompted to enter a track number. If the track number exists, then the system should display the message "Playing track " then the track name, " from album " then the album name. You may or may not call an external program to play the track, but if not the system should delay for several seconds before returning to the main menu.

Menu option 4 should allow the user to enter a unique album number and change its title or genre. The updated album should then be displayed to the user and the user prompted to press enter to return to the main menu (you do not need to update the file at this level).

At this level minimum validation is required. Just make sure your program does not crash if incorrect values are entered and that all fields have an expected value (e.g.: perhaps have a default genre of "Null" in case the user enters and incorrect value for genre).

Part B: Optional Requirements

The different grades achievable for Pass, which will be marked for Doubtfire with "stars indicated belows:

1. Basic Pass Level - 53
2. Middle Pass Level - 55
3. High Pass level - 57

Basic Pass Level
By completing above Part A, you already got the Basic Pass level for the grade of 53.

Middle Pass Level
To archive the Middle Pass level for grade of 57, you are required to have all the features of the Basic Pass level (as above) done, and with the additional/changed functionality for the option shown below:

Menu option 5: Exit needs additional functionality. If the user has changed any of the album information since the application started, then on exit you need to display the message "Updating album file information" and you need to rewrite all the album and track information into the original file name such that the file can be loaded (with the new information) next time the application is run.

At this level more validation is required. Use functions like read_integer_range() that will only accept an integer input in the valid range for both the number of tracks and the genre, otherwise prompting the user to re-enter an acceptable value. Make sure your program does not crash if the file is not found.

High Pass Level

This level requires all the functionality of the previous two levels above, but in addition you need to add the following functionality to the options as indicated below:

Menu Option 3: You need to add the ability to search for an album based on genre or title.

Menu Option 4: The ability to update track information, including title and filename.

At this level basic validation is required. Use functions like read_integer_range() that will only accept an integer input in the valid range for both the number of tracks and the genre.

Once done, proceed with the submission (same as previous task). Make sure you start this task early so that you can have time to fix it when your tutor required to get it marked off before the deadline.

You now have another portfolio piece. This will help demonstrate your learning from the unit.

Attachment:- Introduction to Programming.rar

Reference no: EM132435928

Questions Cloud

Valuate real firm operations : Valuate a real firm's operations: use its accounting statements to find FCF and the implied value of the firm and equity.
What technological methods are used in Afghanistan : What technological methods are used in Afghanistan and Iraq and how have they been used tactically (i.e., what goals are they used to achieve)?
Explain WWI impact and if it still effects today : Explain WWI impact and if it still effects today.World War I is sometimes described as the first war where industrialization was brought to warfare
What excess net passive income tax does Josie pay : n addition, Josie, Inc receives $ 400,000 of interest income. What excess net passive income tax does Josie, Inc pay in 2017
Introduction to programming assignment : Introduction to Programming Assignment Help and Solution, Faculty of Science, Engineering and Technology - Assessment Writing Service
Internal Organizational and Governance Requirements : What are the Internal Organizational and Governance Requirements? What are the top 5 challenges facing financial firms in compliance with MiFID II?
Discuss how organizational needs and culture of health care : Discuss how organizational needs and the culture of health care influence organizational outcomes. Describe how these relate to health promotion
Calculate annual depreciation expense : Freight charges amounted to $700 and there was a cost of $3,000 for building a foundation and installing the equipment. Calculate annual depreciation expense
Examine the US Government for Federal Arts Project : Examine the U.S. Government's support during the Great Depression for programs such as the Federal Arts Project, the Federal Writers' Project

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd