'예제'에 해당되는 글 6건

  1. 2010.07.13 예제1 입출력을 했으면 이게 나와야죵?! 계산기!
  2. 2010.07.13 예제
posted by nsakura 2010. 7. 13. 16:27

네 그럽습니다..

계산기 입니다.

하지만 두자리수 입니다.

다항식 계산기는 나중에 만들어보도록 합시다!

예제의 프로그램은...

#include <iostream>

using namespace std;

int main(){

int input, input1,total;
input=123;
input1=456;

total=input+input1;

cout<<total<<endl;

return 0;

}


참으로.. 간단한 프로그램 입니다. 그냥 두수 더하는거에요.

지금 느끼는건데. c랑 별차이는 없네용 아직까지는.

클래스까지 갈때까지 이모양인지.

뭐뭐 지금 보시다싶이 한번에 다하고있는 겁니다..

함수 내용은 뒤에있지만 이미 사용했고 반복문 if문 도 미리 사용했지요.

자 계산기를 만들기 앞서 생각을 해보죵. 어떻게 만들까~~


이런 흐름대로 만들도록 하죠.. 그럼 코딩 시작! 하기전에.. 프로그램 구조를 생각해보죵~


이런 구조로 만들려고 합니다.

자 만들어볼 까요?


#include <iostream>


double input0, input1,total;
//함수 선언//
void input();
void output();
void menu();
void addition();
void subtraction();
void multiplication();
void division();


using namespace std;

//함수 정의

void menu(){  //매뉴

char select;
cout<<"===nsakur 기본 계산기==="<<endl;
cout<<"___________________________"<<endl;
cout<<"   1.Addition"<<endl;
cout<<"   2.Subtraction"<<endl;
cout<<"   3.Multiplication"<<endl;
cout<<"   4.Division"<<endl;
cout<<"   5.Exit"<<endl;
cout<<"___________________________"<<endl;
cout<<"select menu : ";

cin.get(select);

cout<<endl;
switch(select){

case '1':

addition();
break;

case '2':

subtraction();
break;

case '3':

multiplication();
break;

case '4':

division();
break;

default: //프로그램 종료

cout<<"프로그램을 종료합니다."<<endl;
exit(0);

}  

}

void addition(){  //더하기

 cout<<"===addition==="<<endl;
 input();
 total=input0+input1;
 output();

}

void subtraction(){ //빼기

 cout<<"===subtraction==="<<endl;
 input();
 total=input0-input1;
 output();

}

void multiplication(){ //곱샘

 cout<<"===multiplication==="<<endl;
 input();
 total=input0+input1;
 output();

}

void division(){ //나누기

 cout<<"===division==="<<endl;
 input();
 while((input0==0)||(input1==0)){  //에러처리

  cout<<"0으로 나눌수 없다"<<endl;
  input();

 }
 total=input0/input1;
 output();

}

void input(){ //입력

 cout<<"====input data===="<<endl;
 cout<<"input1 : ";
 cin>>input0;
 cout<<endl;
 cout<<"input2 : ";
 cin>>input1;
 cout<<endl;
 cout<<"_______________________"<<endl;

void output(){ //출력

 cout<<"________________________"<<endl;
 cout<<"result : "<<total<<endl;
 cout<<"________________________"<<endl;
 fflush(stdin); //입력 버퍼 초기화.
 menu();

}

int main(){

 menu();
 return 0;

}

그래서 이렇게 만들었지요.

결과는 이렇습니다.


앞에 진수바꿔주는 프로그램과 맨위에 예제를 보면 충분히 응용가능하죠.



'Computer > C++' 카테고리의 다른 글

이거이거 하다보니 너무 똑같더라.  (0) 2010.07.13
단항 스코프 식별 연산자  (0) 2010.07.13
예제  (0) 2010.07.13
2장 변수명에 대한 간단한 이야기  (0) 2010.07.13
1장 헤더  (0) 2010.07.13
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++은 나도 배우는 입장이다.

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