/*
프로그램명 : 학점 계산 프로그램V0.1
*/
#include <stdio.h>
#define N 3 //상수
//[0] 구조체 설계
struct Record{
int Num; //번호
int Eng; //영어
int Jap; //일어
int Tot; //총점
float Avg; //평균
char Grade; //학점
};
void main(void){
//[1] Init
int i;
struct Record InputData[N];//입력
//[2] Input
{
for(i = 0;i < 3;i++){
printf("학생번호 : _\b");
scanf("%d", &InputData[i].Num);
printf("\n영어점수 : ___\b\b\b");
scanf("%d", &InputData[i].Eng);
printf("\n일어점수 : ___\b\b\b");
scanf("%d", &InputData[i].Jap);
}
}
//[3] Process
for(i = 0;i < N;i++){
//[i]총점
{
InputData[i].Tot =
InputData[i].Eng
+ InputData[i].Jap;
}
//[ii]평균
{
InputData[i].Avg =
InputData[i].Tot / 2.0;
}
//[iii]학점
{
if(InputData[i].Avg > 90
&& InputData[i].Avg <= 100){
InputData[i].Grade = 'A';
}
else if(InputData[i].Avg > 80){
InputData[i].Grade = 'B';
}
else if(InputData[i].Avg > 70){
InputData[i].Grade = 'C';
}
else if(InputData[i].Avg > 60){
InputData[i].Grade = 'D';
}
else{
InputData[i].Grade = 'F';
}
}
//[iv]평균 반올림 : 3.5 -> 4
{
InputData[i].Avg =
(int)(InputData[i].Avg + 0.5);
}
}
//[4] Output
{
printf("\n처리 데이터 출력\n");
printf("번호 영어 일어 총점 평균 학점\n");
for(i = 0;i < N;i++){
printf(
"%4d %4d %4d %4d %4.1f %4c\n"
, InputData[i].Num
, InputData[i].Eng
, InputData[i].Jap
, InputData[i].Tot
, InputData[i].Avg
, InputData[i].Grade
);
}
printf("\n원본 데이터 출력\n");
for(i = 0;i < N;i++){
printf("%d %d %d\n"
, InputData[i].Num
, InputData[i].Eng
, InputData[i].Jap);
}
}
}