<p class="바탕글"><span lang="en-us" style="font-size:8pt;">동적으로 배열을 생성하여 성적은 내림차순으로 이름은 오름차순으로 정렬한다</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">출력형태 --------------------------------</span></p> <p class="바탕글"></p> <p class="바탕글"><span style="font-size:8pt;">처리할 학생수=10</span></p> <p class="바탕글"><span style="font-size:8pt;">학생(1)-----</span></p> <p class="바탕글"><span style="font-size:8pt;">이름=홍길동</span></p> <p class="바탕글"><span style="font-size:8pt;">성적=86</span></p> <p class="바탕글"><span style="font-size:8pt;">등급=B+</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">-----------</span></p> <p class="바탕글"><span style="font-size:8pt;">학생(2)-----</span></p> <p class="바탕글"><span style="font-size:8pt;">이름=홍길동</span></p> <p class="바탕글"><span style="font-size:8pt;">성적=90</span></p> <p class="바탕글"><span style="font-size:8pt;">등급=A0</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">----------</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">...</span></p> <p class="바탕글"></p> <p class="바탕글"><span style="font-size:8pt;">성적순 리스트</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">==============</span></p> <p class="바탕글"><span style="font-size:8pt;">이름 성적 등급</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">-------------</span></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"><span style="font-size:8pt;">이름순 리스트</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">==============</span></p> <p class="바탕글"><span style="font-size:8pt;">이름 성적 등급</span></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"><span style="font-size:8pt;">소스코드-------------------------------------------</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">#include <iostream></span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">#include <string></span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">using namespace std;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">struct S </span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">string name;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">string grade;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">int score;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">};</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">class Student</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">int m;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">S *stu,temp;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">public:</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void inputStudent();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void score_sort();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void name_sort();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">char *inputGrade(int score);</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void outputStudent();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">};</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">int main()</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">Student s;</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">s.inputStudent();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">s.outputStudent();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return 0;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void Student::inputStudent()</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "인원 수를 입력하시오: "; cin >> m;</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu = new S[m];</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int i=0; i<m; i++)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "학생 (" << i+1 << ")-----" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "이름 = "; cin >> stu[i].name;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "점수 = "; cin >> stu[i].score;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[i].grade = inputGrade(stu[i].score);</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "등급 = " << stu[i].grade << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "---------------" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void Student::score_sort()</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int i=m-1; i>0; i--)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int j=0; j<i; j++)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">if(stu[j].score < stu[j+1].score)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">temp = stu[j];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j] = stu[j+1];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j+1] = temp;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(stu[j].score == stu[j+1].score)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">if(stu[j].name > stu[j+1].name)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">temp = stu[j];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j] = stu[j+1];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j+1] = temp;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void Student::name_sort()</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;"> for(int i=m-1; i>0; i--)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int j=0; j<i; j++)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">if(stu[j].name > stu[j+1].name)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">temp = stu[j];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j] = stu[j+1];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j+1] = temp;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(stu[j].name == stu[j+1].name)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">if(stu[j].score < stu[j+1].score)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">temp = stu[j];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j] = stu[j+1];</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">stu[j+1] = temp;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">char * Student::inputGrade(int score)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">if(score >= 95)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "A+";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 90)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "A0";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 85)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "B+";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 80)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "B0";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 75)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "C+";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 70)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "C0";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 65)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "D+";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else if(score >= 60)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "D0";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">else</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">return "F";</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">void Student::outputStudent()</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << endl << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "성적순 리스트" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "=============" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "이름 성적 등급" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">score_sort();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int i=0; i<m; i++)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << stu[i].name << " " << stu[i].score << " " << stu[i].grade << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << endl << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "이름순 리스트" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "=============" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << "이름 성적 등급" << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">name_sort();</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">for(int i=0; i<m; i++)</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">{</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">cout << stu[i].name << " " << stu[i].score << " " << stu[i].grade << endl;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">}</span></p> <p class="바탕글"></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">delete[] stu;</span></p> <p class="바탕글"><span lang="en-us" style="font-size:8pt;">} </span></p> <p class="바탕글"></p> <p class="바탕글"><span style="font-size:11px;line-height:16px;">C++ 기초문장인데 이 프로그램을 템플레이트를 사용해서 다시 작성하라고 하는데 혹시 어떻게 해야할지 </span><span style="font-size:11px;line-height:16px;">어디어디 바꾸는지</span><span style="font-size:11px;line-height:16px;"> 알수있을까요? </span></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.