2010年5月15日 星期六

[軟體] QT 4 電子書

前幾天才從學校圖書館借了一本 C++ GUI Programming with Qt 4 (2004 年出版)
結果很快就在網路上找到這本書的電子書… (第一版)
當然,這是正版的電子書,是經過作者同意授權能在網路上流通與下載
前提是不能竄改與販賣,如果要印成書要用來自己看是可以的

網址︰http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip

這本書用的是 QT Designer
而我想要找得是 QT Creator 阿阿阿阿~

另外在 QT 的官網也有一些 DOC 可供閱讀
網址︰QT 4.5 Tutorials

額外補充
同一本書在圖書館還有 2006 年出版的
但是以被外借,我只好借 2004 年出版的
不知道不同年份出版的書差別在哪裡…
但是我在網路上找到的電子書目前與 2004 年出版的書到是沒什麼不同

2010年5月13日 星期四

[軟體] 安裝 QT 4 Creator

OS︰Linux Ubuntu 9.10

step 1︰
到官網申請序號,僅需填寫名字、身份(student)、組織(學校名稱簡寫)、國家、E-mail、電話
填好後會將載點跟序號寄到你的 E-mail 之中

step 2︰
根據你的 OS 選擇安裝檔
依據我的 OS 我將下載紅色圈起來的檔案

step 3︰
將 qt-sdk-linux-x86-eval-2009.03.1.bin 移到 /home
開啟終端機依序輸入
idnnl@desktop:~$ chmod +x qt-sdk-linux-x86-eval-2009.03.1.bin
idnnl@desktop:~$ ./qt-sdk-linux-x86-eval-2009.03.1.bin
接著就會出現安裝的圖形介面了,跟在 Windows 沒兩樣

至於序號就是上圖中被我抹黑的那一塊
其他只要一直按 Next 就安裝完成了!

2010年5月7日 星期五

[C/C++] Linux using system("PAUSE")

目前我在 linux 的環境中編譯 C/C++ 都沒有發生什麼大問題
只是在 system("PAUSE"); 這一段會過不去
如下圖所示

在上網搜尋之前先自行測試的結果
如果是 // system("PAUSE"); 的話就不會有編譯錯誤的情形

上網搜尋的結果是
system("PAUSE"); 是 MS 環境底下才能用的指令
也就是說 system("PAUSE"); 的意思是呼叫 DOS 指令來暫停程式
而 Linux 環境中並沒有這個指令能被呼叫所以編譯才會錯誤

嘛
目前就算有這行程式碼我也沒有什麼關係
只是以後程式寫大了要用暫停程式這招來檢查程式是否有錯誤就不能用了
(這可是絕招耶!)
所以找到了一位神手寫的替代方案
參考網頁︰[C/C++] system("pause") for linux

大意如下︰
自行定義 PAUSE 這個指令,要用的時候在呼叫即可

程式︰
#define PAUSE cout << "Press any key to continue..." << endl; fgetc(stdin);

嘛
原作者使用的是 C語言 的環境
所以用的是 printf();
而我用的是 C++ 的環境所以用 cout
若要用 C++ 來執行則需要再增加引頭檔 stdio.h

執行結果如下

按下任意鍵之後下圖所示

2010年5月4日 星期二

[C/C++] 格式化列印

前置符號︰
8 進位0
16 進位0x

格式指示符號
char%c
signed int%d
unsigned int%u
short%hd
long%ld
unsigned long%ul
signed long long%lld
unsigned long long%llu
8 進位%o
8 進位 (long)%O
16 進位%x 或 %X
16 進位 (long)%lx
8 進位 + 前置符號%#o
16 進位 + 前置符號%#x 或 %#X
字串%s

浮點數
一般浮點數 (float 或 double)%f
指數 (float 或 double)%e 或 %E 或 %a 或 %A
一般浮點數 (long double)%Lf
指數 (long double)%Le 或 %La