2023 COP2800 Java Programming Course Project Fall 2014 Page 1 of 8 Juan L pez | Assignment Collections

Computer Science 2023 Java Program To Manage The Grades Of One College Course

2023 COP2800 Java Programming Course Project Fall 2014 Page 1 of 8 Juan L pez | Assignment Collections

COP2800 – Java Programming Course Project

Fall 2014 Page 1 of 8 Juan López

INSTRUCTIONS:

In this project, you will create a java program to manage the grades of one college course.

The user interface for the program will be text-menu driven.

Figure 1 depicts what the menu should look like upon launching the program.

================================================

1 – Add student to course

2 – Add exam grade for student

3 – Remove a student from course

4 – Show grades for 1 student

5 – Show grades for all students in the course

6 – Save course to file

7 – Load course from file

8 – Quit program

================================================

Enter selection between 1 and 8:

Figure 1 – Menu for course program

1 – Read all instructions CAREFULLY!

The User interface is described in Section 1 of this document.

The Java Classes you must implement are described in Section 2 of this document.

2 – All programming must follow the guidelines in Appendix I of the text book (page A-79).

3 – The Project must be submitted as a zipped Java Application as implemented on NetBeans.

4 – The Project must be uploaded by Dec 1, 11:59 PM (Monday).

5 – Extra credit opportunities are listed in the last page. They are optional.

COP2800 – Java Programming Course Project

Fall 2014 Page 2 of 8 Juan López

SECTION 1: USER INTERFACE

The program will behave in the following manner:

A – Menu: Menu item selection must be validated.

Upon program launching, the Menu will be drawn on the screen (see Figure 1). If a user

enters an invalid menu number, the program must advise the user to enter a valid

selection, and try again.

B – Menu Selections:

Selection 1 – Add Student to a course

When user selects item 1, the program asks the user for the Student’s last name, first

name, student id, and her year in college.

If the Student ID provided is not in the course, the program then adds the student to the

course, and prints out the student’s record confirming the addition:

Student added successfully:

Student ID: 1234

Student Name: Smith, Joan

Year in School: 4

Grades: <none>

The program will validate that a student with that ID is not already in the course:

================================================

1 – Add student to course

2 – Add exam grade for student

3 – Remove a student from course

4 – Show grades for 1 student

5 – Show grades for all students in the course

6 – Save course to file

7 – Load course from file

8 – Quit program

================================================

Enter selection between 1 and 8: 1

Enter student ID: 1234

ERROR: Student ID already exists.

(hint: a new Student

object should be created,

then added to the Course

object’s ArrayList of

Students).

COP2800 – Java Programming Course Project

Fall 2014 Page 3 of 8 Juan López

Select 2 – Add an exam grade for a student

When user selects item 2, the program prompts the user for the student’s id.

If there is no student with the ID entered, the program will let the user know, and then reoutput

the main menu.

If a student is found, the program will ask the user for the grade. Grades will be between

0 and 100. The system will not hold more than 5 grades per student.

After adding the grade, the program will print out the student’s record, confirming the

addition of the new grade:

Student grade added successfully:

Student ID: 1234

Student Name: Smith, Joan

Year in School: 4

Grades: 82

Average: 82.0

Select 3 – Remove a student from the course

When user selects item 3, the program prompts the user for the student’s id.

If there is no student with the ID entered, the program will let the user know, and then reoutput

the main menu.

If there is a student with that id, the program prints the student info then asks user to

confirm he wants to delete the student from the course.

Student ID: 1234

Student Name: Smith, Joan

Year in School: 4

Grades: 82

Average: 82.0

Are you sure you want to delete? (Y/N):

If the user responds with a “Y”, the program then deletes the student from the course

and outputs the confirmation.

Student 1234 deleted.

(hint: the program first finds the Student that needs to be deleted from the Course object’s Student ArrayList.

Upon the user confirming, the program deletes that Student object from the Course object’s ArrayList of

Students)

COP2800 – Java Programming Course Project

Fall 2014 Page 4 of 8 Juan López

Select 4 – Show grades for 1 student in the course

When user selects item 4, the program prompts the user for the student’s id. The

program then prints out the student’s grade in the following format:

Student record:

Student ID: 1234

Student Name: Smith, Joan

Year in School: 4

Grades: 82, 94, 89

Average: 89.0

Select 5 – Show grades for all the students in the course

When the user selects item 5, the program will print a list of all the students and their

grades in the following format:

Course roster:

ID Name Year Grades Average

———————————————————————————

1234 Lopez, Juan 3 2, 86, 98 62.00

1235 Alvarez, Jeanie 5 95 95.00

1237 Washington, Jerome 3 <no grades> 0.00

1240 Pierre, Monique 3 <no grades> 0.00

Select 6 – Save course to file

When the user selects item 6, the program will prompt the user for the file name. The

program then saves the file in the format depicted on Figure 2.

If the file cannot be created, the program will return an error message to the user, then

take the user back to the main menu

Figure 2 – Course file format – use the pipe (“|”) as the delimiter

1234|Lopez|Juan|3|3|2|86|98|-1|-1

1235|Alvarez|Jeanie|5|1|95|-1|-1|-1|-1

1237|Washington|Jerome|3|0|-1|-1|-1|-1|-1

Student ID

Last

Name

First

Name

Year in

School

Number of

