Write a function which takes a string argument, and creates and returns a tuple containing details of the lecturer specified by the string. The string should be assumed to have the format.
Write a function which takes a string argument, and creates and returns a tuple containing details of the lecturer specified by the string. The string should be assumed to have the format.
12345 CSEE25000 Bartholomew Homer Simpson
The first three items in the line will be the payroll number, department and salary; the rest of the line will be the name, the last word of which is the surname. There will be no spaces in the department but there will be spaces in the name. The tuple should contain exactly 5 items: the payroll number, salary, job title, surname and other names. (The other names should be stored as a single string; the surname will be the last name in the input line so in the example above the surname is Simpson and the other names areBartholomew Homer.)
Next, write a function that will print the details of a lecturer on a single output line. It should take a tuple as its argument and print the details in fixed-width fields using a layout such as
Simpson, Bartholomew Homer 12345 CSEE 25000
The name should be displayed using the format shown above so you will need to create a string containing the name in this format and print it in a fixed-width field. You may assume that no name will contain more than 30 characters when displayed in this format, no department will contain more than 15 characters, payroll numbers will contain at most 5 digits and all salaries will be integers less than 100,000.
In the main body of the program, write code which prompts the user for a filename and attempts to open the file whose name is supplied.If the file cannot be opened an error message should be output and the program should terminate; otherwise the program should read each line from the file and supply it to the lecturer-creation function, storing the tuples returned by this function in a list.
After the data has been input the program shoulddisplay details of all employees in the list in a neat table (using the function already written) then enter a loop in which the user should be given the option of requesting the display of full details of all of the employees from a particular department or the names (with no other details) of all lecturers with a salary in a particular range (e.g. 20000 to 30000), or quitting the program. The user should then be asked to supply the department or upper and lower bounds of the salary range (as appropriate), the list should then be searched and the appropriate output displayed (using the function written earlier when full details are required). The list of names for the salary-range output should be sorted alphabetically by last name (also using the first name if the last names of two employees are the same), but displayed using the format Bartholomew Homer Simpson.
Appropriate messages should be displayed if a search produces no results.