평균이 안구해지네요죄송합니다...문제찾음...
의사양반
질문 제목 : 평균이 안 구해지네요 아래에 보시면 학점 점수 얻어서 총학점과 평균을 구하는 프로그램입니다..그런데
평균이 안구해지네요...무슨 문제인지좀 알려주세요
실행 시켜보시면 알겠지만 error는 없습니다 근데 이상한값나오네요
//나 바보같다..맨날 여기서 걸려 float 바꾸는게 익숙하지 못하네요...
ㅠㅠ 거기서 맨날 이거때메 해매는느낌...
질문 내용 :
#includestdio.h
#define po 11
int main(void)
{
int sub[po][50],point[po];
float score[po];
int spo=0;
float sum=0,avg=0;
int num,i,w;
printf(학점총합,평균 구하는 프로그램입니다.\n);
printf(1.학점 점수를 입력);
printf(2.학점 총합 점수 총합,평균);
printf(번호를 선택하시오\n);
scanf(%d,&w);
switch(w)
{
case 1:
printf(과목수를 입력하십시오.\n);
scanf(%d,&num);
for(i=1;i=num;i++)
{
if(num12)
{
printf(과목이름과 학점,점수를 입력하십시오\n);
scanf(%s %d %f,&sub[i],&point[i],&score[i]);
}
else
{
printf(12과목을 들을수없습니다.\n);
i=num;
break;
}
}
case 2:
for(i=1;i=num;i++)
{
spo+=point[i];
sum+=(float)score[i]*point[i]; //이부분 이상한건가요 캐스트연산자 사용했는데...
}
avg=(float)sum/spo;//이것도
printf(총 학점은 %d입니다.\n,spo);
printf(평균은 %d입니다. \n,avg); //%f로 안바꿔줘서 생기는 문제
}
}
-
집1어치워
저기,.. 제가 잘 이해가 안가서 그러는데 #define po 11 가 po 값을 11로 전처리기로 정의한거잖아요?
int sub[po][50],point[po];
float score[po];
랑 sub[i], point[i], score[i] 가 이해가 안가는데요.. 문자형도 하닌 int, float 형이 꼭 배열처럼 생기고
쓰이네요 ; 설명좀 해주시면 안될까요?? -
마음
avg라는 변수는 실수형인데 출력 포멧이 정수 입니다. 아마도 이상한 쓰레기 값이 나오겠군요;;