<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94_2005%EC%97%AC%EB%A6%84%2F%ED%95%99%EC%A0%90%EA%B3%84%EC%82%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%2F%ED%97%88%EC%95%84%EC%98%81</id>
	<title>C++스터디 2005여름/학점계산프로그램/허아영 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94_2005%EC%97%AC%EB%A6%84%2F%ED%95%99%EC%A0%90%EA%B3%84%EC%82%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%2F%ED%97%88%EC%95%84%EC%98%81"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94_2005%EC%97%AC%EB%A6%84/%ED%95%99%EC%A0%90%EA%B3%84%EC%82%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/%ED%97%88%EC%95%84%EC%98%81&amp;action=history"/>
	<updated>2026-05-16T02:18:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94_2005%EC%97%AC%EB%A6%84/%ED%95%99%EC%A0%90%EA%B3%84%EC%82%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/%ED%97%88%EC%95%84%EC%98%81&amp;diff=29950&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=C%2B%2B%EC%8A%A4%ED%84%B0%EB%94%94_2005%EC%97%AC%EB%A6%84/%ED%95%99%EC%A0%90%EA%B3%84%EC%82%B0%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/%ED%97%88%EC%95%84%EC%98%81&amp;diff=29950&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== 학점계산프로그램/허아영 ===&lt;br /&gt;
솔직히 부끄럽습니다. C도 모르는데, C++로 이렇게 어려운 것을-_- ;;&lt;br /&gt;
정말 힘들게 풀었습니다. 물론 답이 맞는지도 모르겠구요.&lt;br /&gt;
OOP도 잘 모르는데,, -.- ;;&lt;br /&gt;
제 소스가 C++의 특징인 OOP를 사용하지 않은 껍데기 소스라고 보창오빠는 말하더군요 ㅠㅠ( 상처ㅡㅡ++++++ )&lt;br /&gt;
여튼 했으니 올립니다 !&lt;br /&gt;
// 파일출력하려다가, 표준출력 했습니다. &lt;br /&gt;
&lt;br /&gt;
=== 소스 ===&lt;br /&gt;
==== calculate.h ====&lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 #include &amp;quot;const.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;student.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 class Calculate&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	Student a;&lt;br /&gt;
 	&lt;br /&gt;
 public:	&lt;br /&gt;
 	&lt;br /&gt;
 	void input();//파일입력, 학점으로 전환&lt;br /&gt;
 	void Calculate_grade();&lt;br /&gt;
 	//void output();//파일출력&lt;br /&gt;
 };&lt;br /&gt;
==== student.h ====&lt;br /&gt;
 #ifndef STUDENT_H_&lt;br /&gt;
 #define STUDENT_H_&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;const.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 class Student&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	char name[STUDENT_NUM][10];&lt;br /&gt;
 	double credit_average[STUDENT_NUM];&lt;br /&gt;
 	//장학생 명단을 찍어내기 위한 변수&lt;br /&gt;
 	//char sort_grade_name[STUDENT_NUM][10];&lt;br /&gt;
 	//double sort_grade[STUDENT_NUM];&lt;br /&gt;
 	&lt;br /&gt;
 public:&lt;br /&gt;
 	Student();&lt;br /&gt;
 	void name_find(); // 이름을 파일에서 받아서 저장.&lt;br /&gt;
 	void average();   // 평균을 계산하여 저장. &lt;br /&gt;
 	void sort();      // 학점평균이 높은 순으로 저장.&lt;br /&gt;
 	void scholarship();//장학금, 학고 학생 출력,&lt;br /&gt;
 	&lt;br /&gt;
 	double grade[STUDENT_NUM][SUBJECT_NUM];	&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif&lt;br /&gt;
==== const.h ====&lt;br /&gt;
 #define SUBJECT_NUM 4&lt;br /&gt;
 #define STUDENT_NUM 120&lt;br /&gt;
 #define SCHOLARSHIP_NUM 12&lt;br /&gt;
