C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[43711] 공부중에 막혀서 질문드립니다.
xylosper [] 968 읽음    2006-02-16 13:36
지금 책을 보며 C++을 공부중인데...책이랑 똑같이 코딩 했는데 결과가 이상해서 질문드립니다.

이름을 입력받아서 테두리를 달아서 출력하는 프로그램입니다.

컴파일링도 에러없이 되는데, 문제는 결과물이 이상하다는 것입니다.

일단 이름 입력받는 곳은 정상으로 나오고, 이름을 입력하면, 테두리 속에 이름이 들어간 헬로메시지가 나와야되는데, 메시지가 안나옵니다.

혹시나해서 이름 길이를 조절해보니, 그에따라서 테두리도 같이 늘어나는 걸로 봐서 출력 부분에는 문제가 없는것 같고...

greeting의 정의가 잘못된거 아닌가 하는 생각도 들지만, 어디가 잘못된건지도 모르겠고, 제가보기엔 제 코딩과 책에 써있는 코딩이 똑같이 보여서...어디가 잘못된것인지 알려주시면 감사하겠습니다.

#include <iostream>
#include <string>
// 어떤 표준 라이브러리를 사용하는지 알림
using std::cin;        using std::cout;
using std::string;    using std::endl;

int main()
{
    //이름을 물어봄
    cout << "please enter your name: ";

    //이름을 읽어들임
    string name;
    cin >> name;

    //출력할 메시지를 구성
    const string greeting = "Hello, " + name + "!";

    //인사말 주위의 빈칸 개수
    const int pad = 1;

    //출력할 행과 열의 개수
    const int rows = 2 * pad + 3;
    const int cols = 2 * pad + 2 + greeting.size();
   
    //입력과 출력을 구분하기 위한 빈칸 삽입
    cout << endl;

    //rows 만큼의 행 출력
    //불변식 : 지금까지 r개의 행을 출력함
    for (int r = 0; r != rows; ++r) {

        string::size_type c = 0;

        //불변식 : 지금까지 c개의 열을 출력함
        while ( c != cols) {

            //인사말을 출력할 차례인지?
            if (cols == pad +1 && rows == pad +1) {
                cout << greeting;
                c += greeting.size();
            } else {

                //경계에 있는지?
                if (r == 0 || c == 0 || r == rows -1 || c == cols -1)
                    cout << "*";
                else
                    cout << " ";
                ++c;
                }
        }
        cout << endl;
    }
    return 0;
}

+ -

관련 글 리스트
43711 공부중에 막혀서 질문드립니다. xylosper 968 2006/02/16
43729     Re:공부중에 막혀서 질문드립니다. 해롱해롱 877 2006/02/17
43716     Re:공부중에 막혀서 질문드립니다. xylosper 926 2006/02/16
43713     Re:공부중에 막혀서 질문드립니다. HS_Soul 805 2006/02/16
43712     Re:공부중에 막혀서 질문드립니다. 공부맨 837 2006/02/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.