- C++
C++에서는 어디에서나 변수를 선언하고 사용할 수 있다.
강제 형변환 : (자료형)데이터, 자료형(데이터) 사용 가능
함수 호출 방식 : 함수 이름,매개변수의 정보를 함께 사용하여 호출한다.
- 함수 오버로딩
매개변수의 형식/개수가 다르면 같은 이름의 함수 사용 가능
반환자료형만 다르면 불가능.
- 디폴트 매개변수
매개변수의 오른쪽부터 값을 기본값으로 지정해준다 ( 매개변수로 넘어오는 값들은 왼쪽부터 차기때문에 오른쪽부터 지정해주어야 한다.)
- 계산기
#include<iostream>
int calc(int a1,char bu,int a2)
{
if(bu=='+')
return a1+a2;
else if(bu=='-')
return a1-a2;
else if(bu=='*')
return a1*a2;
else if(bu=='/')
return ((double)a1/(double)a2);
else
{
std::cout<<"부호를 잘못 입력하셨습니다."<<std::endl;
return 0;
}
}
double calc(double a1,char bu, double a2)
{
if(bu=='+')
return a1+a2;
else if(bu=='-')
return a1-a2;
else if(bu=='*')
return a1*a2;
else if(bu=='/')
return (double)a1/(double)a2;
else
{
std::cout<<"부호를 잘못 입력하셨습니다."<<std::endl;
return 0;
}
}
void main()
{
while(1)
{
std::cout<<"======================"<<std::endl;
std::cout<<" & 계산기 & "<<std::endl;
std::cout<<"======================"<<std::endl;
std::cout<<"1. 정수연산"<<std::endl;
std::cout<<"2. 실수연산"<<std::endl;
std::cout<<"3. 종료"<<std::endl;
int i;
int num1=0,num2=0;
char bu;
double dnum1,dnum2;
std::cin>>i;
if(i==1)
{
for(bu='0';bu!='+'||bu!='-'||bu!='*'||bu!='/';)
{
std::cout<< "선택 : 1.정수연산" << std::endl;
std::cout<< "입력(ex.4+5) : " ;
std::cin >> num1 >> bu >> num2;
break;
}
std::cout<< std::endl<< "결과 : "<< calc(num1,bu,num2) << std::endl<< std::endl;
bu='0';
system("pause");
system("cls");
}
else if(i==2)
{
for(bu='0';bu!='+'||bu!='-'||bu!='*'||bu!='/';)
{
std::cout<< "선택 : 2.실수연산" << std::endl;
std::cout<< "입력(ex.4.5+5.4) : " ;
std::cin >> dnum1 >> bu >> dnum2;
break;
}
std::cout<< std::endl<< "결과 : "<< calc(dnum1,bu, dnum2) << std::endl<< std::endl;
bu='0';
system("pause");
system("cls");
}
else if(i==3)
{
std::cout<<"프로그램을 종료하겠습니다."<<std::endl;
exit(1);
}
else
{
std::cout<<"올바른 값을 입력해주십시오."<<std::endl;
system("pause");
system("cls");
continue;
}
}
}
오늘 짜본 계산기
- 부호나 선택지가 틀렸을 때 다른 메시지 출력되면서 메뉴로 다시 돌아가는 기능들을 넣다보니 반복문 계속 걸어줘야돼서 귀찮다...
약간의 기능 개선의 여지가 있으나 패스. 나중에 할거없으면 해야지.
- C++로 짰음에도 불구하고 C로 짠것과 다른것 없는 코딩. 클래스가 전혀 들어가지 않았음.
'[ IT ] > C++, 자료구조' 카테고리의 다른 글
C++ 전자레인지 만들기 (0) | 2015.06.24 |
---|---|
C++ Access 지정 / 생성자 / 소멸자 /This 포인터 (0) | 2015.06.24 |
C++ Class (0) | 2015.06.24 |
C++ 은행 계좌 관리 프로그램 (0) | 2015.06.24 |
C++ 매크로 / Inline 함수 / 동적 할당 (0) | 2015.06.24 |