U E D R , A S I H C RSS

whiteblue/My Term Project

~cpp 
#include <iostream>
#include <cstdlib>
using namespace std;

struct student
{
	char name[20];
	int number;
	int kor;
	int eng;
	int math;
	int total;
	double ave;
	char * grade;
};		// ๊ตฌกฐ „ –ธ

student data[20] = 
{
	{ "๊ณ žฌ„ " ,20025301, 85, 90, 80 },
	{ "๊ถŒ˜„ง„" ,20025302, 80, 88, 85 }, 
	{ "๊น€™šฑ" ,20025303, 88, 93, 75 },
	{ "๊น€˜" ,20025309, 75, 85, 70 },
	{ "๊น€ฏผžฌ" ,20025307, 73, 83, 77 },
	{ "๊น€„ฑ›" ,20025304, 95, 88, 80 },
	{ "๊น€˜€" ,20025308, 95, 88, 80 },
	{ "๊น€œค„ญ" ,20025305, 94, 70, 65 },
	{ "๊น€ฒ ˜ธ" ,20025306, 80, 75, 88 },
	{ "๊น€ƒœ™„" ,20025310, 65, 73, 94 },
	{ "๊น€ƒœ™„" ,20025313, 77, 78, 99 },
	{ "๊น€ฌ๊ท " ,20025312, 80, 77, 85 },
	{ "ฅ˜žฌ˜„" ,20025311, 95, 80, 95 },
	{ "ฌธ๊ตฌ‰" ,20025315, 78, 90, 75 },
	{ "•Œ€›" ,20025314, 90, 95, 65 },
	{ "•„ธ—ฐ" ,20025316, 88, 88, 80 },
	{ "•€„ฑ" ,20025317, 83, 76, 75 },
	{ "„œˆ˜›" ,20025318, 75, 68, 70 },
	{ "–‘ฏผšฐ" ,20025319, 65, 70, 80 },
	{ "–‘ •€" ,20025320, 88, 85, 90 }
};		// ฐ„ฐ ๊ฐ’

//            •ˆ˜ „ –ธ
void sort (int *);
void copy();
int input();
void error_message();
void showmenu();
void showsubmenu();
void pass();
void grade_();

void choose_1();
void choose_2();
void choose_3();
void choose_4();

void result_1(student l[] , int *);
void result_2(student m[]);

student temp, copy_data[20]; 

int select, i, j, check=0;

int main()
{
	for (i = 0 ; i <= 19 ; i++ ){
		data[i].total = data[i].kor + data[i].eng + data[i].math;
		data[i].ave = data[i].total / 3;
	}
	grade_();
	while (1)
	{
		if (check == 0 )
		{
			showmenu();
		}
		switch (input()) 
		{
		case 1 :
			choose_1();
			check = 0;
			break; 
		case 2 :
			choose_2();
			check = 0;
			break; 
		case 3 : 
			choose_3();
			check = 0;
			break; 
		case 4 : 
			choose_4();
			check = 0;
			break; 
		case 5 : 
			return 0;
			break; 
		default :
			error_message();
			check = 1;
			break; 
		}
	} 
}

////////////////////////////////////////////////////////////
//                   ฉ”ธ •ˆ˜˜                        //
////////////////////////////////////////////////////////////


//////////////////    ฉ”„ธ€ ถœ ฅ •ˆ˜    //////////////////

void showmenu()
{
	cout << "\tโ—† ฉ”‰ โ—†" << endl 
		<< "1) ๊ณผณ„ ž… ฅ ๊ฒฐ๊ณผ ฆฌŠคŠธ " << endl
		<< "2) ๊ณผณ„ „ฑ ˆœ ฆฌŠคŠธ " << endl
		<< "3) •™ƒ  „๊ณผž… ฅ ๊ฒฐ๊ณผ ฆฌŠคŠธ " << endl
		<< "4) •™ƒ  „๊ณผ„ฑ ˆœ ฆฌŠคŠธ " << endl
		<< "5) ข…ฃŒ " << endl << endl
		<< "ฉ”‰ฅผ „ ƒ•˜„ธš” -> ";
}

void showsubmenu()
{
	cout << "\tโ—‡๊ณผ„ ƒ ฉ”‰โ—‡" << endl
		<< "1) ๊ตญ–" << endl
		<< "2) ˜–" << endl
		<< "3) ˆ˜•™" << endl
		<< "๊ณผ„ „ ƒ•˜„ธš” -> ";
}

void error_message()
{
	cout << "‹ค‹œ ž… ฅ•˜„ธš” -> ";
}

///////////////    „ ƒ ฉ”‰ •ˆ˜    ////////////////

void choose_1()		// 1ฒˆ „ ƒ
{
	system ("cls") ;
	showsubmenu();
	while (1)
	{
		switch (input()) 
		{
		case 1 :
			cout << "ฆ„\tฒˆ˜ธ\t๊ตญ–" << endl;
			result_1(data, &data[0].kor);
			pass();
			return; 
		case 2 :
			cout << "ฆ„\tฒˆ˜ธ\t˜–" << endl;
			result_1(data, &data[0].eng);
			pass();
			return; 
		case 3 : 
			cout << "ฆ„\tฒˆ˜ธ\tˆ˜•™" << endl;
			result_1(data, &data[0].math);
			pass();
			return; 
		default :
			error_message();
			break; 
		}
	} 

}

