성적관리프로그램입니다 좀도와주세요 ㅠㅠ
우울녀
밑에 소스코드에서 학생 전체성적만 출력하게 되있는데
이름이나 학번을 검색하면 학생 개별로도 성적 조회가 가능하도록 추가하고싶은데
어떻게손대야할지 모르겟어요..ㅠㅠ 제발꼭좀부탁드립니다 ㅠㅠ
주석도 달아주시면 감사하겠습니다 ㅠㅠ
#include iostream#include iomanipusing namespace std;class Subject // 교과목 클래스{public:Subject() : name(NULL), midScore(0), endScore(0), average(0.0) { }~Subject() { if(name) delete[] name; }private:char *name; // 교과목명int midScore; // 중간고사 점수int endScore; // 기말고사 점수double average; // 평균public:// 교과목명, 중간 기말 고사 점수를 설정 및 반환하는 함수들void SetName(char *n) { int len = strlen(n)+1; name = new char[len]; strcpy_s(name, len, n); }char *GetName() const { return name; }void SetMidScore(int s) { midScore = s; CalcAverage(); }int GetMidScore() const { return midScore; }void SetEndScore(int s) { endScore = s; CalcAverage(); }int GetEndScore() const { return endScore; }// 평균의 경우는 반환하는 함수만 존재(평균값은 따로 설정하지 않고 중간 기말 고사 설정 시 자동으로 계산)double GetAverage() const { return average; }private:// 중간 기말 고사 점수를 이용하여 평균을 계산하는 함수void CalcAverage() { average = (midScore+endScore)/2.0; }};class Student // 학생 클래스{public:Student() : name(NULL), number(0) { }~Student() { if(name) delete[] name; }private:char *name; // 학생이름int number; // 학번Subject subject[2]; // 수강하는 교과목public:// 학생이름과 학번을 설정 및 반환하는 함수들void SetName(char *n) { int len = strlen(n)+1; name = new char[len]; strcpy_s(name, len, n); }char *GetName() const { return name; }void SetNumber(int n) { number = n; }int GetNumber() const { return number; }// []연산자를 오버로딩하여 수강하는 교과목에 []연산자를 통해 바로 접근할 수 있음// 예를들어 Student s; s[1].GetAverage(); 하면 s라는 학생의 2번째 수강교과목의 평균이 반환됨.Subject &operator [](int idx) { return subject[idx]; }};void PrintMenu(); // 메뉴를 출력하는 함수void InputScore(Student *s, int size); // 학생 성적을 입력하는 함수void PrintScore(Student *s, int size); // 전체 성적을 출력하는 함수int main(void){Student student[2];int select = 0;while(select !=3){ PrintMenu(); cout 원하는 작업의 번호를 입력하세요 : ; cin select; cout endl; if(select == 1) InputScore(student, 2); if(select == 2) PrintScore(student, 2);}return 0;}void PrintMenu(){cout ------ 메뉴 ------ endl;cout 1. 학생 성적 입력 endl;cout 2. 전체 성적 보기 endl;cout 3. 프로그램 종료 endl endl;}void InputScore(Student *s, int size){char name[32];int num, mid, end;for(int i=0; isize; i++){ cout ■ i+1 번째 학생 이름과 학번을 입력하세요. endl; cin name num; s[i].SetName(name); s[i].SetNumber(num); cout endl endl; cout ■ 수강한 교과목 2개와 각 교과목의 중간 기말 고사 성적을 입력하세요. endl; for(int j=0; j2; j++) { cin name mid end; s[i][j].SetName(name); s[i][j].SetMidScore(mid); s[i][j].SetEndScore(end); } cout endl;}}void PrintScore(Student *s, int size){cout setw(30) 전체 성적 보기 endl;cout ------------------------------------------------- endl;cout setw(10) 학번 setw(7) 이름 setw(13) 교과목명 setw(6) 중간 setw(5) 기말 setw(6) 평균 endl;cout ------------------------------------------------- endl;for(int i=0; isize; i++){ cout setw(10) s[i].GetNumber() setw(8) s[i].GetName() endl; for(int j=0; j2; j++) { cout.precision(2); // 소수점의 자리수 결정 cout setw(30) s[i][j].GetName() setw(5) s[i][j].GetMidScore() setw(5) s[i][j].GetEndScore() setw(8) fixed s[i][j].GetAverage() endl; } cout ------------------------------------------------- endl;}}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |