Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- class MenuHandler
- {
- static final Scanner Input=new Scanner(System.in);
- int displayMenu()
- {
- int choice;
- System.out.println("Welcome CGPA and SGPA calculater\n 1)Calculate SGPA and CGPA\n2)display SGPA of specific Semester\n 3)display CGPA \n 4) Exit");
- System.out.println("Enter Your Choice");
- choice=MenuHandler.Input.nextInt();
- return choice;
- }
- boolean isPositiveNumber(int n)
- {
- return n>0;
- }
- }
- class SGPACalculator extends MenuHandler
- {
- int getGradePoints(int marks)
- {
- if (marks >= 90) return 10;
- else if (marks >= 80) return 9;
- else if (marks >= 70) return 8;
- else if (marks >= 60) return 7;
- else if (marks >= 50) return 6;
- else if (marks >= 40) return 5;
- else return 0;
- }
- double calculateSGPA(int numberOfSubjects)
- {
- int marks,credits;
- int totalGradePoints=0;
- int totalCredits=0;
- for(int i=1;i<=numberOfSubjects;i++)
- {
- do{
- System.out.println("Enter marks for Subject " + i + " (0-100):");
- marks=Input.nextInt();
- System.out.println("Enter Credits for Subject "+i);
- credits=Input.nextInt();
- if (marks>=0 && marks<=100 && isPositiveNumber(credits))
- break;
- else
- System.out.println("Invalid Marks or Credits. Please Enter Valid Marks or Credits");
- }while(true);
- int gradePoints=getGradePoints(marks);
- totalGradePoints+=gradePoints*credits;
- totalCredits+=credits;
- }
- double sgpa=(double)totalGradePoints/totalCredits;
- return sgpa;
- }
- }
- class CGPACalculator extends SGPACalculator
- {
- double[] sgpa;
- double cgpa=0;
- void calculateCGPA(int numberOfSemester)
- {
- int NumberOfSubjects;
- double totalSgpa=0;
- sgpa=new double[numberOfSemester];
- for(int i=0;i<sgpa.length;i++)
- {
- do{
- System.out.println("Enter Number Of Subjects in "+(i+1)+" Semester");
- NumberOfSubjects=Input.nextInt();
- if(!isPositiveNumber(NumberOfSubjects))
- System.out.println("Invalid Number.Please Enter Valid Number");
- else
- break;
- }while(true);
- sgpa[i]=calculateSGPA(NumberOfSubjects);
- totalSgpa+=sgpa[i];
- }
- cgpa=totalSgpa/numberOfSemester;
- }
- void displayCGPA()
- {
- if(cgpa==0)
- System.out.println("Please Calculate CGPA first");
- else
- System.out.printf("Your CGPA is %.2f throughout the College\n",cgpa);
- }
- void displaySGPA()
- {
- if(sgpa==null || sgpa.length==0)
- {
- System.out.println("Please Calculate SGPA first");
- return;
- }
- do{
- System.out.println("Enter Semester Number(1 to "+sgpa.length+")");
- int Semester=Input.nextInt();
- if(isPositiveNumber(Semester) && Semester<=sgpa.length)
- {
- System.out.printf("SGPA=%.2f\n",sgpa[Semester-1]);
- break;
- }
- }while(true);
- }
- }
- class CGPA_SGPA_cal
- {
- public static void main(String[] args)
- {
- CGPACalculator Calculator=new CGPACalculator();
- int NumberOfSemester;
- boolean flag1=true;
- do
- {
- switch(Calculator.displayMenu())
- {
- case 1:
- do{
- System.out.println("Enter Number of Semesters");
- NumberOfSemester=MenuHandler.Input.nextInt();
- if(Calculator.isPositiveNumber(NumberOfSemester))
- break;
- else
- System.out.println("Invalid Number.Please Enter Valid Number");
- }while(true);
- Calculator.calculateCGPA(NumberOfSemester);
- break;
- case 2:
- Calculator.displaySGPA();
- break;
- case 3:
- Calculator.displayCGPA();
- break;
- case 4:
- System.out.println("Exiting System");
- flag1=false;
- break;
- default :
- System.out.println("Invalid choice.Please Enter Valid choice");
- }
- }while(flag1);
- MenuHandler.Input.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment