0% found this document useful (0 votes)
9 views

Student Abstruct (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Student Abstruct (1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

‫ﻜﻟـ ـﻴ ــﺔ ‪:‬اﻠﻌﻟﻮم واﻠﻬﻨﺪﺳﺔ‬ ‫اﻠﺠﻣﻬﻮرﻳﺔ اﻠﻴﻣﻨﻴﺔ‬

‫اﻠﻘﺴﻢ‪ :‬ﻋﺎم‬ ‫وزارة اﻠﺘﻌﻟﻴﻢ اﻠﻌﺎﻠﻲ واﻠﺒﺤﺚ اﻠﻌﻟﻣﻲ‬


‫اﻠﻣﺴﺘﻮى‪ :‬اﻠﺜﺎﻧﻲ‬ ‫اﻠﺠﺎﻤﻌﺔ اﻠﻮﻃﻨﻴﺔ‬
‫اﻠﻣ ـ ــﺎدة‪:‬ﺑﺮﻤﺠﺔ اﻠﻛﺎﺋﻨﺎت اﻠﻣﻮﺟﻬﺔ‬ ‫ﻓﺮع ﺻﻨﻌﺎء‬
‫‪Abstruct Sudent‬‬

‫م‪2012/2013‬‬ ‫اﻛﺗب ﻛود ﯾﻧﻔذ اﻟﺗﺎﻟﻲ‬ ‫أ‪.‬‬


‫‪Student‬‬
‫اﻟطﺎﻟب‬
‫ﻋدد اﻻﻣﺗﺣﺎﻧﺎت‪-NUM_OF_TESTS : final int = 3‬‬
‫اﻻﺳم ‪- studentName : string‬‬
‫ﻣﺻﻔوﻓﺔ ﻟدرﺟﺎت اﻻﻣﺗﺣﺎﻧﺎت ‪- test [3] : int‬‬
‫اﻟﺗﻘدﯾر ‪- courseGrade=* : string‬‬
‫داﻟﺔ اﻟﺑﻧﺎء )‪+Student(studentName : string‬‬
‫داﻟﺔ اﺳﻧﺎد درﺟﺎت اﻻﻣﺗﺣﺎﻧﺎت )‪+setScore(s1 : float, s2 : float, s3 : float‬‬
‫داﻟﺔ اﺳﻧﺎد اﻻﺳم )‪+setName(newName : string‬‬
‫داﻟﺔ اﻟﺣﺻول ﻋﻠﻰ درﺟﺎت اﻻﻣﺗﺣﺎﻧﺎت ‪+getTestScore() : int‬‬
‫داﻟﺔ اﻟﺣﺻول ﻋﻠﻰ اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ ‪+getCourseGrade() : string‬‬
‫داﻟﺔ اﺳﻧﺎد درﺟﺔ اﻣﺗﺣﺎن )‪+setTestScore(testNumber : int, testScore : float‬‬
‫داﻟﺔ اﻟﺣﺻول ﻋﻠﻰ اﺳم اﻟطﺎﻟب ‪+getStudentName() : string‬‬
‫داﻟﺔ ﻣﺟردة ﺣﺳﺎب اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ ‪+computeCourseGrade()abstract‬‬

‫‪GraduateStudent‬‬ ‫‪UnderGraduateStudent‬‬
‫طﺎﻟب اﻟﻣﺎﺟﺳﺗﯾر‬ ‫طﺎﻟب اﻟﺑﻛﺎﻟورﯾوس‬

‫داﻟﺔ ﺑﻧﺎء)‪+GraduateStudent(…..‬‬ ‫داﻟﺔ ﺑﻧﺎء)‪+UnderGraduateStudent(…..‬‬


‫داﻟﺔ ﺣﺳﺎب اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ ‪+ computeCourseGrade() :‬‬ ‫داﻟﺔ ﺣﺳﺎب اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ ‪+ computeCourseGrade() :‬‬

‫داﻟﺔ ﺣﺳﺎب اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ‪ computeCourseGrade() :‬ﺗﻌﻣل‬


‫‪StudentSystem‬‬ ‫اﻻﺗﻲ‪:‬‬
‫اﻧﺸﺎء ﻛﺎﺋﻨﺎت ﻣﻦ اﻟﺘﺎﻟﻲ ‪* Create objects of following‬‬
‫‪- UnderGraduateStudent‬‬ ‫ﺗﻌﻣل ﻋﻠﻰ ﺣﺳﺎب ﻧﺗﯾﺟﺔ اﻟطﺎﻟب ﻣن ﺧﻼل ﺟﻣﻊ درﺟﺎﺗﮫ‬
‫‪- GraduateStudent‬‬ ‫اﻟﺛﻼث اﻟﻣﺧزﻧﺔ ﻓﻲ اﻟﻣﺻﻔوﻓﺔ ‪ test‬وﻣن ﺛم اﺳﻧﺎد اﻟﻧﺗﯾﺟﺔ‬
‫اﺳﻧﺎد درﺟﺎت اﻻﻣﺗﺣﺎﻧﺎت ‪- Set Student Score‬‬ ‫اﻟﻧﮭﺎﺋﯾﺔ ﻓﻲ ﻣﺗﻐﯾر ‪ courseGrade‬اذا ﻛﺎن ﻧﺎﺟﺢ ‪ Pass‬او‬
‫)‪UnderGraduateStudent (20,20,40‬‬ ‫راﺳب ‪ No Pass‬ودرﺟﺔ اﻟﻧﺟﺎح ﺗﺣﺳب ﻛﺎﻻﺗﻲ‬
‫)‪GraduateStudent(15,10,40‬‬
‫‪ -1‬طﺎﻟﺑﺎﻟﺑﻛﺎﻟورﯾوس‪:UnderGraduateStudent‬‬
‫ﺣﺳﺎب اﻟﻧﺗﯾﺟﺔ اﻟﻧﮭﺎﺋﯾﺔ ‪- Compute Student Grades‬‬ ‫درﺟﺔ اﻟﻧﺟﺎح = ‪50‬‬
‫طﺑﺎﻋﺔ اﺳم اﻟطﺎﻟب و ﻧﺗﯾﺟﺗﮫ ‪- Print Student Name and the courseGrade‬‬

‫‪ -2‬طﺎﻟﺑﺎﻟﻣﺎﺟﺳﺗﯾر‪:GraduateStudent‬‬
‫درﺟﺔ اﻟﻧﺟﺎح = ‪70‬‬

‫‪Page 1 of 6‬‬
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package student1;

/**
*
* @author Ebrahim
*/
import java.util.Scanner;

public class MainStudentSystem {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

Scanner s=new Scanner(System.in);


System.out.println("enter graduete student name : ");
String n=s.next();

GraduateStudent s1=new GraduateStudent(n);

System.out.println("enter student grades : ");

float g1=s.nextFloat();
float g2=s.nextFloat();
float g3=s.nextFloat();

s1.setScore(g1, g2, g3);

System.out.println("enter student grade that was wronge : ");


Page 2 of 6
int i=s.nextInt();
float k=s.nextFloat();

s1.setTestScore(i, k);

float sum=s1.computeCourseGrade();

System.out.println("Sudent name = "+s1.getStudentName() + ""


+ " g1 = "+s1.test[0]+" g2 = "+s1.test[1]+ " g3 = "+s1.test[2]
+"sum = "+sum +" result = "+s1.courseGrade);

System.out.println("enter undergraduatestudent student name : ");


n=s.next();

UnderGraduateStudent s2=new UnderGraduateStudent(n);

System.out.println("enter student grades : ");

g1=s.nextFloat();
g2=s.nextFloat();
g3=s.nextFloat();

s2.setScore(g1, g2, g3);

System.out.println("enter student grade that was wronge : ");

i=s.nextInt();
k=s.nextFloat();

s2.setTestScore(i, k);

sum=s2.computeCourseGrade();

Page 3 of 6
System.out.println("Sudent name = "+s2.getStudentName() + ""
+ " g1 = "+s2.test[0]+" g2 = "+s2.test[1]+ " g3 = "+s2.test[2]
+"sum = "+sum +" result = "+s2.courseGrade);

abstract class Student


{
final static int NUM_OF_TESTS=3;
String studentName;
float test[];
String courseGrade;

Student(String studentName)
{
this.studentName=studentName;
test=new float[NUM_OF_TESTS];
courseGrade="****";
}

void setScore(float s1,float s2,float s3)


{
test[0]=s1;
test[1]=s2;
test[2]=s3;
}
float getTestScore(int g)
{
return test[g-1];
}

String getCourseGrade()
{
return courseGrade;
Page 4 of 6
}

void setTestScore(int s,float h)


{
test[s-1]=h;
}

String getStudentName()
{
return this.studentName;
}
abstract float computeCourseGrade();

class GraduateStudent extends Student


{
GraduateStudent(String studentName)
{
super(studentName);
}

@Override
float computeCourseGrade()
{
float sum=0;
for (int i=0;i<test.length;i++)
sum=sum+test[i];
if(sum>=70)
courseGrade="pass";
else
courseGrade="Faild";

return sum;
}

Page 5 of 6
}

class UnderGraduateStudent extends Student


{
UnderGraduateStudent(String studentName)
{
super(studentName);
}

@Override
float computeCourseGrade()
{
float sum=0;
for (int i=0;i<test.length;i++)
sum=sum+test[i];
if(sum>=50)
courseGrade="pass";
else
courseGrade="Faild";

return sum;
}
}

Page 6 of 6

You might also like