|
일단 구조체를 선언하고 초기화 하는 부분에 문제가 있습니다.
sungjuk no1 = { "Jon", 78, 90, 65, no1.kor + no1.eng + no1.math, no1.tot/3 } ;
여기서 tot 값과 ave 값을 초기화 하는 내부에서 자신의 인스턴스를 사용하는 것이
문제가 있습니다.
struct sungjuk no1 = {"Jon", 78, 90, 65} ;
no1.tot = no1.kor + no1.eng + no1.math ;
no1.ave = no1.tot / 3.0 ; <-- 3.0 으로 안하고 3 으로 나누면 소수점 이하가 사라집니다.
위처럼 고치면 되고.
cout 을 여러번 사용하기 귀찮으면 구조체를 배열로 선언해서 반복문으로 출력하세요..
struct sungjuk no[10] ;
no[0] = {"aaa",30,40,50}
no[0].tot = no[0].kor + no[0].eng + no[0].math ;
no[0].ave = no[0].tot / 3.0 ;
:
:
for(int loop=0 ;loop<10;loop++)
{
cout << no[loop].name << " " << no[loop].kor << " " << no[loop].eng << " "
<< no[loop].math << " " << no[loop].tot << " " << no[loop].ave << "\n";
}
|