일단 입출력을 해보자~ 라는 생각에 간단한 예제로 놀아보자.
#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++은 나도 배우는 입장이다.
그렇기 때문에 틀린 부분이 있다고 하더라도 이해 부탁한다.
'Computer > C++' 카테고리의 다른 글
이거이거 하다보니 너무 똑같더라. (0) | 2010.07.13 |
---|---|
단항 스코프 식별 연산자 (0) | 2010.07.13 |
예제1 입출력을 했으면 이게 나와야죵?! 계산기! (0) | 2010.07.13 |
2장 변수명에 대한 간단한 이야기 (0) | 2010.07.13 |
1장 헤더 (0) | 2010.07.13 |