U E D R , A S I H C RSS

숫자를한글로바꾸기/조현태

느낀점


소스가 길어 보이지만 저기의 stack이라는 클래스.. 사실 저번에 LittleAOI에서 만들어서 2번이나 사용했던 클래스다.
자꾸 우려먹는거지뭐.,ㅎㅎㅎ 새로 짜기도 귀찮고.ㅎ
소스가 프로그래머의 자산이라고나 할까..ㅎㅎㅎ

뭐.. 문제에서 적어놨으니까 '일만'이라고 읽지만.. 안이쁘닷..ㅠ.ㅜ 문제 고쳐주..ㅠ.ㅜ

소스

~cpp 
#include <iostream>

using namespace std;

const bool TRUE=1; 
const bool FALSE=0;
const int MAX_LONG=5;//최대가 5자리 숫자이기때문.
const int MAX_NUMBER=10000;//최대가 10000이기때문.

class stack 
{ 
private: 
	char *data_p; 
	int where_is_save; 
	int max_size_of_stack; 
public: 
	stack( int data_size ) 
	{ 
		data_p=(char*)malloc(data_size*sizeof(char)); 
		max_size_of_stack=data_size; 
		where_is_save=0; 
	} 
	~stack() 
	{ 
		free(data_p); 
	} 
	bool get_in(char save_data) 
	{ 
		if (where_is_save != max_size_of_stack) 
		{ 
			*(data_p+where_is_save)=save_data; 
			++where_is_save; 
			return TRUE; 
		} 
		else 
			return FALSE; 
	} 
	bool get_out(char *where_save_p ) 
	{ 
		if (where_is_save) 
		{ 
			--where_is_save; 
			*where_save_p=*(data_p+where_is_save); 
			return TRUE; 
		} 
		return FALSE; 
	} 
	void clear_data() 
	{ 
		where_is_save=0; 
	} 
}; 


void main()
{
	// 초기화
	const char NUMBER_TO_HAN[10][3]={"영","일","이","삼","사","오","육","칠","팔","구"};
	const char NUMBER_TO_JARI[5][3]={"","십","백","천","만"};
	stack print_number(MAX_LONG);
	int input_number=-1;
	char jari=-1;
	//입력
	while (input_number<0 || input_number>=MAX_NUMBER)
	{
		system("CLS");
		cout << "입력 : ";
		cin >> input_number;
	}
	//연산
	while (input_number>0)
	{
		print_number.get_in(input_number%10);
		input_number/=10;
		++jari;
	}
	//출력
	cout << "출력 : ";
	char temp;
	if (jari==-1)
		cout << NUMBER_TO_HAN[0];
	while (print_number.get_out(&temp))
	{
		if (temp!=0)
			cout << NUMBER_TO_HAN[temp] << NUMBER_TO_JARI [jari];
		--jari;
	}
}

나에게 할말

모양만 객체고 malloc을 사용하다니 -_-;;; 하이브리드 소스다 -_-;;; 안좋아 -_-;;;
└음.. 죄송합니다. 술을 마셔서..ㅎ 하이브리드 소스에 대해서 조금만 더 말씀해 주세요. 제가 8월 1일부터 휴가인데, 그때, 좀더 연구해서 더 나은 소스를 만들겠습니다.^^ - 조현태
음;; 그런게 존재하는건 아니구... C언어면 C언어답게 하는 것이 좋구 C++이면 C++답게 코딩하는게 좋은데.. malloc은 C언어에서 쓰이잖아. 물론 C++에서도 쓰이겠지만 C와의 호환성 때문이지 정말로 쓰이는것은 new니까 new를 쓰는게 좋다는거지. 클래스를 malloc으로는 할당 못하거든.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:15
Processing time 0.0128 sec