《C語言項目開發全程實錄》以貪吃蛇游戲、小熊時鐘、學生信息管理系統、學生個人消費管理系統、火車訂票系統、通訊錄管理系統、企業員工管理系統、網絡通信編程、圖書管理系統和窗體版圖書管理系統共10個實際項目開發程序為案例,從軟件工程的角度出發,按照項目的開發順序,系統、全面地介紹了程序開發流程,從開發背景、需求分析、系統功能分析、數據庫分析、數據庫建模到系統開發,每一過程都進行了詳細的介紹。
本書及光盤特色還有:10套項目開發完整案例,項目開發案例的同步視頻和其源程序。登錄網站還可獲取各類資源庫(模塊庫、題庫、素材庫)等項目案例常用資源,網站還提供技術論壇支持等。
本書案例涉及行業廣泛,實用性非常強。通過本書的學習,讀者可以了解各行業的特點,能夠針對某一行業進行軟件開發;也可以通過光盤中提供的案例源代碼和數據庫進行二次開發,以減少開發系統所需要的時間。
《軟件項目開發全程實錄》叢書是一套以展現項目開發完整過程為主,同時配備完整教學視頻和源程序的軟件開發“案例類”圖書。該叢書第一版自2008年出版以來,受到廣大讀者,尤其是高校師生和求職人員的熱烈歡迎,2011年進行了改版,截至目前,該叢書已經累計銷售近16萬冊,成為近年來最暢銷的編程案例類叢書之一。應讀者朋友的要求,我們根據最新的市場變化并結合廣大讀者的建議,編寫了該叢書的第3版。本書的特點有:★10套完整項目開發案例,項目開發全程展現10個項目開發案例涵蓋了常用的不同類別的應用系統,每個案例都從需求分析到程序實現,基本完整地展現了項目開發全過程。★5小時教學視頻,讓學習更加輕松、快捷幾乎涵蓋了本書全部內容,先看教學視頻,再對照圖書操作,學習一定更加輕松、更加快捷。★提供模塊庫、題庫、素材庫等海量學習資料本書服務網站 ,提供了模塊庫、題庫、素材庫等海量學習資料,讀者可以索取、查閱相關資料。★提供多種形式技術支持,讓學習暢通無阻為了幫助讀者快速學習,本書提供以下形式技術支持:QQ;4006751066
編寫目的與背景
眾所周知,當前社會需求和高校課程設置嚴重脫節,一方面企業找不到可迅速上手的人才,另一方面大學生就業難。如果有一些面向工作應用的案例參考書,讓大學生得以參考,并能親手去做,勢必能緩解這種矛盾。本書就是這樣一本書:項目開發案例型的、面向工作應用的軟件開發類圖書。編寫本書的首要目的就是架起讓學生從學校走向社會的橋梁。
其次,本書以完成小型項目為目的,讓學生切身感受到軟件開發給工作帶來實實在在的用處和方便,并非只是枯燥的語法和陌生的術語,從而激發學生學習軟件的興趣,讓學生變被動學習為自主自發學習。
第三,本書的項目開發案例過程完整,不但適合在學習軟件開發時作為小型項目開發的參考書,而且可以作為畢業設計的案例參考書。
第四,叢書第1版于2008年6月出版,于2011年1月改版,因為編寫細膩,配備全程視頻備受讀者矚目,叢書累計銷售16萬冊,成為近年來最受歡迎的軟件開發項目案例類叢書之一。
在以上背景下,我們根據讀者朋友的反饋,與時俱進,對叢書進行了改版。
本書特點
視頻講解
對于初學者來說,視頻講解是最好的導師,它能夠引導初學者快速入門,使初學者感受到編程的快樂和成就感,增強進一步學習的信心。鑒于此,本書為每一個案例都配備了視頻講解,初學者可以通過視頻講解實現案例中的功能。
典型案例
本書案例均從實際應用角度出發,應用了當前流行的技術,涉及的知識廣泛,讀者可以從每個案例中積累豐富的實戰經驗。
代碼注釋
為了便于讀者閱讀程序代碼,書中的代碼均提供了詳細的注釋,并且整齊地縱向排列,可使讀者快速領略作者意圖。
代碼貼士
案例類書籍通常會包含大量的程序代碼,冗長的代碼往往令初學者望而生畏。為了方便讀者閱讀和理解代碼,本書避免了連續大篇幅的代碼,將其分割為多個部分,并對重要的變量、方法和知識點設計了獨具特色的代碼貼士。
知識擴展
為了增加讀者的編程經驗和技巧,書中每個案例都標記有注意、技巧等提示信息,并且在每章中都提供有一項專題技術。
本書約定
由于篇幅有限,本書每章并不能逐一介紹案例中的各模塊。作者選擇了基礎和典型的模塊進行介紹,對于功能重復的模塊,由于技術、設計思路和實現過程基本雷同,因此沒有在書中體現。讀者在學習過程中若有相關疑問,請登錄本書官方網站。本書中涉及的功能模塊在光盤中都附帶有視頻錄像,方便讀者學習。
適合讀者
本書適合作為計算機相關專業的大學生、軟件開發相關求職者和愛好者的畢業設計和項目開發的參考書。
本書服務
為了給讀者提供更為方便快捷的服務,讀者可以登錄本書官方網站:www.rjkflm.com,或者加入QQ:4006751066進行交流。
本書作者
本書由明日科技軟件開發團隊組織編寫,主要由李根福、賈麗君執筆,如下人員也參與了本書的編寫工作,他們是:劉莉莉、顧彥玲、李賀、楊麗、王小科、王國輝、張鑫、賽奎春、高春艷、陳英、宋禹蒙、劉佳、辛洪郁、陳丹丹、王雨竹、隋光宇、李偉、張金輝、李慧、劉欣、李繼業、潘凱華、趙永發、寇長梅、趙會東、王敬潔、李浩然、苗春義、劉清懷、張世輝、張領等,在此一并感謝!
在編寫本書的過程中,我們本著科學、嚴謹的態度,力求精益求精,但錯誤、疏漏之處在所難免,敬請廣大讀者批評指正。
感謝您購買本書,希望本書能成為您的良師益友,成為您步入編程高手之路的踏腳石。
寶劍鋒從磨礪出,梅花香自苦寒來。祝讀書快樂!
編 者
第1章 貪吃蛇游戲(TC 2.0實現) 1
視頻講解:16分鐘
1.1 貪吃蛇游戲概述 2
1.1.1 功能闡述 2
1.1.2 系統預覽 2
1.2 關鍵技術 3
1.2.1 bioskey()函數 4
1.2.2 initgraph()函數和closegraph()函數 5
1.2.3 setbkcolor()函數 5
1.2.4 outtextxy()函數 5
1.2.5 settextstyle()函數 5
1.2.6 setcolor()函數 6
1.2.7 getch()函數 6
1.3 程序預處理模塊 6
1.3.1 文件引用 6
第1章 貪吃蛇游戲(TC 2.0實現) 1
視頻講解:16分鐘
1.1 貪吃蛇游戲概述 2
1.1.1 功能闡述 2
1.1.2 系統預覽 2
1.2 關鍵技術 3
1.2.1 bioskey()函數 4
1.2.2 initgraph()函數和closegraph()函數 5
1.2.3 setbkcolor()函數 5
1.2.4 outtextxy()函數 5
1.2.5 settextstyle()函數 5
1.2.6 setcolor()函數 6
1.2.7 getch()函數 6
1.3 程序預處理模塊 6
1.3.1 文件引用 6
1.3.2 宏定義 7
1.3.3 聲明結構體 7
1.3.4 函數聲明 8
1.4 主函數模塊設計 8
1.5 速度選擇界面 8
1.5.1 模塊概述 8
1.5.2 速度選擇界面的實現 9
1.6 畫墻函數的設計 9
1.6.1 模塊概述 9
1.6.2 畫墻函數的實現 10
1.7 游戲運行函數的設計 11
1.7.1 模塊概述 11
1.7.2 游戲運行函數的實現 11
1.8 游戲結束界面的設計 14
1.8.1 模塊概述 14
1.8.2 游戲結束界面的實現 14
1.9 開發總結 15
第2章 小熊時鐘(TC 2.0實現) 16
視頻講解:10分鐘
2.1 小熊時鐘概述 17
2.1.1 功能概述 17
2.1.2 小熊時鐘效果預覽 17
2.2 關鍵技術 17
2.2.1 圖形模式初始化 17
2.2.2 繪制時鐘刻度 18
2.3 繪制圖形界面模塊 19
2.3.1 模塊概述 19
2.3.2 模塊實現 19
2.4 判斷按鍵模塊 20
2.4.1 模塊概述 20
2.4.2 模塊實現 21
2.5 顯示時間模塊 21
2.5.1 模塊概述 21
2.5.2 模塊實現 21
2.6 開發總結 22
第3章 學生信息管理系統(Visual C++ 6.0實現) 23
視頻講解:45分鐘
3.1 開發背景 24
3.2 需求分析 24
3.3 系統設計 24
3.3.1 系統目標 24
3.3.2 系統功能結構 25
3.3.3 系統預覽 25
3.4 預處理模塊設計 27
3.4.1 模塊概述 27
3.4.2 技術分析 28
3.4.3 功能實現 28
3.5 主函數設計 29
3.5.1 功能概述 29
3.5.2 功能實現 30
3.6 錄入學生信息模塊 31
3.6.1 模塊概述 31
3.6.2 技術分析 32
3.6.3 功能實現 33
3.7 查詢學生信息模塊 34
3.7.1 模塊概述 34
3.7.2 功能實現 35
3.8 刪除學生信息模塊 36
3.8.1 模塊概述 36
3.8.2 功能實現 36
3.9 插入學生信息模塊 38
3.9.1 功能概述 38
3.9.2 功能實現 38
3.10 學生成績排名模塊 40
3.10.1 功能概述 40
3.10.2 技術分析 40
3.10.3 功能實現 41
3.11 開發總結 42
第4章 學生個人消費管理系統(TC 2.0實現) 43
視頻講解:38分鐘
4.1 開發背景 44
4.2 需求分析 44
4.3 系統設計 44
4.3.1 系統目標 44
4.3.2 系統功能結構 44
4.3.3 系統預覽 45
4.4 預處理模塊設計 47
4.4.1 模塊概述 47
4.4.2 技術分析 48
4.4.3 功能實現 48
4.5 主函數設計 49
4.5.1 功能概述 49
4.5.2 技術分析 50
4.5.3 功能實現 50
4.6 錄入學生消費信息模塊 53
4.6.1 模塊概述 53
4.6.2 技術分析 54
4.6.3 功能實現 54
4.7 查詢學生消費信息模塊 58
4.7.1 模塊概述 58
4.7.2 功能實現 59
4.8 刪除學生消費信息模塊 60
4.8.1 模塊概述 60
4.8.2 技術分析 60
4.8.3 功能實現 61
4.9 顯示學生消費信息模塊 62
4.9.1 功能概述 62
4.9.2 功能實現 63
4.10 保存學生消費信息模塊 63
4.10.1 功能概述 63
4.10.2 技術分析 64
4.10.3 功能實現 65
4.11 開發總結 66
第5章 火車訂票系統(TC 2.0實現) 67
視頻講解:1小時2分鐘
5.1 開發背景 68
5.2 需求分析 68
5.3 系統設計 68
5.3.1 系統目標 68
5.3.2 系統功能結構 68
5.3.3 系統預覽 69
5.4 預處理模塊設計 70
5.4.1 模塊概述 70
5.4.2 模塊實現 70
5.5 主函數設計 72
5.5.1 主函數概述 72
5.5.2 技術分析 72
5.5.3 主函數實現 74
5.6 添加模塊設計 75
5.6.1 模塊概述 75
5.6.2 技術分析 76
5.6.3 功能實現 76
5.7 查詢模塊設計 78
5.7.1 模塊概述 78
5.7.2 功能實現 78
5.8 訂票模塊設計 80
5.8.1 模塊概述 80
5.8.2 技術分析 80
5.8.3 功能實現 80
5.9 修改模塊設計 82
5.9.1 模塊概述 82
5.9.2 功能實現 83
5.10 顯示模塊設計 84
5.10.1 模塊概述 84
5.10.2 功能實現 85
5.11 保存模塊設計 85
5.11.1 模塊概述 85
5.11.2 功能實現 86
5.12 開發總結 87
第6章 通訊錄管理系統 88
視頻講解:15分鐘
6.1 開發背景 89
6.2 系統分析 89
6.3 系統設計 89
6.3.1 功能闡述 89
6.3.2 功能結構 89
6.3.3 系統預覽 89
6.4 文件引用 91
6.5 聲明結構體 91
6.6 函數聲明 92
6.7 功能菜單設計 92
6.7.1 功能概述 92
6.7.2 功能菜單實現 92
6.7.3 自定義菜單功能函數 94
6.8 通訊錄錄入設計 95
6.8.1 功能概述 95
6.8.2 通訊錄錄入實現 95
6.9 通訊錄查詢設計 97
6.9.1 功能概述 97
6.9.2 通訊錄查詢實現 97
6.10 通訊錄刪除設計 98
6.10.1 功能概述 98
6.10.2 通訊錄刪除技術分析 98
6.10.3 通訊錄刪除實現 99
6.11 通訊錄顯示設計 100
6.11.1 功能概述 100
6.11.2 通訊錄顯示實現 100
6.12 通訊錄數據保存設計 101
6.12.1 功能概述 101
6.12.2 通訊錄數據保存實現 101
6.13 數據加載設計 102
6.13.1 功能概述 102
6.13.2 數據加載實現 102
6.14 開發總結 103
第7章 企業員工管理系統 104
視頻講解:44分鐘
7.1 開發背景 105
7.2 系統分析 105
7.2.1 需求分析 105
7.2.2 可行性分析 105
7.3 系統設計 106
7.3.1 功能闡述 106
7.3.2 功能結構 106
7.3.3 系統預覽 106
7.4 頭文件模塊設計 107
7.4.1 模塊概述 107
7.4.2 頭文件模塊實現 107
7.5 主函數模塊設計 108
7.5.1 模塊概述 108
7.5.2 主函數模塊實現 108
7.6 系統初始化模塊設計 109
7.6.1 模塊概述 109
7.6.2 系統初始化模塊技術分析 109
7.6.3 系統初始化模塊實現 111
7.7 功能菜單模塊設計 112
7.7.1 模塊概述 112
7.7.2 功能菜單模塊實現 112
7.8 系統登錄模塊設計 115
7.8.1 模塊概述 115
7.8.2 系統登錄模塊技術分析 115
7.8.3 系統登錄模塊實現 115
7.9 員工信息添加模塊設計 116
7.9.1 模塊概述 116
7.9.2 員工信息添加模塊技術分析 117
7.9.3 員工信息添加模塊實現 117
7.10 員工信息刪除模塊設計 119
7.10.1 模塊概述 119
7.10.2 員工信息刪除模塊實現 119
7.11 員工信息查詢模塊設計 121
7.11.1 模塊概述 121
7.11.2 員工信息查詢模塊實現 121
7.12 員工信息修改模塊設計 125
7.12.1 模塊概述 125
7.12.2 員工信息修改模塊實現 126
7.13 員工信息統計模塊設計 129
7.13.1 模塊概述 129
7.13.2 員工信息統計模塊實現 129
7.14 系統密碼重置模塊設計 130
7.14.1 模塊概述 130
7.14.2 系統密碼重置模塊實現 130
7.15 開發總結 132
第8章 網絡通信編程(Visual C++ 6.0實現) 133
視頻講解:20分鐘
8.1 網絡通信系統概述 134
8.1.1 開發背景 134
8.1.2 需求分析 134
8.1.3 功能結構圖 134
8.1.4 系統預覽 135
8.2 技術攻關 136
8.2.1 TCP/IP協議 136
8.2.2 IP地址 137
8.2.3 數據包格式 138
8.2.4 建立連接 140
8.2.5 套接字庫函數 140
8.3 網絡通信系統主程序 145
8.4 點對點通信 148
8.5 服務器中轉通信 156
8.6 程序調試與錯誤處理 165
8.7 開發總結 167
第9章 圖書管理系統(Visual C++ 6.0+MySQL實現) 170
視頻講解:55分鐘
9.1 概述 171
9.1.1 需求分析 171
9.1.2 開發工具選擇 171
9.2 系統設計 171
9.2.1 系統目標 171
9.2.2 系統功能結構 172
9.2.3 系統預覽 172
9.2.4 開發及運行環境 173
9.3 數據庫設計 174
9.3.1 安裝MySQL數據庫 174
9.3.2 啟動MySQL數據庫 178
9.3.3 創建數據庫 178
9.3.4 數據表結構 179
9.4 C語言開發數據庫程序的流程 180
9.5 C語言操作MySQL數據庫 182
9.5.1 MySQL常用數據庫操作函數 182
9.5.2 連接MySQL數據 184
9.5.3 查詢圖書表記錄 185
9.5.4 插入圖書表記錄 187
9.5.5 修改圖書表記錄 188
9.5.6 刪除圖書表記錄 190
9.6 文件引用 190
9.7 變量和函數定義 191
9.8 主要功能模塊設計 192
9.8.1 顯示主菜單信息 192
9.8.2 顯示所有圖書信息 194
9.8.3 添加圖書信息 196
9.8.4 修改圖書信息 201
9.8.5 刪除圖書信息 207
9.8.6 查詢圖書信息 212
9.9 開發總結 215
第10章 窗體版圖書管理系統(VisualC++6.0+WINAPI+MySQL數據庫實現) 216
視頻講解:2小時2分鐘
10.1 開發背景 217
10.2 需求分析 217
10.3 系統設計 217
10.3.1 數據庫建模 217
10.3.2 系統功能結構 218
10.3.3 建立數據庫 218
10.3.4 系統預覽 220
10.4 技術指南 220
10.4.1 Win32程序的入口 221
10.4.2 WinMain()函數的設計 222
10.4.3 對話框窗體的產生與銷毀 222
10.4.4 消息響應函數 223
10.5 工具模塊設計 223
10.6 登錄模塊設計 226
10.7 客戶端主界面設計 230
10.8 基本信息管理模塊設計 235
10.9 庫存管理模塊設計 244
10.10 查詢模塊設計 252
10.11 開發總結 256