프로그래밍

 3198, 1/160 회원가입  로그인  
   cherish_247
   [C++] 이거 오류 좀 잡아 주세요..ㅜㅜ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3211 [복사]


과제라서 만들었는데,, 도저히 나머지 오류를 모르겟어요..ㅜㅜ

도와주세요..ㅜㅜ

#include<iostream>
using namespace std;

class SchoolAnimal
{
public:

        char* name;
        int age;

        SchoolAnimal();
        SchoolAnimal(char _name,int _age);
        ~SchoolAnimal();
        SchoolAnimal(const SchoolAnimal&);
        void data();

        void array(char *arr, int size)
        {        
                char temp;
                for(char i=0; i<size; i++)
                {
                        for(char j=0; j<size; j++)
                                if(arr[i]<arr[j])
                                {
                                        temp=arr[i];
                                        arr[i]=arr[j];
                                        arr[j]=temp;
                                }
                }
        }

        void quiz(int name)
        {
                if(name== 'D', 'B', 'P', 'M')
                        cout<<"강아지 입니다."<<endl;
                if(name== 'E', 'B', 'S', 'R')
                        cout<<"고양이 입니다."<<endl;
                else
                        cout<<"잘 못 입력하셨습니다."<<endl;
                
        }
        

private:
        int size;
//        char* name;
//        int age;
        

};

SchoolAnimal::SchoolAnimal()
{
        int menu=0;
}

SchoolAnimal::SchoolAnimal(char _name,int _age)
{        
        name=new char[strlen(_name)+1];
        strcpy(name,_name);
        age=_age;
}


SchoolAnimal::SchoolAnimal(const SchoolAnimal& s)
{
        name=new char[strlen(s.name)+1];
        strcpy(name,s.name);
        age=s.age;
}

SchoolAnimal::~SchoolAnimal()
{
        delete[] name;
}

void data()
{
        cout<<name<<endl;
        cout<<age<<endl;
}

int main()
{

        int menu;
        char dog_1[]={'D', 'B', 'P', 'M'};
        char cat_1[]={'E', 'B', 'S', 'R'};


        SchoolAnimal sa;

        cout<<"다음은 등교길에 볼 수 있는 동물입니다."<<endl;
        cout<<" << 개 고양이 >> "<<endl<<endl;
        cout<<"개의 종류 : 달마시안, 비글, 포메라니안, 말티즈"<<endl;
        cout<<"고양이의 종류 : 이집션마우, 러시안블루, 버만, 샴고양이"<<endl<<endl;
        cout<<"메뉴를 선택하시면 다른 정보를 볼 수 있습니다."<<endl;

        while(true)
        {
        cout<<"1. 개의 종류 나열"<<endl<<"2. 고양이의 종류 나열"<<endl<<"3. 구분"<<endl<<"4. 종료"<<endl;
        cout<<"메뉴선택 : ";
        cin>>menu;

//        cout<<menu<<"번 메뉴를 선택하셨습니다."<<endl;



        if(menu==4)
                break;

        switch(menu)
        {

        case 1:
                {

                        cout<<"보기에 나온 개의 종류를 이름 길이에 따라 나열합니다."<<endl;
                        cout<<"D:달마시안, B:비글 P:포메라이안 M:말티즈"<<endl;
                        char dog[]={'D', 'B', 'P', 'M'};
                        sa.array(dog, 4);
                        for(int i=0; i<4; i++)
                                cout<<dog[i]<<" ";
                        cout<<endl;
                        break;
                }

        case 2:
                {
                        cout<<"보기에 나온 고양이의 종류를 이름 길이에 따라 나열합니다."<<endl;
                        cout<<"E:이집션마우 B:버만 S:샴고양이 R:러시안블루"<<endl;
                        char cat[]={'E', 'B', 'S', 'R'};
                        sa.array(cat, 4);
                        for(int i=0; i<4; i++)
                                cout<<cat[i]<<" ";
                        cout<<endl;
                        break;

                }

        case 3:
                {
                        int name;
                        cout<<"각 동물의 이니셜을 입력하면 구분하는 프로그램입니다."<<endl;
                        cout<<"D:달마시안, B:비글 P:포메라이안 M:말티즈"<<endl;
                        cout<<"E:이집션마우 B:버만 S:샴고양이 R:러시안블루"<<endl;
                        cout<<"이니셜을 입력하세요 : ";
                        cin>>name;
                        sa.quiz(name);
                        break;
                }
                        
        case 5:
                {
                        SchoolAnimal a1("happy",5);
                        SchoolAnimal a2=a1;
                        a1.data();
                        a2.data();
                }


        default:

        cout<<"잘못입력하셨습니다. 다른 번호를 입력해주세요."<<endl;

        continue;

        }
        }

        return 0;


        }

  Hit : 5355     Date : 2011/11/16 01:00



    
