-
[C++] 문제 01-1, 01-2,01-04a 2022. 5. 4. 09:49반응형
[01]
#include <iostream> using namespace std; int main() { int num[5] = {0}; int sum=0; for(int i=0;i<5; i++){ cout<<i+1<<"번 째 정수 입력 : "; cin>>num[i]; sum+=num[i]; } cout<<"합계 : "<<sum; return 0; }
나는 정수 배열로 입력을 받았는데, 모범답안은 정수로 받음.
#include<iostream> using namespace std; int main(void){ int num =0; int input; for(int i=0; i<5; i++){ cout<<i+1<<"번째 정수 입력 : "; cin>>input; num+=input; } cout<<"합계 : "<<num<<endl; return 0; }
[02] 문자열은 char배열로 입출력 받아서 ㄱ
#include <iostream> using namespace std; int main() { char name[6]; char tel[11]; cout<<"이름 : "; cin>>name; cout<<"전화번호 : "; cin>>tel; cout<<name<<" "<<tel; return 0; }
[03]
#include <iostream> using namespace std; int main() { int num = 0; cin>>num; for(int i=1; i<10; i++){ cout<<num*i<<endl; } return 0; }
[04]
#include <iostream> using namespace std; int main() { int salary; while(true){ cout<<"판매 금액 :"; cin>>salary; if(salary == -1) break; cout<<"이번 달 급여 : "<<50+(salary*0.12)<<"만원"<<endl; } cout<<"프로그램을 종료합니다." return 0; }
01-2
다음 main 함수에서 필요로 하는 swap 함수를 오버로딩해서 구현해보자.
* 오버로딩 : 같은 이름의 함수가 있는데, 매개변수가 다른 경우
* 포인터
- 포인터 변수 : int* p 같은 형식으로 데이터의 주소를 변수로 갖는다.
- & : 변수 앞에 있으면, 해당 변수가 저장된 주소를 반환하는 연산자
- * : 포인터 변수 앞에 있으면, 해당 포인터 변수가 가리키는 데이터의 값을 반환하는 연산자
#include <iostream> using namespace std; void swap(int* num1, int* num2){ int temp = 0; temp = *num1; *num1 = *num2; *num2 = temp; } void swap(double* dbl1, double* dbl2){ double temp = 0.0; temp = *dbl1; *dbl1 = *dbl2; *dbl2 = temp; } void swap(char* ch1, char* ch2){ char temp = 'a'; temp = *ch1; *ch1 = *ch2; *ch2 = temp; } int main() { int num1=20, num2=30; swap(&num1, &num2); cout<<num1<<" "<<num2<<endl; char ch1 = 'A', ch2 = 'Z'; swap(&ch1, &ch2); cout<<ch1<<' '<<ch2<<endl; double dbl1 = 1.111, dbl2 = 5.555; swap(&dbl1, &dbl2); cout<<dbl1<<' '<<dbl2<<endl; return 0; }
함수를 호출할 때 변수의 값이 아닌 주소를 매개변수로 하고 있다.(&)
그리고 그 주소가 가리키는 값은 * 으로 참조할 수 있다.
char ch1 = 'a'; int p = &ch1; //ch1의 주소를 P가 갖고 있다.
01-4
cpp 와 헤더 파일을 분리할 수 있다.
[SimpleFunc.h]
namespace BestComImp1{ void SimpleFunc(void); } namespace ProgComImp1{ void SimpelFunc(void); }
[SimpleFunc.cpp]
#include <iostream> #include "SimpleFunc.h" void BestComImp1::SimpleFunc(void){ std::cout<<"BestCome이 정의한 함수"<<std::endl; } void ProgComImp1::SimpleFunc(void){ std::cout<<"ProgCom이 정의한 함수"<<std::endl; }
[SimpleMain.cpp]
#include "SimpleFunc.h" int main(void){ BestComImp1::SimpleFunc(); ProgComImp1::SimpleFunc(); return 0; }
반응형'a' 카테고리의 다른 글
[C++] 문제 02-1,02-2 (0) 2022.05.10 [공학수학] ch7. Linear Algebra:Matrices, Vectors, Determinants (0) 2022.05.09 [디논설] number representation (0) 2022.05.02 [프로세서] (0) 2022.04.27 [04/25~] C++ (0) 2022.04.25