본문 바로가기

과제모음

[C++]함수오버로딩 & 디폴트파라메터 -2

반응형

문제 1

 

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

void user_rand(int st = 1, int ed = 100, int cnt = 10);

int main()
{
 srand(time(NULL));
 user_rand();

 int st, ed;
 cout << "\n시작 수 / 끝 수 : ";
 cin >> st >> ed;

 int cnt;
 cout << "난수 개수 : ";
 cin >> cnt;

 user_rand(st, ed, cnt);
 user_rand(st, ed);
 
 return 0;
}

void user_rand(int st, int ed, int cnt)
{
 int i;
 cout << endl << endl;
 cout << st << "~" << ed << "사이의 난수 [" << cnt << "]개 출력\n";
 for(i=0; i<cnt; i++)
 {
  cout << rand() % (ed-st+1) + st << "  ";
 }
 cout << endl << endl;
}

 

 

 

문제 2

#include <iostream>
#include <string.h>
using namespace std;
#define STR_LEN 80

void mySwap(double *d1, double *d2);
void mySwap(char *c1, char *c2, char *c3);
void mySwap(char *s1, char *s2);

int main()
{
 double d1, d2;
 cout << "\n실수 두 개 입력 : ";
 cin >> d1 >> d2;
 mySwap(&d1, &d2);
 cout << "실수 교환 결과는 " << d1 << ", " << d2 << "입니다.\n";

 char c1, c2, c3;
 cout << "\n문자 두개 입력 : ";
 cin >> c1 >> c2;
 mySwap(&c1, &c2, &c3);
 cout << "문자 교환 결과는 " << c1 << ", " << c2 << "입니다.\n";

 char s1[STR_LEN], s2[STR_LEN];
 cout << "\n문자열 두 개 입력 : ";
 cin >> s1 >>s2;
 mySwap(s1, s2);
 cout << "문자열 교환 결과는" << s1 << ", " << s2 << "입니다.\n";

 return 0;
}
void mySwap(double *d1, double *d2)
{
 double swap;

 swap = *d1;
 *d1 = *d2;
 *d2 = swap;
}

void mySwap(char *c1, char *c2, char *c3)
{
 char chsw;

 chsw = *c1;
 *c1 = *c2;
 *c2 = chsw;
}

void mySwap(char *s1, char *s2)
{
 char stswap[STR_LEN];
 strcpy(stswap, s1);
 strcpy(s1, s2);
 strcpy(s2, stswap);
}


반응형