[ create a new paste ] login | about

Link: http://codepad.org/ErDx4Mf3    [ raw code | output | fork ]

박정욱 - C++, pasted on May 19:
//객체지향 금 123	200911636 박정욱
//2012.5.18		1번 : Exercise 16-1	상위권 점수만 출력
#include<iostream>

using namespace std;

#define NUM_OF_SCORES 10

float	return_ave(float scores[]);							//scores[]의 평균을 리턴하는 함수.
float	return_above(float score, float ABOVE);				//ABOVE 초과의 점수인 경우 return score , 이하인 경우 return -1
void	cout_above(float scores[], float ABOVE);			//scores[]중, ABOVE 초과의 점수만 출력하는 함수.

void main()
{
	float scores[NUM_OF_SCORES]={10,20,30,40,50,60,70,80,90,100};	//점수의 초기화
	float ave=0;													//평균값을 저장할 변수
	int i;															//for문을 사용하기 위한 변수 i

	for(i=0; i< NUM_OF_SCORES ; i++)								//초기화 된 점수 scores[i] (0 ≤ i < 10)들을 출력한다.
	{	cout << return_above(scores[i], 0)<<endl;	}				//return_above(scores[i], 0) : scores[i]가 0이상인 경우 출력한다.
	
	ave= return_ave(scores);										//평균값을 ave 변수에 저장한다.
	cout <<"평균 : " << ave << endl;									//ave에 대입한 평균값을 보여준다.

	cout_above(scores, ave);										//일정 점수 이상만 출력해주는 함수 호출
																	//cout_above(scores, ave) : scores중, 평균 ave 이상의 점수들만 출력한다.
}

//평균 리턴하는 함수
float return_ave(float scores[])
{
	float average=0;								//평균값을 저장할 변수 average
	int i;											//for문을 사용기위해 필요한 변수 i

	for(i=0; i < NUM_OF_SCORES ; i++)				//점수 총합을 average에 저장
	{	average +=	scores[i];	}
	average = average/NUM_OF_SCORES;				//점수 총합을 점수들의 갯수로 나눈다.
	return average;									//평균 average를 리턴.
}

//ABOVE보다 큰 값의 점수인 경우 return score , 이하인 경우 return -1
float	return_above(float score, float ABOVE)
{
	float check;
	check = score > ABOVE ? score: -1;				
	return check;
}

//scores[]중, ABOVE보다 큰 값의 점수만 출력하는 함수.
void cout_above(float scores[], float ABOVE)
{
	int i,j;													//for문을 사용하기 위한 변수 i j
	int num_of_above_score=0;									//ABOVE의 값보다 큰 값만 출력할 점수들의 갯수
	float* cout_scores;											//만큼 메모리 공간을 저장할 변수 

	for(i=0; i< NUM_OF_SCORES ; i++)							//ABOVE보다 큰 점수들의 갯수를 구한다.
	{	if(return_above(scores[i], ABOVE) !=-1)	
		{	num_of_above_score++;	}		
	}

	cout_scores = new float [num_of_above_score];				//출력할 갯수만큼 메모리를 할당한다.

	i=0;														//i의 초기화
	for(j=0; j< NUM_OF_SCORES; j++)								//ABOVE보다 큰 값들의 점수들을 메모리를 할당받은
	{	if(return_above(scores[j], ABOVE) !=-1)					
		{	cout_scores[i]=return_above(scores[j], ABOVE);		//cout_scores에 대입한다.
			i++;	
		}
	}

	cout << ABOVE <<"이상의 점수"<< endl;						//ABOVE 이상의 점수들을 출력한다.
	for(i=0; i < num_of_above_score ;i++)
	{	cout << cout_scores[i] << endl;	}

	delete cout_scores;											//할당받았던 메모리를 해제한다.
	cout_scores = NULL;
}


Output:
1
2
Line 13: error: '::main' must return 'int'
compilation terminated due to -Wfatal-errors.


Create a new paste based on this one


Comments: