|
두 값을 입력 받아 큰 값을 출력하는 프로그램을 작성하시오.
메뉴는 다음과 같다.
1. 정수
2. 실수
3. 문자
4. 문자열
compare() 함수를 함수 오버로딩을 이용하여 작성하라.
Input
메뉴를 입력 받는다.
메뉴 입력 후, 메뉴에 맞는 두 값을 입력 받는다.
메뉴 4번에서 문자열의 길이는 최대 20자이다.
Output
두 값 중 큰 값을 출력한다.
Sample Input 1
1
1 2
Sample Output 1
2
Sample Input 2
2
1.5 0.9
Sample Output 2
1.5
Sample Input 3
3
m n
Sample Output 3
n
Sample Input 4
4
apple banana
Sample Output 4
banana
이런 문제를 풀려고 하는데 제가 한 코딩중에서 무엇이 문제인가요 ㅜㅜ
-------------------------------------------------------------------
//두 값 비교하기 - 함수 오버로딩
//201310890 김승수
#include <iostream>
using namespace std;
void compare(int a, int b)
{
if(a>=b)
{
cout << a;
}
else
{
cout << b;
}
}
void compare(double a, double b)
{
if(a>=b)
{
cout << a;
}
else
{
cout << b;
}
}
void compare(char a, char b)
{
if(a>=b)
{
cout << a;
}
else
{
cout << b;
}
}
void compare(char a[21], char b[21])
{
int i, j;
int sumi, sumj;
for(i=0; i<21; i++)
{
if(a[i]=='\0')
{
sumi=i;
break;
}
}
for(j=0; j<21; j++)
{
if(b[j]=='\0')
{
sumj=j;
break;
}
}
if(sumi>=sumj)
{
cout << a;
}
else
{
cout << b;
}
}
int main()
{
int menu;
cin >> menu;
if(menu==1)
{
int a, b;
cin >> a >> b;
compare(a,b);
}
else if(menu==2)
{
double a, b;
cin >> a >> b;
compare(a,b);
}
else if(menu==3)
{
char a, b;
cin >> a >> b;
compare(a,b);
}
else if(menu==4)
{
char a[21], b[21];
cin >> a >> b;
compare(a,b);
}
else
{}
return 0;
}
|