English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

Write a program that prints its own grading form. the program should output the name and number of the class, the name and number of the programming assignments, your name and student number, and labeled spaces for scores reflecting correctness, quality of style, late deduction, and overall score. You must declare variables (Strings, int...) and use concatenation.

2006-08-30 06:15:33 · 2 answers · asked by cdaminabo 1 in Computers & Internet Programming & Design

2 answers

can you use J#?
Cause then you could use reflection (in System.Reflection namespace) to do that easy.

2006-08-30 09:43:54 · answer #1 · answered by more_evil_then_santa 6 · 0 1

import java.util.arraylist;

class Assignment
{
public static final int FINAL = 0; //40% of grade
public static final int TEST_OR_QUIZ = 1; //30% of grade
public static final int PROJECT = 2; //20% of grade
public static final int NORMAL_WORK = 3; //10% of grade

private String name;
private double grade;
private int weight;

Assignment(String name, double grade, int weight)
{
this.name = name;
this.grade = grade;
this.weight = weight;
}

public String getName()
{
return this.name;
}

public double getGrade()
{
return this.grade;
}

public int getWeight()
{
return this.weight;
}

public void setName(String name)
{
this.name = name;
}

public void setGrade(double grade)
{
this.grade = grade;
}

public void setWeight(int weight)
{
this.weight = weight;
}
}

//base class person
class Person
{
private String firstName;
private String lastName;

Person(String firstName, String lastName)
{
this.name = name;
}

public String getFirstName()
{
return this.firstName;
}

public String getLastName()
{
return this.lastName;
}

public void setFirstName(String name)
{
this.firstName = name;
}

public void setLastName(String name)
{
this.lastName = name;
}
}

//a student who is just a person w/ an id
//and some assignments that he has done
class Student extends Person
{
private int studentId;
private ArrayList assignments;

Student(String firstName, String lastName, int studentId)
{
super(firstName, lastName);
this.studentId = studentId;
}

public int getStudentId()
{
return this.studentId;
}

public void setStudentId(int studentId)
{
this.studentId = studentId;
}

public void addAssignment(Assignment a)
{
assignments.add(a);
}

public void removeAssignment(String name)
{
int i;
for(i = 0;i < assignments.size();i++)
{
if(((Assignment)assignments.get(i)).getName() == name)
break;
}
assignments.remove(i);
}

public ArrayList getAssignments()
{
return assignments;
}

public Assignment getAssignment(String name)
{
int i;
for(i = 0;i < assignments.size();i++)
{
if(((Assignment)assignments.get(i)).getName() == name)
break;
}
return assignments.get(i);
}

public void setAssignment(String name, Assignment a)
{
Assignment b = getAssignment(name);
a = b;
}
}

//This class might seem redundant, but it is just
//an abstraction for the idea of a teacher.
class Teacher extends Person
{
Teacher(String firstName, String lastName)
{
super(firstName, lastName);
}
}

//a class has some students, a name, a teacher, and an id
class Class
{
private ArrayList students;
private String courseName;
private Teacher teacher;
private int classNum;

Class(ArrayList students, String courseName, Teacher teacher, int classNum)
{
for(int i = 0;i < students.size();i++)
{
if(!(students.get(i) instanceof Student))
throw Exception;
}
this.students = students;
this.courseName = courseName;
this.classNum = classNum;
this.teacher = teacher;
}

public ArrayList getStudents()
{
return this.students;
}

public Student getStudent(int studentId)
{
int i;
for(i = 0;i < students.size();i++)
{
if(((Student)students.get(i)).getStudentId() == studentId)
break;
}
return (Student)students.get(i);
}

public void setStudents(ArrayList students)
{
this.students = students;
}

public void setStudent(int studentId, Student student)
{
Student a = getStudent(studentId);
a = student;
}

public void addStudent(Student student)
{
students.add(student);
}

public void removeStudent(int studentId)
{
int i;
for(i = 0;i < students.size();i++)
{
if(((Student)students.get(i)).getStudentId() == studentId)
break;
}

students.remove(i);
}

public Teacher getTeacher()
{
return this.teacher;
}
}

//the grading form prints out the grade info
class GradingForm
{
private Class theClass; //We can't just name it class....

GradingForm(Class theClass)
{
this.theClass = theClass;
}

public void printReport(int studentId)
{
Student s = theClass.getStudent(studentId);
Teacher t = theClass.getTeacher();

System.out.println("Class: " + theClass.getName + " Teacher: " t.getLastName() + ", " + t.getFirstName());
System.out.println("Student: " + s.getLastName + ", " + s.getFirstName + " Student ID: " + s.getId());
System.out.println("---------------------------------------------------------------------");
ArrayList a = s.getAssignments();
System.out.println("Normal Work:");
for(int i = 0;i < a.size();i++)
{
Assignment thisOne = (Assignment)a.get(i);
if(thisOne.getWeight() == Assignment.NORMAL_WORK)
System.out.println(thisOne.getName() + "\t" + thisOne.getGrade());
}
System.out.println("Projects:");
for(int i = 0;i < a.size();i++)
{
Assignment thisOne = (Assignment)a.get(i);
if(thisOne.getWeight() == Assignment.PROJECT)
System.out.println(thisOne.getName() + "\t" + thisOne.getGrade());
}
System.out.println("Tests/Quizzes:");
for(int i = 0;i < a.size();i++)
{
Assignment thisOne = (Assignment)a.get(i);
if(thisOne.getWeight() == Assignment.TEST_OR_QUIZ)
System.out.println(thisOne.getName() + "\t" + thisOne.getGrade());
}
System.out.println("Final Exam:");
for(int i = 0;i < a.size();i++)
{
Assignment thisOne = (Assignment)a.get(i);
if(thisOne.getWeight() == Assignment.FINAL)
System.out.println(thisOne.getName() + "\t" + thisOne.getGrade());
}
}
}





That should work, but I never compiled it so idk what errors will happen. Sorry that stuff isn't indented, I wrote it in notepad and when i copied it the tabs got lost.

2006-08-30 13:44:13 · answer #2 · answered by Sean J 2 · 0 0

fedest.com, questions and answers