windowhan #include<iostream>
using namespace std;

class SchoolAnimal
{

public:

char* name;
int age;

SchoolAnimal();
SchoolAnimal(char *_name,int _age);
~SchoolAnimal();
SchoolAnimal(const SchoolAnimal&);
void data();

void array(char *arr, int size)
{
char temp;
for(char i=0; i<size; i++)
{
for(char j=0; j<size; j++)
if(arr[i]<arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}

void quiz(int name)
{
if(name== 'D', 'B', 'P', 'M')
cout<<"강아지 입니다."<<endl;
if(name== 'E', 'B', 'S', 'R')
cout<<"고양이 입니다."<<endl;
else
cout<<"잘 못 입력하셨습니다."<<endl;

}


private:
int size;
// char* name;
// int age;


};

SchoolAnimal::SchoolAnimal()
{
int menu=0;
}

SchoolAnimal::SchoolAnimal(char* _name,int _age)
{
name=new char[strlen(_name)+1];
strcpy(name,_name);
age=_age;
}


SchoolAnimal::SchoolAnimal(const SchoolAnimal& s)
{
name=new char[strlen(s.name)+1];
strcpy(name,s.name);
age=s.age;
}

SchoolAnimal::~SchoolAnimal()
{
delete[] name;
}

void SchoolAnimal::data()
{
cout<<name<<endl;
cout<<age<<endl;
}

int main()
{

int menu;
char dog_1[]={'D', 'B', 'P', 'M'};
char cat_1[]={'E', 'B', 'S', 'R'};


SchoolAnimal sa;

cout<<"다음은 등교길에 볼 수 있는 동물입니다."<<endl;
cout<<" << 개 고양이 >> "<<endl<<endl;
cout<<"개의 종류 : 달마시안, 비글, 포메라니안, 말티즈"<<endl;
cout<<"고양이의 종류 : 이집션마우, 러시안블루, 버만, 샴고양이"<<endl<<endl;
cout<<"메뉴를 선택하시면 다른 정보를 볼 수 있습니다."<<endl;

while(true)
{
cout<<"1. 개의 종류 나열"<<endl<<"2. 고양이의 종류 나열"<<endl<<"3. 구분"<<endl<<"4. 종료"<<endl;
cout<<"메뉴선택 : ";
cin>>menu;

// cout<<menu<<"번 메뉴를 선택하셨습니다."<<endl;



if(menu==4)
break;

switch(menu)
{

case 1:
{

cout<<"보기에 나온 개의 종류를 이름 길이에 따라 나열합니다."<<endl;
cout<<"D:달마시안, B:비글 P:포메라이안 M:말티즈"<<endl;
char dog[]={'D', 'B', 'P', 'M'};
sa.array(dog, 4);
for(int i=0; i<4; i++)
cout<<dog[i]<<" ";
cout<<endl;
break;
}

case 2:
{
cout<<"보기에 나온 고양이의 종류를 이름 길이에 따라 나열합니다."<<endl;
cout<<"E:이집션마우 B:버만 S:샴고양이 R:러시안블루"<<endl;
char cat[]={'E', 'B', 'S', 'R'};
sa.array(cat, 4);
for(int i=0; i<4; i++)
cout<<cat[i]<<" ";
cout<<endl;
break;

}

case 3:
{
int name;
cout<<"각 동물의 이니셜을 입력하면 구분하는 프로그램입니다."<<endl;
cout<<"D:달마시안, B:비글 P:포메라이안 M:말티즈"<<endl;
cout<<"E:이집션마우 B:버만 S:샴고양이 R:러시안블루"<<endl;
cout<<"이니셜을 입력하세요 : ";
cin>>name;
sa.quiz(name);
break;
}

case 5:
{
SchoolAnimal a1("happy",5);
SchoolAnimal a2=a1;
a1.data();
a2.data();
}


default:

cout<<"잘못입력하셨습니다. 다른 번호를 입력해주세요."<<endl;

continue;

}
}

return 0;

}
해결완료 열공하세요~~
2011/11/16  
cherish_247 이렇게 빨리 해주시다니...ㅜㅜ
감사합니다!!
2011/11/16