점수별로 A, B, C, D, F 로 등급을 주자. if 문과 switch 문 두 가지 방법을 사용해 보고자 한다.
if 사용해서.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include "config.h"
void main() {
int cpp, java, jsp;
// printf("세 과목의 점수를 입력하세요 : ");
// scanf_s("%d %d %d", &cpp, &java, &jsp);
// 혹은
cout << "세 과목의 점수를 입력하세요 : ";
cin >> cpp >> java >> jsp;
int total = cpp + java + jsp;
//double average = total / 3; // 정수와 정수의 연산은 정수이므로, 소수점자리가 0만 나옴. - 둘 중 하나를 실수로 바꿔주면 됨 ex) 3 -> 3.0
// 아니면 형변환(casting) 해주기
double average = (double)total / 3;
printf("총점 : %d, 평균 : %.2f\n", total, average);
// if(조건식) {
// 조건식이 참일 경우 실행할 문장; => 들여쓰기 하는게 보기 편함.
// ...;
// } else {
// 조건식이 거짓일 경우 실행할 문장;
// ...;
// }
if (average >= 90) {
printf("A\n");
}
else if(average >= 80) { // 90 > average >= 80 => 문법적 오류 x, 실행 안됨. True, False 는 각각 1, 0 이기 때문에 조건 만족안됨.
printf("B\n");
}
else if (average >= 70) {
printf("C\n");
}
else if (average >= 60) {
printf("D\n");
}
else {
printf("F\n");
}
|
cs |
switch 를 사용해서 평균이 100점인 학생에게는 "참 잘했어요" 와 "A" 가 같이 찍히도록 해보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
switch ((int) average / 10) {
case 10:
cout << "참 잘했어요" << endl;
case 9:
cout << "A" << endl;
break;
case 8:
cout << "B" << endl;
break;
case 7:
cout << "C" << endl;
break;
case 6:
cout << "D" << endl;
break;
default:
cout << "F" << endl;
break;
}
|
cs |
'C, C++' 카테고리의 다른 글
C++/왕복버블정렬 알고리즘 (0) | 2020.01.08 |
---|---|
C++/소인수분해 알고리즘 문제/ (0) | 2020.01.08 |
C/C++/if/윤년평년 판별식 (0) | 2020.01.06 |
C/C++/절대경로와 상대경로/출력서식/기본자료형/묵시적,명시적 형변환 (0) | 2020.01.03 |
C/C++/기초/연산자/ (0) | 2020.01.03 |