Frederick Technical College has asked you to design a program to help assign a faculty advisor and dorm for their incoming students based on certain criteria. The student data is stored in a file with the following file description (note, there is one record for each student in the file):
Student Identifier Numeric 1234
Student First Name Characters Johnny
Student Last Name Characters Jones
Age Numeric 18
Major Characters Business
Write the design using file processing and an EOF loop to read in each of the student records. Output a report (you may assume to the screen) listing each student’s identifier, student’s name, age, advisor, and dorm assignment. Use the heading, “Frederick Technical College Advisor and Dorm Assignments” on line 1 and your name as designer on line 2. Also use appropriate column headings (don’t worry about page breaks or page numbers).
Advisors are assigned using the following criteria:
MAJOR ADVISOR LAST NAME
Business Adams for the first 155 Business students, then Johnson for the remaining Business students
Computer Carlson for the first 145 Computer students, then Jason for the remaining Computerstudents
Air Conditioning Hansen
Dorms are assigned based on major and age, using the following criteria:
MAJOR AGE DORM
Business under 21 Washington
Business 21 and over Jackson
Computer under 21 Jefferson
Computer 21 and over Lincoln
Air Conditioning any Roosevelt
Automotive or Undeclared any Truman
You MUST use and call modules and pass all appropriate parameters. DO NOT assume global variables. If a module uses a value from the calling program/module, then you must pass that value in. If a module changes or sets a value that must be used elsewhere, then you need to either return the value (through the return type) or pass it back out (as a reference parameter). In this case you may write either return type modules or use “pass by reference”.
I will leave it up to you which modules to create and what they’re called, EXCEPT that I want you to write at least 3 modules (in addition to the main start/stop algorithm). Keep in mind smaller modules are easier to maintain than large modules.
Completely define all statements for all modules and call them properly. The modules CANNOT be defined inside the main Start/Stop algorithm. They must be defined at the end, after the Stop (see the design template for the position).