課程將以dev-c++這套軟體帶各位C語言的世界。
初期會以C語言的基本架構、條件判斷、迴圈、函數作介紹,
如果有疑問或課程建議,請提出來!
如果沒有回應,那我這篇文章一個月後會找時間刪除
星期六, 2月 23, 2008
星期五, 2月 22, 2008
ADO.Net架構
蠻多人不太清楚ADO.Net架構,因此我就將架構圖放在這裡。
這一張圖片取自於碁峰的「Visual C# 2005 程式設計經典」
碁峰的「Visual C# 2005 程式設計經典」的書本封面為:
請點選圖示或連結就可以線上訂閱圖書..
這一張圖片取自於碁峰的「Visual C# 2005 程式設計經典」
碁峰的「Visual C# 2005 程式設計經典」的書本封面為:
請點選圖示或連結就可以線上訂閱圖書..
字串前後交換的程式,使用到遞迴的觀念
這是一個字串前後交換的程式,使用到遞迴的觀念..
這裡的()會以全形的()取代,真正使用時請記得替換。
C語言:
#include
char bufer[100];
char str_f(int x)
{
if(x!=0)
{
printf("%c",bufer[x-1]);
str_f(x-1);
}
}
main()
{
printf("input:");
scanf("%s",&bufer);
printf("output:");
str_f(100);
printf("\n");
system("PAUSE");
return 0;
}
C++的語法:
#include
char bufer[100];
char str_f(int x)
{
if(x!=0)
{
cout<<bufer[x-1];
str_f(x-1);
}
}
main()
{
cout<<"input:"<<endl;
cin>>bufer;
cout<<"output:"<<endl;
str_f(100);
system("PAUSE");
return 0;
}
這裡的()會以全形的()取代,真正使用時請記得替換。
C語言:
#include
char bufer[100];
char str_f(int x)
{
if(x!=0)
{
printf("%c",bufer[x-1]);
str_f(x-1);
}
}
main()
{
printf("input:");
scanf("%s",&bufer);
printf("output:");
str_f(100);
printf("\n");
system("PAUSE");
return 0;
}
C++的語法:
#include
char bufer[100];
char str_f(int x)
{
if(x!=0)
{
cout<<bufer[x-1];
str_f(x-1);
}
}
main()
{
cout<<"input:"<<endl;
cin>>bufer;
cout<<"output:"<<endl;
str_f(100);
system("PAUSE");
return 0;
}
星期二, 2月 19, 2008
MySQL的AUTO_INCREMENT欄位
資料表的結構如下:
CREATE TABLE `test1` (
`idpass` int(11) NOT NULL auto_increment,
`datapass` varchar(20) NOT NULL,
PRIMARY KEY (`idpass`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
因為欄位是AUTO_INCREMENT,所以只要資料表資料存在,
數值編號會累加,而且不是從現有資料累加,而是從這個table
曾有的資料累加。就像收據,這個號碼一旦使用了,就不能再使用。
除非你使用新的收據簿。
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-1');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-2');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-3');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-4');
Query OK, 1 row affected (0.02 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
| 4 | data-4 |
+--------+----------+
4 rows in set (0.00 sec)
mysql> delete from test1 where idpass=4;
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
+--------+----------+
3 rows in set (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-x');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
| 5 | data-x |
+--------+----------+
4 rows in set (0.00 sec)
當我把資料表的內容清空後,數值就會重新開始計算。
mysql> TRUNCATE TABLE `test1`;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-x');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-x |
+--------+----------+
1 row in set (0.00 sec)
CREATE TABLE `test1` (
`idpass` int(11) NOT NULL auto_increment,
`datapass` varchar(20) NOT NULL,
PRIMARY KEY (`idpass`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
因為欄位是AUTO_INCREMENT,所以只要資料表資料存在,
數值編號會累加,而且不是從現有資料累加,而是從這個table
曾有的資料累加。就像收據,這個號碼一旦使用了,就不能再使用。
除非你使用新的收據簿。
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-1');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-2');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-3');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-4');
Query OK, 1 row affected (0.02 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
| 4 | data-4 |
+--------+----------+
4 rows in set (0.00 sec)
mysql> delete from test1 where idpass=4;
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
+--------+----------+
3 rows in set (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-x');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-1 |
| 2 | data-2 |
| 3 | data-3 |
| 5 | data-x |
+--------+----------+
4 rows in set (0.00 sec)
當我把資料表的內容清空後,數值就會重新開始計算。
mysql> TRUNCATE TABLE `test1`;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO `test`.`test1` (
-> `idpass`,`datapass`)VALUES (NULL ,'data-x');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+--------+----------+
| idpass | datapass |
+--------+----------+
| 1 | data-x |
+--------+----------+
1 row in set (0.00 sec)
星期日, 2月 17, 2008
C++不同權限繼承方式
以 「以public方式繼承」
父親層public
|
父親層protected
|
父親層private
| |
子類別public繼承
|
Public
|
Protected
|
X
|
孫類別public繼承
|
Public
|
Protected
|
X
|
以 「以protected方式繼承」
父親層public
|
父親層protected
|
父親層private
| |
子類別protected繼承
|
Protected
|
Protected
|
X
|
孫類別public繼承
|
Protected
|
Protected
|
X
|
以 「以private方式繼承」
父親層public
|
父親層protected
|
父親層private
| |
子類別private繼承
|
Private
|
Private
|
X
|
孫類別public繼承
|
X
|
X
|
X
|
星期四, 2月 14, 2008
C++ N!(N階層)非遞迴的程式
因有學員提問,我就在這裡將程式碼公開,
也歡迎各位提供不同的寫法(請記得將<<改為<<):
#include
int main()
{
int n,product=1,i;
cout<<endl<<"====================="<<endl;
cout<<" n!計算 "<<endl;
cout<<"please input"<<endl;
cin>>n;
cout <<endl<<"====================="<<endl;
for(i=1;i<=n;++i)
product*= i;
cout <<n<<":"<<product<<endl;
cout <<endl<<"====================="<<endl;
cout <<endl<<"from pcschool c++ class"<<endl;
system("pause");
return 0;
}
也歡迎各位提供不同的寫法(請記得將<<改為<<):
#include
int main()
{
int n,product=1,i;
cout<<endl<<"====================="<<endl;
cout<<" n!計算 "<<endl;
cout<<"please input"<<endl;
cin>>n;
cout <<endl<<"====================="<<endl;
for(i=1;i<=n;++i)
product*= i;
cout <<n<<":"<<product<<endl;
cout <<endl<<"====================="<<endl;
cout <<endl<<"from pcschool c++ class"<<endl;
system("pause");
return 0;
}
2008年02月:東區認證中心ASP.Net初階課程
課程以VB語法為主,由基本語法開始,
並介紹幾個基本表單控制項的使用,
再介紹微軟Web Developer提供的驗證工具。
如果有疑問或課程建議,請提出來!
如果沒有回應,那我這篇文章一個月後會找時間刪除。
並介紹幾個基本表單控制項的使用,
再介紹微軟Web Developer提供的驗證工具。
如果有疑問或課程建議,請提出來!
如果沒有回應,那我這篇文章一個月後會找時間刪除。
星期一, 2月 04, 2008
民國97年04月課程表
星期日 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 |
1 東區認證PHP-3 | 2 東區認證 VC-5 | 3 東區認證PHP-4 | 4 | 5 東區認證C-9-10 | ||
6 | 7 士林Win 2003 Server 系統設定-1 | 8 東區認證PHP-5 | 9 士林Win 2003 Server 系統設定-2 | 10 東區認證PHP-6 | 11 士林Win 2003 Server 系統設定-3 | 12 東區認證 VC-1-2 |
13 | 14 士林Win 2003 Server 管理基礎-1 | 15 東區認證PHP-7 | 16 士林Win 2003 Server 管理基礎-2 | 17 東區認證PHP-8 | 18 士林Win 2003 Server 管理基礎-3 | 19 東區認證 VC-3-4 |
20 | 21 士林Win 2003 Server 管理實務-1 | 22 東區認證PHP-9 | 23 士林Win 2003 Server 管理實務-2 | 24 東區認證PHP-10 | 25 士林Win 2003 Server 管理實務-3 | 26 東區認證 VC-5-6 |
27 東區認證ASP.Net-1-2 | 28 請勿安排課程 | 29 東區認證PHP-11 | 30 |
星期五, 2月 01, 2008
Windows系統變數
以下為Windows系統變數,各位如需使用,請將%改為半形就可以使用了。
1 %SystemDrive%:系統磁碟機,預設是C:
2 %SystemRoot%:系統根目錄,預設是C:\WINNT或C:\WINDOWS
3 %SystemDirectory%:系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32
4 %WinDir%:Windows目錄,預設是C:\WINNT或C:\WINDOWS
5 %ProgramFiles%:應用程式目錄,預設是C:\Program Files
6 %Temp%、%Tmp%:暫存檔目錄 %HomeDrive%:使用者目錄的磁碟機
7 %HomePath%:使用者家目錄
8 %OS%:作業系統名稱,其值固定為Windows_NT
9 %UserDomain%:包含使用者帳號的網域名稱,或者電腦名稱
10 %UserName%:使用者帳號名稱
11 %ALLUSERSPROFILE%:All Users設定檔的資料夾位置。
12 %APPDATA%:目前使用者的Application Data資料夾位置。
13 %CD%:目前的工作資料夾。
14 %CLIENTNAME%:目前使用者的NETBIOS電腦名稱。
15 %CMDCMDLINE%:處理目前命令提示字元視窗命令的cmd.exe的完整路徑。
16 %CMDEXTVERSION%:目前Command Processor Extensions的版本。
17 %CommonProgramFiles%:Common Files資料夾的路徑。
18 %COMPUTERNAME%:電腦名稱。
19 %COMSPEC%::命令提示字元視窗的解譯程式路徑,通常與%CMDCMDLINE%相同。
20 %DATE%:目前的系統日期。
21 %ERRORLEVEL%:最近執行過的命令的錯誤碼;非零的值表示發生過的錯誤碼。
22 %HomeDrive%:使用者目錄的磁碟機。
23 %HOMESHARE%:目前使用者共用資料夾的網路路徑。
24 %LOGONSEVER%:目前使用者所登入的網路控制器名稱。
25 %NUMBER_OF_PROCESSORS%:電腦的處理器數量。
26 %Path%:執行檔的搜尋路徑。
1 %SystemDrive%:系統磁碟機,預設是C:
2 %SystemRoot%:系統根目錄,預設是C:\WINNT或C:\WINDOWS
3 %SystemDirectory%:系統目錄,預設是C:\WINNT\System32或C:\WINDOWS\System32
4 %WinDir%:Windows目錄,預設是C:\WINNT或C:\WINDOWS
5 %ProgramFiles%:應用程式目錄,預設是C:\Program Files
6 %Temp%、%Tmp%:暫存檔目錄 %HomeDrive%:使用者目錄的磁碟機
7 %HomePath%:使用者家目錄
8 %OS%:作業系統名稱,其值固定為Windows_NT
9 %UserDomain%:包含使用者帳號的網域名稱,或者電腦名稱
10 %UserName%:使用者帳號名稱
11 %ALLUSERSPROFILE%:All Users設定檔的資料夾位置。
12 %APPDATA%:目前使用者的Application Data資料夾位置。
13 %CD%:目前的工作資料夾。
14 %CLIENTNAME%:目前使用者的NETBIOS電腦名稱。
15 %CMDCMDLINE%:處理目前命令提示字元視窗命令的cmd.exe的完整路徑。
16 %CMDEXTVERSION%:目前Command Processor Extensions的版本。
17 %CommonProgramFiles%:Common Files資料夾的路徑。
18 %COMPUTERNAME%:電腦名稱。
19 %COMSPEC%::命令提示字元視窗的解譯程式路徑,通常與%CMDCMDLINE%相同。
20 %DATE%:目前的系統日期。
21 %ERRORLEVEL%:最近執行過的命令的錯誤碼;非零的值表示發生過的錯誤碼。
22 %HomeDrive%:使用者目錄的磁碟機。
23 %HOMESHARE%:目前使用者共用資料夾的網路路徑。
24 %LOGONSEVER%:目前使用者所登入的網路控制器名稱。
25 %NUMBER_OF_PROCESSORS%:電腦的處理器數量。
26 %Path%:執行檔的搜尋路徑。