c++ 코드 질문

조회수 508회
#include <iostream> 
#include <cmath> 
#include <cstdlib> 

using namespace std; 

struct student { 
  int sc[3]; 
  int total; 
  double ave; 
  char hakhum[5]; 
}; 

int total(student stu[5], int i); 
double ave(student stu[5], int i); 
char hakjum(student stu[5], int i); 

void main() { 
  int i, j; 
  struct student st[5]; 
  cout << "학생의 성적을 입력하세요.\n"; 
  for (i = 0; i < 5; i++) { 
    cout << i+1<<"번째 국어 영어 수학 : "; 
    for (j = 0; j < 3; j++) 
      cin >> st[i].sc[j]; 
  } 
  total(st, i); 
  ave(st, i); 
  hakjum(st, i); 
  cout << "\n번호 국어 영어 수학 총점 평균 학점 석차"; 
  for (i = 0; i < 5; i++) { 
    cout << i+1 << "  " << st[i].sc[0] << "  " << st[i].sc[1] << "  " << st[i].sc[2] << "  " << st[i].total << "  " << st[i].ave<< "  " << st[i].hakhum[i] <<  endl; 
  } 
} 

int total(student stu[5], int i) { 
  for (i = 0; i < 5; i++) { 
    stu[i].total = stu[i].sc[0] + stu[i].sc[1] + stu[i].sc[2]; 
  } 
  return; 
} 

double ave(student stu[5], int i) { 
  for (i = 0; i < 5; i++) { 
    stu[i].ave = stu[i].total / 3.0; 
  } 
  return; 
} 

char hakjum(student stu[5], int i) { 
  int n; 
  for (i = 0; i < 5; i++) { 
    n = stu[i].ave / 10.0; 
    switch (n) { 
      case 10: 
      case 10: 
        stu[i].hakhum[i] = 'A'; 
        break; 
      case 8: 
        stu[i].hakhum[i] = 'B'; 
        break; 
      case 7: 
        stu[i].hakhum[i] = 'C'; 
        break; 
      case 6: 
        stu[i].hakhum[i] = 'D'; 
        break; 
      default: 
        stu[i].hakhum[i] = 'F'; 
    } 
    return; 
  } 
} 

위의 함수들을 반환할려고 할때 어떻게 반환 시켜야 하나요?

  • 함수의 반환값은 필요 없어보입니다 함수를 void형태로 바꿔주시고 파타미러 제거하시고 내부에서 int i; 선언하신다음에 for문 쓰세요. 꼭 반환값이 필요하시다면 다르게 짜셔야합니다. 김호원 2020.5.25 13:24

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)