C++/Basic

    구조체 기초 연습

    (8010) 새를 나타내는 구조체 Bird를 정의하여 예제와 같이 사용할 수 있게하라. 멤버 변수는 필요 없고, 멤버 함수 fly는 “I can fly!”를 출력하는 함수이고, sing은 “La La La”를 출력하는 함수이다. (각각 줄바꿈까지 출력) main에서는 아래와 같이 tweety에게 fly함수와 sing함수를 실행하게 한다. Bird tweety; tweety.fly(); tweety.sing(); #include using namespace std; struct Bird{ void fly(){ cout

    string 출력 오류 처리

    (7090) 주어진 프로그램은 단순히 주어진 포인터를 이용하여 스트링을 출력하는 함수를 가지고 있다. 이때 포인터 값이 0이면 시행 오류로 강제 종료 된다. 예외처리를 이용하여 오류 메시지 msg 를 출력하고 정상 종료할 수 있도록 하라. * main에서 체크하고 throw하는 것은 의미가 없다. #include char msg[] = "존재하지 않는 스트링입니다."; void mystrprint(const char *s){ if(s==(char)0){ throw((const char*)msg); } printf("스트링은: %s 입니다.", s); } #include using namespace std; int main(){ const char *s1 = (char *)"Hello"; const cha..

    reference를 이용해 두 개의 정수를 바꾸는 함수

    (7070) 두 개의 정수를 바꾸는 함수 rswap 을 만들되 두 파라메터를 pointer 가 아닌 reference 로 한다. #include using namespace std; void rswap(int &o, int &t ){ int temp; temp=o; o=t; t=temp; } int main(){ int one, two; cin >> one >> two; cout

    string try-catch 오류처리

    (7060) 주어진 프로그램은 두개의 C언어 스트링을 출력하는 프로그램이다. 함수 mystrprint 는 현재로서는 오류 검사를 하지 않는다. 따라서 그대로 실행하면 메모리 오류가 난다. 이를 수정하여 받은 포인터가 0이면 출력 대신에 정의된 메시시 msg를 throw 하도록 만들고 printName에서는 그냥 mystrprint 를 호출하지 말고 try – catch 를 이용하여 받은 오류 메시지를 출력하도록 하라. #include char msg[] = "존재하지 않는 스트링입니다."; void mystrprint(const char *s){ if(s==(char)0){ throw((const char*)msg); } while (*s){ std::cout

    string 읽어들여 공백 없애고 역순으로 출력하기

    (7045) C++의 "string" 타입 변수를 이용하여 표준 입력에서 읽어들인 모든 스트링을 붙여서 하나의 스트링으로 만들되, 먼저 읽은 스트링이 뒤에 있도록 한다. 입력이 끝나면 결과 스트링을 출력하게 한다. (출력은 한번만) 예: this is a wonderful world 를 입력했다면 결과 스트링은 worldwonderfulaisthis 이다. #include using namespace std; int main() { string s1; string s2; string temp; cin>>s1; cin>>s2; s1=s2+s1; //couts2; cin>>temp; s2=temp+s2; //couts1; temp=s1+temp; cout