==== calculate.cpp ====&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 #include &amp;quot;calculate.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;student.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 void Calculate::input()&lt;br /&gt;
 {&lt;br /&gt;
 	char temp[20];&lt;br /&gt;
 	char grade_input[SUBJECT_NUM][3];&lt;br /&gt;
 	double credit[9] = {4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0}; //학점&lt;br /&gt;
 	char grade_data[9][3] = {&amp;quot;A+&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;B+&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C+&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D+&amp;quot;, &amp;quot;D&amp;quot;, &amp;quot;F&amp;quot;};&lt;br /&gt;
 	&lt;br /&gt;
 	fstream fin(&amp;quot;input.txt&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	for(int student_num = 0; student_num &amp;amp;lt; 120; student_num++)&lt;br /&gt;
 	{&lt;br /&gt;
 		fin.getline(temp, 20, &amp;#039;:&amp;#039;);&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; SUBJECT_NUM; i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			fin.get();&lt;br /&gt;
 			fin &amp;amp;gt;&amp;amp;gt; grade_input[i];&lt;br /&gt;
 			for(int j = 0; j &amp;amp;lt; 9; j++)&lt;br /&gt;
 			{&lt;br /&gt;
 				if(strcmp(grade_input[i], grade_data[j]) == 0)&lt;br /&gt;
 					a.grade[student_num][i] = credit[j];&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 /*&lt;br /&gt;
 void Calculate::output()&lt;br /&gt;
 {&lt;br /&gt;
 	fstream fout(&amp;quot;output.txt&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 */&lt;br /&gt;
 void Calculate::Calculate_grade()&lt;br /&gt;
 {&lt;br /&gt;
 	a.name_find();&lt;br /&gt;
 	a.average();&lt;br /&gt;
 	a.sort();&lt;br /&gt;
 	a.scholarship();&lt;br /&gt;
 }&lt;br /&gt;
==== student.cpp ====&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 #include &amp;quot;student.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;calculate.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;const.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Student::Student()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int j = 0; j &amp;amp;lt; STUDENT_NUM; j++)&lt;br /&gt;
 	{&lt;br /&gt;
 		credit_average[j] = 0.0;&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; SUBJECT_NUM; i++)&lt;br /&gt;
 			grade[j][i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Student::name_find()&lt;br /&gt;
 {&lt;br /&gt;
 	char temp[20];&lt;br /&gt;
 	fstream fin(&amp;quot;input.txt&amp;quot;);&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; STUDENT_NUM; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		fin.getline(name[i], 10, &amp;#039;:&amp;#039;);&lt;br /&gt;
 		fin.getline(temp, 20, &amp;#039;n&amp;#039;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Student::average()&lt;br /&gt;
 {&lt;br /&gt;
 	&lt;br /&gt;
 	double sum = 0;&lt;br /&gt;
 	for (int j = 0; j &amp;amp;lt; STUDENT_NUM; j++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int i = 0; i &amp;amp;lt; SUBJECT_NUM; i++)&lt;br /&gt;
 			sum += grade[j][i];&lt;br /&gt;
 		credit_average[j] = (double)(sum/SUBJECT_NUM);&lt;br /&gt;
 		sum = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Student::scholarship()&lt;br /&gt;
 {&lt;br /&gt;
 	//fstream fout(&amp;quot;output.txt&amp;quot;);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;학고 명단&amp;quot; &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; STUDENT_NUM; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(credit_average[i] &amp;amp;lt;= 1.5)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; name[i] &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;장학생 명단&amp;quot; &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	for(i = 0; i &amp;amp;lt; SCHOLARSHIP_NUM; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; name[i];&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Student::sort()&lt;br /&gt;
 {&lt;br /&gt;
 	char temp[10];&lt;br /&gt;
 	double temp_grade;&lt;br /&gt;
 	for(int i = 0; i &amp;amp;lt; STUDENT_NUM; i++){&lt;br /&gt;
 		for(int j = i; j &amp;amp;lt; STUDENT_NUM; j++){&lt;br /&gt;
 			if(credit_average[i] &amp;amp;lt;= credit_average[j])&lt;br /&gt;
 			{&lt;br /&gt;
 				temp_grade = credit_average[i];&lt;br /&gt;
 				credit_average[i] = credit_average[j];&lt;br /&gt;
 				credit_average[j] = temp_grade;&lt;br /&gt;
 				strcpy(temp, name[j]);&lt;br /&gt;
 				strcpy(name[j], name[i]);&lt;br /&gt;
 				strcpy(name[i], temp);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}		&lt;br /&gt;
 }&lt;br /&gt;
==== source.cpp ====&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 #include &amp;quot;calculate.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;student.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	Calculate a;	&lt;br /&gt;
 	&lt;br /&gt;
 	a.input();&lt;br /&gt;
 	a.Calculate_grade();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 나에게 할말 ==&lt;br /&gt;
 오옷.. 근래 본 메인함수중에 가장 심플한 함수였어~ 왠지 Hellow world!! 도 이보단 못할듯.ㅎ&lt;br /&gt;
 C++의 탈을쓴 C...나잖아..;;ㅁ;; 후훗..ㅎ&lt;br /&gt;
 괜찮아 괜찮아~! 인생 모이떠~ 막 가눈고야~~&amp;gt;ㅃ&amp;lt;;;&lt;br /&gt;
 음.. 동기를 안좋은 곳으로 끌어들이다닛..나쁜아이.훗..&lt;br /&gt;
 칼큘레이트(귀차니즘으로 영어 생략)함수와 스튜던트 함수 양쪽에서 둘다 파일 입출력 하는게 있는것 같은데..&lt;br /&gt;
 아예 한쪽은 죽어라 입출력 계산만 하고 한쪽은 자료보관만 하는계 좀더 깔끔했을지도~&lt;br /&gt;
 후후후.. 실은 나도 모르겠.. (C++을 배운적이 있어야.훗.) 뭐..하나만 잘하면 되지..ㅎㅎ 아영이만큼 C만 하면 조케따~&amp;gt;ㅁ&amp;lt;;;&lt;br /&gt;
 자자~ 그럼 힘내서 오늘도 즐겁게 놀자고~&amp;#039;ㅇ&amp;#039;)/ 곧 개강이니까.훗..ㅎ 좋은하루!- [[조현태]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[허아영]] [[C++스터디_2005여름]] [[C++스터디_2005여름/학점계산프로그램]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>