2016-10-19 2 views
0

학생이받은 점수를 3 과목에서 받고이 점수의 평균 및 백분율을 (으)로 반환하는 함수를 작성하십시오. main()에서이 함수를 호출하고 결과를 main()에 인쇄하십시오.함수를 사용하여 총 표시의 평균 및 백분율을 찾는 방법. C++

#include<iostream> 

using namespace std; 

int mark() 
{ 
    int mark[3]; 
    int sum; 
    float *average, *percentage; 
    cout << "Enter the marks of urdu, english and islamiat out of 100" << endl; 
    cin >> mark[1] >> mark [2] >> mark [3]; 
    sum = mark[1] + mark[2] + mark[3]; 
    *average = sum/3; 
    *percentage =(sum/300)*100; 
} 


int main() 
{ 
    int x, y; 
    mark(); 
    return 0; 
} 
+0

# 포함 using namespace std; int mark() { int mark [3]; int sum; float * 평균, * 백분율; cout << "urdu, english 및 islamiat의 마크를 100 개 중"<< endl; cin >> mark [1] >> 마크 [2] >> 마크 [3]; sum = 마크 [1] + 마크 [2] + 마크 [3]; * average = sum/3; * percentage = (합계/300) * 100; } int main() { int x, y; mark(); return 0; } –

+0

코드를 주석으로 게시하는 대신 질문을 편집하십시오. – UKMonkey

+0

Sidenote : 표시 함수가 아무 것도 반환하지 않으므로 형식이 무효화되어야합니다. –

답변

0

평균 및 백분율에 대한 포인터를 함수의 인수로 전달하십시오. 그러면 메인에서 그들에게 접속할 수 있습니다.

일반적으로 main (또는 두 번째 함수)의 입력을 읽고 함수의 인수로 값을 전달합니다. 코드를 더 테스트하고 재사용 할 수있게 만드는 것이 더 나은 디자인입니다.

0

이 프로그램이 작동합니다!

#include <iostream> 
#include <string> 

using namespace std; 

void mark(float *average) 
{ 
int markg[3], sum; 
string mg[] = { "first", "second", "third" }; 
cout << "Enter the marks of urdu, english and islamiat out of 100" << endl; 
    for (int i = 0; i < 3; ++i) { 
     cout << "Enter " << mg[i] << " mark:"; 
     cin >> markg[i]; 
    } 
sum = markg[0] + markg[1] + markg[2]; 
*average = sum/3; 
} 

int main() 
{ 
float average; 
mark(&average); 
cout << "Average = " << average << endl; 
return 0; 
} 

나는 포인터를 사용했다. markg []를 사용하여 function mark()와 구별했습니다. 사용자가 한 번에 하나씩 각 마크를 입력하게하십시오. cin >> markg [1] ... 을 사용하면 오류가 발생할 수 있습니다. getline을 사용하여 문자열을 입력 한 다음 필요한 문자열을 구문 분석 할 수 있습니다. 나는 더 간단한 방법을 선택했다. 평균 및 백분율을 정의 했으므로 동일합니다. 이 점에 대한 설명을 교수에게 물어보고 싶을 수도 있습니다. 이 조언이 도움이되기를 바랍니다.

관련 문제