학점수와 성적 입력받아 학기 평균평점 출력하는 프로그램인데요 오류 수정 부탁드려요
청력
배열을 이용해서 수강하는 과목의 학점 수와 성적을 입력 받아서 이번학기의 평균평점을
출력하는 프로그램을 작성하는건데요
#includestdio.h
#define MAX 8
#define LINE_STAR 1 // * 라인 그리기
#define LINE_BAR 0 // - 라인 그리기
/* 과목 테이블 */
const char *menu[MAX*2] =
{
교선, IT 산업과 경영,
교선, 영어말하기,
교선, 현대 사회와 인간,
전선, 프로그래밍 입문,
전선, 인터넷비즈니스 응용사례,
전필, 고급웹 프로그래밍,
전필, 객체지향 분석설계,
전필, 소프트웨어 공학
};
/* 학점 테이블 */
const char *hakJum[9] = {A+, A0, B+, B0, C+, C0, D+, D0, F};
/*
* [학점, 점수 테이블]
* 학점과 점수를 1차원 배열에 저장합니다. 접근 시 짝수는 학점, 홀수는 점수 입니다.
*/
int score[MAX] = {0,};
/*
* 라인 그리기 함수.
*/
void DrawLine(int num, int type)
{
int i;
for(i = 0 ; i num ; i++)
{
if(type)
printf(*);
else
printf(-);
}
printf(\n);
}
/*
* 각 과목에 대한 점수 입력 함수
*/
void InputScore(void)
{
int i;
for(i = 0 ; i MAX ; i++)
{
printf(%s %-23s %s, menu[i*2], menu[i+i+1], );
scanf(%d %d, &score[i*2], &score[i+i+1]);
}
}
/*
* 학점 계산하기 함수
*/
int ProcessHakjum(const int score)
{
int hakjum = 0;
//아래 범위가 누락된 영역이 있으니 수정하세요.
if(score = 95 && score = 100) //A+
hakjum = 0;
else if(score = 90 && score = 94) //A0
hakjum = 1;
else if(score = 85 && score = 89) //B+
hakjum = 2;
else if(score = 80 && score = 84) //B0... 아래.. 계속
hakjum = 3;
else if(score = 75 && score = 79)
hakjum = 4;
else if(score = 70 && score = 74)
hakjum = 5;
else if(score = 65 && score = 69)
hakjum = 6;
else if(score = 60 && score = 64)
hakjum = 7;
else
hakjum = 8; // ..F
return hakjum;
}
/*
* 결과 출력 함수
*/
void OutputScore(void)
{
int i, hakjumIdx;
int hakjumSum = 0, pjumSum = 0;
float pjumAvg = 0.0, percent = 0.0;
DrawLine(65, LINE_STAR);
printf(%10s %-25s %10s %10s\n, 구분, 과 목 명, 학 점, 성 적);
for(i = 0 ; i MAX ; i++)
{
hakjumSum += score[i*2]; //학점계
pjumSum += score[i+i+1]; //평점계
hakjumIdx = ProcessHakjum(score[i+i+1]); //학점계산 A+, A0..
DrawLine(63, LINE_BAR);
printf
(%10s %-25s %9d %8s\n,
menu[i*2], menu[i+i+1],
score[i*2], hakJum[hakjumIdx]
);
}
DrawLine(65, LINE_STAR);
printf
(
%10s %-25s %10s %10s\n,
학점계, 평 점 계, 평점평균, 백분율환산
);
printf
(
%10d %-25.1f %5.1f/4.5 %10.1f\n,
hakjumSum, (float)pjumSum/MAX, (float)hakjumSum/MAX,
(((float)hakjumSum/MAX)/(float)4.5f) * 100
);
DrawLine(65, LINE_STAR);
}
이렇게 컴파일링을 하면 에러가 뜨는데.. ㅡ.ㅡ 도대체 어디서 에러가 나온지 모르겠네요
결과값으로 나와야 하는 사항은 사진으로 첨부 했어요.
여기서 어떻게 더 수정해야 결과값과 같이 나올지....고수님들의 수정좀 부탁드릴께요~
-
찬솔
제발좀 도와주세요 ㅜ.ㅜ 시간이 없어요.