Accelerated C++學習筆記 Ch1

定義對應的宏,編譯測試對應代碼,建議自己手敲一遍。

/* ----------------------------------------------------- *
	Ch1 字符串的使用
	說明:引用書中代碼,略有改動
 * ----------------------------------------------------- */

// 通過宏選擇編譯代碼段
#define  Hello_world//Hello_friends//Hello_friends_Box

#if defined ( Hello_world ) 
/* ----------------------------------------------------- *
	從Hello world!開始 							
 * ----------------------------------------------------- */
#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}
/* ----------------------------------------------------- */



#elif defined ( Hello_friends )
/* ----------------------------------------------------- *
	定義變量與交互						
 * ----------------------------------------------------- */
#include <iostream>

using namespace std;

int main()
{
    cout << "Please enter your name:";
    string name;
    cin >> name;
    cout << "Hello," << name << endl;
    return 0;
}
/* ----------------------------------------------------- *
Please enter your name:Tom
Hello,Tom

Process returned 0 (0x0)   execution time : 10.518 s
Press any key to continue.

 * ----------------------------------------------------- */


 
#elif defined ( Hello_friends_Box )
/* ----------------------------------------------------- *
說明:
添加using namespace std;無需包含string頭文件
書中有點小問題,已經修改
定義字符串的兩種方式
	相同字符的字符串,=(字符數目,字符);
	字符串+字符串+...+字符串
 * ----------------------------------------------------- */
#include <iostream>

using namespace std;

int main()
{
    cout << "Please enter your name:";
    string name;
    cin >> name;
    const string greeting = "Hello,"+name+"!" ; //'!'
    const string spaces(greeting.size(),' ');
    const string second = "* "+spaces+" *";
    const string first(second.size(),'*');
    cout << first <<endl;
    cout << second <<endl;
    cout << "* " << greeting << " *" <<endl;
    cout << second <<endl;
    cout << first <<endl;
    return 0;
}
/* ----------------------------------------------------- *
Please enter your name:Tom
**************
*            *
* Hello,Tom! *
*            *
**************

Process returned 0 (0x0)   execution time : 6.335 s
Press any key to continue.
 * ----------------------------------------------------- */

 #endif


發佈了27 篇原創文章 · 獲贊 24 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章