학점 산출 계산기

나의 학점이 어떻게 나올지 미리 예상해보기 위해 계산기를 만들어 보자! 다음 조건에 맞추어 결과화면과 같이 출력이 되도록 프로그램을 작성하십시오.

조건

  • 입력 받는 값은 정수형이다.
  • 수업시수는 몇 강인지를 묻는 것이미르 17주차 수업 기준으로, 주 1회 수업인 경우 총 17강이며, 주 2회 수업을 경우 총 34강이다.
  • 지각 3회당 결석 1회이며, 결석이 수업시수 1/5 이상인 경우, 출석미달로 학점은 ‘F’가 된다.
  • 전체 성적에서, 출결은 10%, 중간고사는 30%, 기말고사 40%, 과제 점수 20%로 책정하여 점수를 낸다.
  • 시험 점수는 100점 만점이며, 과제 점수는 10점 만점이다.
  • 모든 입력 결과로, 전체 성적 점수(총 점수)와 학점을 출력한다.
  • 학점은 전체 성적 점수에서 절대 평가이며, 80점 이상인 경우 ‘A’, 이 미만 60점 이상인 경우 ‘B’, 이 미만은 ‘C’이다.

입력 예

17 1 1 55 70 10
34 9 2 45 35 7
17 3 4 25 66 2

출력 예

74.38 B
51.21 C
F

image

Source

#include<stdio.h>
int main(void) {
	int fre = 0, lat = 0, abs = 0, mid = 0, fin = 0, hw = 0;
	printf("수업시수(강): ");
	scanf("%d", &fre);

	printf("\n[출결] (10\%)\n지각(지각 3회 = 결석 1회): ");
	scanf("%d", &lat);
	printf("결석(수업시수 1/5 이상 F): ");
	scanf("%d", &abs);

	printf("\n[시험] (30\%/40\%)\n중간고사 점수(100점만점): ");
	scanf("%d", &mid);
	printf("기말고사 점수(100점만점): ");
	scanf("%d", &fin);

	printf("\n[기타\ (20\%)\n과제 점수(10점만점): ");
	scanf("%d", &hw);

	if ((lat / 3 + abs) >= fre / 5) {
		printf("출결 미달이므로 나의 학점은 F이다.");
		return 0;
	}

	float result = 0;

	//result = (fre - (lat / 3 + abs)) / fre * 10 + mid * 0.3 + fin * 0.4 + hw * 2;

	if (result >= 80)
		printf("나의 총 점수는 %.2f점이므로 학점은 A 이다!", result);
	else if (result >= 60)
		printf("나의 총 점수는 %.2f점이므로 학점은 B 이다!", result);
	else
		printf("나의 총 점수는 %.2f점이므로 학점은 C 이다!", result);

	return 0;
}

태그:

카테고리:

업데이트: