you are asked to implement and test a program for cataloguing a collection of songs. Each song has the following details: Name of Band of Singer Name of Song Price Year of Release String String Floating point number Integer The program should carry out the following tasks: • Read in data from the standard input (keyboard) and save it appropriately organised in a file. • Retrieve from the file and print out data to the screen appropriately ordered the whole of available catalogue (e.g. Name of Band: XXXX, Name of Song YYYY, etc): The order should be according to Year of Release: Newer to Older. The User Interface of the program should be based on the following text based menu: The following options are available: Read in data [1] Print out catalogue to screen [2] Save data to file [3] Exit Program [4] Enter your choice now: After a task is performed the program should the User Interface and the user be probed for a new choice until Exit is requested. Programming hints: You could create a custom struct to hold the above details. You can use unformatted input to read in one line at a time into a string. This will allow you to read in names and titles with spaces, e.g. gets(str); to read characters from the standard input into a character array called str. Keep in mind that gets() does not let you specify a limit on how many characters are to be read so you must be careful with the size of the array pointed by str to avoid buffer overflows. You may also use foot c() although the usage differs from out ofl slightly

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Please use C programming. Please use fgets() instead of gets and complete using replit compiler. please add comments, and please make sure it is ordered from newest to oldest release year

you are asked to implement and test a program for cataloguing a collection of songs. Each
song has the following details:
Name of Band of Singer
Name of Song
Price
Year of Release
String
String
Floating point number
Integer
The program should carry out the following tasks:
• Read in data from the standard input (keyboard) and save it appropriately
organised in a file.
• Retrieve from the file and print out data to the screen appropriately ordered the
whole of available catalogue (e.g. Name of Band: XXXX, Name of Song YYYY, etc): The
order should be according to Year of Release: Newer to Older.
The User Interface of the program should be based on the following text based
menu:
The following options are available:
Read in data [1]
Print out catalogue to screen [2]
Save data to file [3]
Exit Program [4]
Enter your choice now:
After a task is performed the program should the User Interface and the user be probed for a new
choice until Exit is requested.
Programming hints:
You could create a custom struct to hold the above details.
You can use unformatted input to read in one line at a time into a string. This will allow you to read
in names and titles with spaces, e.g.
gets(str);
to read characters from the standard input into a character array called str. Keep in mind that gets()
does not let you specify a limit on how many characters are to be read so you must be careful with
the size of the array pointed by str to avoid buffer overflows.
You may also use fgets() although the usage differs from gets() slightly.
Transcribed Image Text:you are asked to implement and test a program for cataloguing a collection of songs. Each song has the following details: Name of Band of Singer Name of Song Price Year of Release String String Floating point number Integer The program should carry out the following tasks: • Read in data from the standard input (keyboard) and save it appropriately organised in a file. • Retrieve from the file and print out data to the screen appropriately ordered the whole of available catalogue (e.g. Name of Band: XXXX, Name of Song YYYY, etc): The order should be according to Year of Release: Newer to Older. The User Interface of the program should be based on the following text based menu: The following options are available: Read in data [1] Print out catalogue to screen [2] Save data to file [3] Exit Program [4] Enter your choice now: After a task is performed the program should the User Interface and the user be probed for a new choice until Exit is requested. Programming hints: You could create a custom struct to hold the above details. You can use unformatted input to read in one line at a time into a string. This will allow you to read in names and titles with spaces, e.g. gets(str); to read characters from the standard input into a character array called str. Keep in mind that gets() does not let you specify a limit on how many characters are to be read so you must be careful with the size of the array pointed by str to avoid buffer overflows. You may also use fgets() although the usage differs from gets() slightly.
Expert Solution
Step 1

C code

 

Computer Science homework question answer, step 1, image 1

Computer Science homework question answer, step 1, image 2

 

Sample Output

Computer Science homework question answer, step 1, image 3

Computer Science homework question answer, step 1, image 4

steps

Step by step

Solved in 2 steps with 12 images

Blurred answer
Knowledge Booster
Constants and Variables
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education