C++代写:CMPSC121 Lion Path

代写C++基础作业,对数据进行格式化。

Objectives

After this homework assignment, students should be able to:

  • Implement user-defined structs using given specifications
  • Use file input to populate structs

Background

While working to improve the LionPath website, you discovered a way to generate formatted text files that contains information about students’ schedules for the upcoming semester. Consider the example below:

FNAME: Andrew
MINIT: S
LNAME: Yu
ID:    912345678
USER:  auy77

CMPSC121-002-003L
- M 9 05 AM 50 Lecture
- T 10 05 AM 110 Lab
- W 9 05 AM 50 Lecture
MATH140-001
- M 12 25 PM 50 Lecture
- T 12 25 PM 50 Lecture
- W 12 25 PM 50 Lecture
- R 12 25 PM 50 Lecture
PSU007-001
- W 06 00 PM 50 Lecture
ENGL101-004
- M 11 15 AM 50 Lecture
- W 11 15 AM 50 Lecture
- F 11 15 AM 50 Lecture
PHYS211-003-006L
- T 3 35 PM 90 Lecture
- R 3 35 PM 90 Lecture
- F 12 00 PM 110 Lab

Each line that begins with “-“ refers to one of the meeting times of the course above. For example:

- M 9 05 AM 50 Lecture Monday, 9:05AM, 50 minute lecture

Because LionPath can generate many of these files, you have decided to write a C++ program that can automatically process them. You will use object-oriented programming to keep track of the students and courses.

Instructions

Write a C++ program named lionpath.cpp that implements the structs described below:

Student

The Student struct contains basic identifying information about one student and a vector of courses that the student is scheduled to take:

Attribute Data Type
First name string
Middle initial char
Last name string
9-digit PSU ID Number string
PSU Username string
Enrolled Courses vector

Course

The Course struct contains the following information:

Attribute Data Type
Course name string
Number of lectures per week int

Write a main function that:

  • Reads a text file (like shown in the background)
  • Automatically populates a Student struct with relevant information
  • Displays a simplified version of it to the console window

Note that only the number of lectures per course needs to be counted, which means the content of the lines containing information about each lecture can be ignored.

Optional Bonus

Write a C++ program named schoolday.cpp that extends the functionality lionpath.cpp by:

  • Accepting user input for a character representing a weekday:
    • M, T, W, R, or F
  • Printing information about all lectures scheduled on that day

Sample Output

FNAME: Andrew
MINIT: S
LNAME: Yu
ID:    912345678
USER:  auy77

CMPSC121-002-003L
3 lectures
MATH140-001
4 lectures
PSU007-001
1 lecture
ENGL101-004
3 lectures
PHYS211-003-006L
3 lectures

Optional Bonus Sample Output

FNAME: Andrew
MINIT: S
LNAME: Yu
ID:    912345678
USER:  auy77

Select a weekday (M, T, W, R, F): S
Invalid input, try again!
Select a weekday (M, T, W, R, F): T

CMPSC121-002-003L
- T 10 05 AM 110 Lab
MATH140-001
- T 12 25 PM 50 Lecture
PSU007-001
ENGL101-004
PHYS211-003-006L
- T 3 35 PM 90 Lecture

Submission

Please submit all .cpp files prior to the deadline listed above.