posted by nsakura 2010. 7. 13. 13:49


일단 입출력을 해보자~ 라는 생각에 간단한 예제로 놀아보자.

#include <iostream>
#include <iomanip> //setw()함수를 사용하기 위해.

using namespace std; //네임스페이스 std
//네임스페이스를 빼면 std::cout형식으로 써야 한다 너무 귀찮다.

void main(){

int conver=26;
cout<<setw(1)<<dec<<conver; //10진수
//sew()출력 자리수 지정
cout<<setw(10)<<oct<<conver; //8진수
cout<<setw(20)<<hex<<conver<<endl;
cout<<setw(12)<<setiosflags(ios::showbase)<<oct<<conver;
cout<<setw(20)<<setiosflags(ios::showbase)<<hex<<conver<<endl;
//setiosflags(ios::showbase) 서식 플래그를 지정하는 함수.

}



하지만 이러면~! 너무 재미가 없다.

입력 받은 수를 각 진수로 바꾸게 바꾸자.

그렇게 어렵지 않다. 원래 프로그래밍 공부는 이런식으로 해야한다고 나는 생각한다 주어진 예제만 쳐봤자 손가락 운동 밖에 더 되겠는가?

일단 본인은 입력과 출력을 함수로 나누었다.

#include <iostream>
#include <iomanip> //setw()함수를 사용하기 위해.

int input(int);
void output(int);

using namespace std; //네임스페이스 std
//네임스페이스를 빼면 std::cout형식으로 써야 한다 너무 귀찮다.

int input(int conver){

cout<<"___________________________________________"<<endl;
cout<<"변환하고자 하는 수를 입력해주세요."<<endl;
cout<<"입력 : ";
cin>>conver;  //입력
cout<<"___________________________________________"<<endl<<endl;
return conver;

}

void output(int conver){

cout<<setw(1)<<dec<<conver;
//10진수//sew()출력 자리수 지정
cout<<setw(10)<<oct<<conver; //8진수
cout<<setw(20)<<hex<<conver<<endl;
cout<<setw(12)<<setiosflags(ios::showbase)<<oct<<conver;
cout<<setw(20)<<setiosflags(ios::showbase)<<hex<<conver<<endl; 
cout<<"_____________________________________________"<<endl;
 //setiosflags(ios::showbase) 서식 플래그를 지정하는 함수.
}

 

void main(){

int conver=0;
conver=input(conver);
output(conver);

}



자 입력을 받으면 이제 변환이 되는데 이런생각 안해봤는가... 여러번 바꾸고싶을 수 있다. 그럼 입력을 여러번 받아야한다.

그럼 브레이크를 걸 숫자를 생각해야하는데. 개인적으로 0이라고 생각한다.

0을 진수 변환할리가 없지 않은가.

그래서 0을 입력받으면 프로그램이 끝나게 하자.

void main(){

int conver=1; //0이 아닌수로 초기화 해준다.
while(conver!=0){

conver=input(conver);

if(conver!=0){

output(conver);

}

}

cout<<"프로그램을 종료 합니다."<<endl<<endl;
return;

}





C++은 나도 배우는 입장이다.

그렇기 때문에 틀린 부분이 있다고 하더라도 이해 부탁한다.