void choose_2()		// 2ฒˆ „ ƒ
{
	system ("cls") ;
	copy();
	showsubmenu();
	while (1)
	{
		switch (input()) 
		{
		case 1 :
			system ("cls");
			sort(&copy_data[0].kor);
			cout << "ฆ„\tฒˆ˜ธ\t๊ตญ–" << endl;
			result_1(copy_data , &copy_data[0].kor);
			pass();
			return; 
		case 2 :
			system ("cls");
			sort(&copy_data[0].eng);
			cout << "ฆ„\tฒˆ˜ธ\t˜–" << endl;
			result_1(copy_data , &copy_data[0].eng);
			pass();
			return; 
		case 3 : 
			system ("cls");
			sort(&copy_data[0].math);
			cout << "ฆ„\tฒˆ˜ธ\tˆ˜•™" << endl;
			result_1(copy_data , &copy_data[0].math);
			pass();
			return; 
		default :
			error_message();
			break; 
		}
	} 
}

void choose_3()			// 3ฒˆ „ ƒ
{
	system ("cls");
	result_2(data);
	pass();
}

void choose_4()			// 4ฒˆ „ ƒ
{
	copy();
	system ("cls");
	sort(&copy_data[0].total);
	result_2(copy_data);
	pass();
}

////////////////  ๊ฒฐ๊ณผ ถœ ฅ •ˆ˜“ค  ////////////////////

void result_1(student l[] , int * n)
{
	for (i = 0 ; i <= 19 ; i++ )
		cout << l[i].name << "\t" << l[i].number << " " << *(n+(i*14)) << endl;
}

void result_2(student m[])
{
	cout << "ฆ„\tฒˆ˜ธ\t๊ตญ–\t˜–\tˆ˜•™\t \t‰๊ท \t“ฑ๊ธ‰" << endl;
	for (i = 0 ; i <= 19 ; i++)
	{
		cout.precision(3);
		cout.setf(ios_base::showpoint);
		cout << m[i].name << "\t" << m[i].number << " "<< m[i].kor
			 << "\t" << m[i].eng << "\t" << m[i].math << "\t" << m[i].total
			 << "\t" << m[i].ave << "\t" << m[i].grade << endl;
	}
}

/////////////////  ๊ทธ ฐ–˜ •ˆ˜“ค  /////////////////////

void sort(int * x)		// †ŒŠธ •ˆ˜
{
	for (i = 1 ; i <= 19 ; i++)
	{
		for (j = 19 ; j >= i ; j--)
		{
			if ( *(x+j*14) >= *(x+(j-1)*14) )
			{
				temp = copy_data[j];
				copy_data[j] = copy_data[j-1];
				copy_data[j-1] = temp;
			}
		}
	}
}

void copy()		// ฐ„ฐ ›ผ†„ ฐฉ€•˜๊ธฐ œ„•œ ฐ„ฐ ”ผ
{
	for (int i = 0 ; i <= 19 ; i++ )
		copy_data[i] = data[i];
}

int input()		// ˜ฌฐ”ฅธ ž… ฅ„ œ„•œ ž… ฅ•ˆ˜
{
	cin.clear();
	while (!(cin >> select))
	{
		cin.clear();
		while (cin.get() != '\n')
			continue;
		error_message();
	}
	return select;
}

void grade_()		// “ฑ๊ธ‰„ ž… ฅ•˜Š” •ˆ˜
{
	for (i = 0 ; i <= 19 ; i++ )
	{
		if ( data[i].ave >= 95 && data[i].ave <=100)
			data[i].grade = "a+";
		else if ( data[i].ave >= 90 && data[i].ave < 95)
			data[i].grade = "a";
		else if ( data[i].ave >= 85 && data[i].ave < 90)
			data[i].grade = "b+";
		else if ( data[i].ave >= 80 && data[i].ave < 85)
			data[i].grade = "b";
		else if ( data[i].ave >= 75 && data[i].ave < 80)
			data[i].grade = "c+";
		else if ( data[i].ave >= 70 && data[i].ave < 75)
			data[i].grade = "c";
		else if ( data[i].ave >= 65 && data[i].ave < 70)
			data[i].grade = "d+";
		else if ( data[i].ave >= 60 && data[i].ave < 65)
			data[i].grade = "d";
		else if ( data[i].ave <= 59)
			data[i].grade = "f";
	}
}

void pass()			// ฐ”กœ „˜–๊ฐ€€ •Š๊ธฐ œ„•œ •ˆ˜
{
	cout << "๊ณ„† •˜ ค Enter ‚คฅผ ˆ„‹ญ‹œ˜ค. ";
	cin.get();
	while (cin.get() != '\n')
		continue;
	system ("cls");
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:46
Processing time 0.0118 sec