728x90

 

 

 

 

 

 

	public void practice9(){
		
		// 중간고사, 기말고사, 과제점수, 출석회수를 입력하고 Pass 또는 Fail을 출력하세요.
		// 평가 비율은 중간고사 20%, 기말고사 30%, 과제 30%, 출석 20%로 이루어져 있고
		// 이 때, 출석 비율은 출석 회수의 총 강의 회수 20회 중에서 출석한 날만 따진 값으로 계산하세요.
		// 70점 이상일 경우 Pass, 70점 미만이거나 전체 강의에 30% 이상 결석 시 Fail을 출력하세요.

		System.out.print("중간 고사 점수 : ");
		int midterm = sc.nextInt();
		System.out.print("기말 고사 점수 : ");
		int finals = sc.nextInt();
		System.out.print("과제 점수 : ");
		int score = sc.nextInt();
		System.out.print("출석 회수 : ");
		int attendance = sc.nextInt();
		
		double mid_proportion = midterm*0.2;	// 20%를 치환하면 *0.2
		double finals_proportion = finals*0.3;
		double score_proportion = score*0.3;
		double attendance_proportion = (100/20)*attendance*0.2;
		double sum = mid_proportion+finals_proportion+score_proportion+attendance_proportion;
		
//		100/20*attendance <= 0.7 ?
		
		System.out.println("================= 결과 =================");

		
		if(sum>=70) {
			System.out.printf("중간 고사 점수(20) : %.1f%n",mid_proportion);
			System.out.printf("기말 고사 점수(30) : %.1f%n",finals_proportion);
			System.out.printf("과제 점수            (30) : %.1f%n",score_proportion);
			System.out.printf("출석 점수            (20) : %.1f%n",attendance_proportion);
			System.out.printf("총점 : %.1f%n",sum);
			System.out.println("PASS");
		}else if (attendance*(100/20) <= 70 ) { // 비율 계산의 0.7이 아닌 출  
			System.out.printf("Fail [출석 회수 부족 (%d/20)]",attendance);
		}else if (sum<70) {
			System.out.printf("중간 고사 점수(20) : %.1f%n",mid_proportion);
			System.out.printf("기말 고사 점수(30) : %.1f%n",finals_proportion);
			System.out.printf("과제 점수            (30) : %.1f%n",score_proportion);
			System.out.printf("출석 점수            (20) : %.1f%n",attendance_proportion);
			System.out.printf("총점 : %.1f%n",sum);
			System.out.println("Fail [점수 미달]");
		}
	}
728x90
반응형

+ Recent posts