게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 고수님들 꼭 도와주세요!
게시물ID : science_8348짧은주소 복사하기
작성자 : 50278;깠
추천 : 0
조회수 : 642회
댓글수 : 10개
등록시간 : 2011/12/01 22:12:11
미국 유학생인데요.
8시간 뒤에 제출인 과제가 있는데 아직도 잔뜩 헤매고 있네요 ㅠㅠ

1. text 형식의 점수만 잔뜩 써있는 file을 읽고나서
2. A,B,C,D,F 의 기준을 정하고 (ex: 91점까지 A, 78점까지 B, 등등)
3. Min, Max 점수를 찾고 (text file 안에 있는 점수중 제일 낮은 점수와 제일 높은 점수)
4. 모든 점수들의 평균을 구하고
5. 그 파일 안에 점수가 총 몇개가 있는지 구하고 나서
6. 그 점수들 안에서 A가 몇명인지 부터 F가 몇명인지 까지를 구하는 프로그램인데요.

Array를 사용해야하구요,
5번까지는 하는방법은 대충 이해가 되는데 프로그램으로 어떻게 하는지 모르겠어요.
1,2,3,4,5번까지 각각 다른 펑션 썼구요
궁금한건 그 각각 다른 펑션 에서 어떻게 숫자를 이어가냐 에요.
예를들어 1번 펑션 에서 array를 사용해서 i의 값(점수들의 갯수)이 32가 나왔을때
4번의 펑션 에서 평균을 구할려면 총 합에서 1번에서 나온 i값으로 나눠야 평균이 나오잖아요?
근데 그런 방식을 전혀 모르니깐 어떻게 하는지 방법을 모르겠네요.
8시간 뒤에 제출입니다.
고수님들 꼭 도와주세요.
뭘 어떻게 고쳐야하는지, 혹은 제 프로그램중에 틀린부분좀 알려주세요


===============================================================================================
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;


void GetScores (ifstream&fin, int Score[]) ;
void FindMaxMin (int Score[], int &Number) ;
void FindAvg (ifstream &fin, int Score[]) ;
void CutOff (int GradeScore[]) ;


int main ()
{
ifstream fin;
float Avg;
int Numbersize = 200, Score[200], BadScore = 0, Counter = 0, GradeScore[200], Number ;
string Grade ;

GetScores(fin, Score) ;
FindMaxMin (Score, Number) ;
FindAvg (fin, Score) ;
CutOff(GradeScore) ;

fin.ignore(100, '\n');

//close file
fin.close();

return 0;



void GetScores (ifstream&fin, int Score[])
{
int Number = 0, Sum = 0 ;
string File1 ;

//enter input file name
cout << "Please enter input file name: " ;
getline(cin, File1);
fin.open(File1.c_str());

//verify failure opening input file
if (fin. fail())
cout << "File has not been found" << endl ;


while (!fin.fail())
{
fin>> Score[Number] ;
Sum += Score[Number];
Number++ ;
}
cout << Number << endl ;
cout << Sum << endl ;
}

void FindMaxMin (int Score[], int &Number)
{
int Max =0, Min =0 ;
Max=Min=Score[0];

if (Score[Number] > Max)
Max = Score[Number] ;

if (Score[Number] < Min)
Min = Score[Number] ;

cout << Max << endl;
cout << Min << endl;
}

void FindAvg (ifstream &fin, int Score[])
{
float Avg = 0, Sum=0 ;
int Number = 0 ;

Avg = Sum/Number ;

cout << Avg << endl;
}

void CutOff (int GradeScore[])
{
int Counter = 0 ;

cout << left << setfill ('=') << setw(70) << " " << setfill(' ') <<endl;
cout << "Enter the lowest grade for an A: " ;
cin >> GradeScore[Counter] ;
cout << endl;
Counter++ ;

cout << "Enter the lowest grade for an B: " ;
cin >> GradeScore[Counter] ;
cout << endl;
Counter++ ;

cout << "Enter the lowest grade for an C: " ;
cin >> GradeScore[Counter] ;
cout << endl;
Counter++ ;

cout << "Enter the lowest grade for an D: " ;
cin >> GradeScore[Counter] ;
cout << endl;
Counter++ ;
}

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호