Grades

Grades (up to 5,

-1 means no

grade exists)

COP2800 – Java Programming Course Project

Fall 2014 Page 5 of 8 Juan López

Select 7 – Load course from file

When the user selects item 7, the program will prompt the user for the name of the file to

be loaded. The file to be loaded will be of the same format depicted in Figure 2.

If the file could not be loaded, the program will return an error message to the user, then

outputs the main menu.

Select 8 – Quit Program

When the user selects item 8, the program prints the word “Goodbye!”, then exits.

Goodbye!

COP2800 – Java Programming Course Project

Fall 2014 Page 6 of 8 Juan López

SECTION 2: JAVA CLASSES

Your java program must implement at least 3 classes as described below.

1 – CourseUI class

The CourseUI class has the user interface to the program.

It should present all output to user and receive all input from the user.

This class should have one

This class needs only one method – the main method.

Your solution should have much more than one method, to make the code readable.

2 – Student class

The Student class has all information about 1 student:

last name (a string)

first name (a string)

year in school (an integer from 1 – 5)

student id (an integer between 1 and 99999)

an Array of exam scores.

each exam score is an integer from 0 – 100.

a student will have no more than 5 exam grades

The Student class should have at least the following public methods:

Constructors:

Student(int inId, String inLastName, String inFirstName, int inYearInSchool)

Student(String inRecordStringFromFile)

Accessors:

String getStudentName()

String getId()

String getYearInSchool()

String getGrades()

double getAverageGrade()

String getStudentFileString()

Mutators:

void setLastName(String inLastName)

void setFirstName(String inFirstName)

void setId(int inId)

void setYearsInSchool(int inYears)

void addExamScore(int inScore)

void removeExamScore(int scoreNbr)

for extra credit

COP2800 – Java Programming Course Project

Fall 2014 Page 7 of 8 Juan López

SECTION 2: JAVA CLASSES (continued)

3 – Course class

The Course class has the information about the course:

an ArrayList of Student objects

name of the file (a string)

flag to know whether file has changed (a boolean)

The Course class should have at least the following public methods:

void addStudent(in inId, String inLastName,

String inFirstName, int yearInSchool)

void removeStudent(int inStudentID)

void addScoreToStudent(int inStudentID, int inScore)

void removeScoreFromStudent(int inStudentID, int inScore)

Student getStudent(int inStudentId)

String getStudentGrades(int inStudentId)

String getAllStudentGrades()

void saveCourseToFile(PrintWriter inOutput)

void loadCourseFromFile(Scanner inFileName)

for extra credit

for extra credit

for extra credit

COP2800 – Java Programming Course Project

Fall 2014 Page 8 of 8 Juan López

Extra Credit #1 – Add option to Remove an exam grade from student

Value: 1 homework assignment

Add menu option: Remove an exam grade from a student

When user selects to remove an exam grade from a student, the program prompts the user

for the student’s id.

If there is no student with the ID entered, the program will let the user know, and then reoutput

the main menu.

If a student is found, the program will list all the grades associated with that student and

prompt the user for the exam number to delete:

Enter student ID: 1235

Student: Lopez, Jennifer

===========

Num – Score

===========

[ 0] – 94

[ 1] – 100

Enter Quiz number: 1

About to delete [ 1] – 100

Are you Sure? (y/n) y

After removing the grade, the program will print out the student’s record, confirming the exam

score removal:

Grade [1] deleted:

Student ID: 1235

Student Name: Lopez, Jennifer

Year in School: 5

Grades: 94

Average: 94.00

Extra Credit #2 – When the user selects Quit, if he has made changes to the

course and has not saved, prompt him to save changes.

Value: 1 homework assignment

Extra Credit #3 – Create a version of the program in another language.

Value: 1 homework assignment

 

We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.

Place Order Now

#write essay #research paper #blog writing #article writing #academic writer #reflective paper #essay pro #types of essays #write my essay #reflective essay #paper writer #essay writing service #essay writer free #essay helper #write my paper #assignment writer #write my essay for me #write an essay for me #uk essay #thesis writer #dissertation writing services #writing a research paper #academic essay #dissertation help #easy essay #do my essay #paper writing service #buy essay #essay writing help #essay service #dissertation writing #online essay writer #write my paper for me #types of essay writing #essay writing website #write my essay for free #reflective report #type my essay #thesis writing services #write paper for me #research paper writing service #essay paper #professional essay writers #write my essay online #essay help online #write my research paper #dissertation writing help #websites that write papers for you for free #write my essay for me cheap #pay someone to write my paper #pay someone to write my research paper #Essaywriting #Academicwriting #Assignmenthelp #Nursingassignment #Nursinghomework #Psychologyassignment #Physicsassignment #Philosophyassignment #Religionassignment #History #Writing #writingtips #Students #universityassignment #onlinewriting #savvyessaywriters #onlineprowriters #assignmentcollection #excelsiorwriters #writinghub #study #exclusivewritings #myassignmentgeek #expertwriters #art #transcription #grammer #college #highschool #StudentsHelpingStudents #studentshirt #StudentShoe #StudentShoes #studentshoponline #studentshopping #studentshouse #StudentShoutout #studentshowcase2017 #StudentsHub #studentsieuczy #StudentsIn #studentsinberlin #studentsinbusiness #StudentsInDubai #studentsininternational