드래그 앤 드롭으로 즐겨찾기 아이콘 위치 수정이 가능합니다.
게시물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++ ; }
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.