內容簡介
c語言是當今使用最為頻繁的程式語言之一,一直在開發領域占據重要的地位。本書通過10個綜合實例的實現過程,詳細講解了c語言在實踐項目中的綜合運用過程。這些項目從作者的學生時代寫起,到項目經理結束,貫穿於作者最重要的開發時期。第1章講解俄羅斯方塊遊戲的具體實現流程;第2章講解成績管理系統的具體實現流程;第3章講解ping和tcp網路系統的具體實現流程;第4章講解工資管理系統的具體實現流程;第5章講解繪圖板系統的具體實現流程;第6章講解文本編輯器系統的具體實現流程;第7章講解圖書借閱系統的具體實現流程;第8章講解udp傳輸系統的具體實現流程;第9章講解推箱子遊戲的具體實現流程;第10章講解媒體播放器的具體實現流程。在具體講解每個實例時,都遵循項目的進度來講解,從接到項目到具體開發,直到最後的調試和發布。內容循序漸進,並穿插了學習技巧和職場生存法則,引領讀者能夠全面掌握c語言開發方法。另外,本書的配套光碟中提供了書中實例的原始碼、項目實例的視頻講解,還免費贈送10個典型案例的原始碼。
《深入體驗c語言項目開發》不但適用於c語言的初學者,也適於有一定c語言基礎的讀者,甚至也可以作為有一定造詣的程式設計師的參考用書。
目錄
第1章 俄羅斯方塊遊戲 1
1.1 第一個項目 2
1.1.1 老師的作業 2
1.1.2 準備工作 2
1.2 功能分析 3
1.2.1 系統需求分析 3
1.2.2 結構規劃 4
1.2.3 選擇工具 4
1.3 總體設計 5
1.3.1 運行流程分析 5
1.3.2 核心處理模組分析 6
1.4 數據結構 8
1.5 一個神秘的箱子 10
1.6 具體實現 12
1.6.1 預處理 12
1.6.2 主函式 16
1.6.3 界面初始化 19
1.6.4 時鐘中斷處理 20
1.6.5 更新速度和成績,顯示幫助信息20
.1.6.6 滿行處理 22
1.6.7 顯示/消除方塊 24
1.6.8 對方塊的操作處理 26
1.7 最後的戰役——測試運行 29
1.8 我的總結 30
第2章 成績管理系統 31
2.1 第一個盈利的項目 32
2.1.1 會長來訪 32
2.1.2 組建團隊 32
2.1.3 小會議 33
2.2 系統需求分析 34
2.2.1 開發目標 34
2.2.2 市場需求分析 34
2.3 模組分析和數據結構設計 35
2.3.1 功能模組設計 35
2.3.2 規劃項目函式 35
2.4 前期編碼工作 38
2.4.1 預處理 38
2.4.2 主函式 39
2.4.3 系統主選單函式 41
2.4.4 表格顯示信息 41
2.4.5 格式化輸入數據 42
2.5 後期編碼工作 43
2.5.1 信息查找 43
2.5.2 添加用戶記錄 44
2.5.3 查詢用戶記錄 46
2.5.4 刪除用戶記錄 47
2.5.5 修改用戶記錄 48
2.5.6 插入用戶記錄 49
2.5.7 統計用戶記錄 51
2.5.8 排序處理 52
2.5.9 存儲用戶信息 53
2.6 測試 54
2.6.1 調試預覽 55
2.6.2 學校驗收 57
2.7 我的總結 58
2.8 兩點心得體會 59
2.8.1 為需求而生的鍊表 59
2.8.2 再談函式,引發模組化設計的深思 60
第3章 ping和tcp網路系統 61
3.1 踏上求職路 62
3.1.1 寫求職信 62
3.1.2 隨遇而安 64
3.2 踏入職場 64
3.3 第一個項目 65
3.3.1 我的任務 65
3.3.2 規劃流程 65
3.4 收集資料 65
3.5 總體設計 66
3.6 設計數據結構和規劃函式 69
3.6.1 設計數據結構 69
3.6.2 構成函式介紹 70
3.7 編碼工作 72
3.7.1 預處理 72
3.7.2 初始化處理 74
3.7.3 控制模組 75
3.7.4 數據報解讀處理 77
3.7.5 ping測試處理 79
3.7.6 主函式 82
3.8 測試 82
3.9 學習tcp 84
3.9.1 功能分析 84
3.9.2 模組分析 84
3.9.3 系統函式 85
3.10 分析原始碼 85
3.10.1 伺服器端 85
3.10.2 客戶端 91
3.11 和hr的談話 95
3.12 我的總結 96
3.13 visual c++ 6.0真的很好用 96
第4章 工資管理系統 103
4.1 了解公司的組織結構 104
4.1.1 公司的現狀 104
4.1.2 我的開發部 104
4.2 新的項目 105
4.2.1 早會的任務 105
4.2.2 初見客戶 105
4.2.3 我們的團隊 105
4.3 項目規劃分析 106
4.3.1 項目目標 106
4.3.2 功能模組分析 106
4.4 用數組而不用鍊表 108
4.5 進入第二階段 108
4.5.1 設計數據結構 108
4.5.2 規劃項目函式 109
4.6 第三階段 110
4.6.1 預處理 110
4.6.2 查找定位模組 111
4.6.3 格式化輸入模組 112
4.6.4 增加記錄模組 112
4.6.5 修改記錄模組 114
4.6.6 刪除記錄模組 115
4.6.7 插入記錄模組 117
4.6.8 存儲記錄模組 119
4.7 還是第三階段 120
4.7.1 主函式模組 120
4.7.2 主選單模組 122
4.7.3 統計記錄模組 122
4.8 客戶有變 123
4.8.1 查詢記錄模組 124
4.8.2 排序顯示模組 125
4.8.3 最後的一些調整 126
4.9 項目調試,選擇最合適的,而不是最好的128
4.9.1 調試預覽 129
4.9.2 驗收 132
4.10 何謂冒泡排序 132
4.11 談客戶的那些事 132
4.12 我的總結 133
第5章 繪圖板系統 135
5.1 同事們的聚會 136
5.2 新的項目 136
5.2.1 休假失敗 136
5.2.2 新的項目 136
5.2.3 我們的團隊 136
5.3 項目規劃分析 137
5.3.1 繪圖板的核心技術 138
5.3.2 功能描述 138
5.3.3 總體設計 138
5.4 第二個階段 140
5.4.1 設計數據結構 140
5.4.2 規劃系統函式 140
5.5 prb的編碼過程 142
5.5.1 預處理模組 142
5.5.2 功能控制模組 146
5.5.3 保存載入模組 147
5.5.4 滑鼠控制模組 149
5.6 我的編碼過程 150
5.6.1 圖形繪製模組 151
5.6.2 主函式模組 165
5.7 項目調試 171
5.7.1 系統調試 171
5.7.2 驗收 172
5.8 調試的煩惱——dos抓圖和操控 172
5.9 我的總結——同事之間的那些事 173
第6章 文本編輯器系統 175
6.1 慶功晚會 176
6.2 新的挑戰 176
6.2.1 新招的實習生 176
6.2.2 新的項目 176
6.2.3 我們的團隊 177
6.3 功能分析 178
6.3.1 功能分析 178
6.3.2 系統總體設計 180
6.4 設計數據結構和規劃系統函式 186
6.4.1 設計數據結構 186
6.4.2 規劃系統函式 187
6.5 prb的編碼過程 189
6.5.1 預處理模組 189
6.5.2 繪製主視窗 190
6.5.3 文本字元顯示輸出 191
6.5.4 刪除字元 192
6.5.5 插入字元 195
6.5.6 選定文本 197
6.6 我的任務 199
6.6.1 選單控制 199
6.6.2 檔案操作 205
6.6.3 主函式 207
6.7 項目調試 213
6.7.1 系統調試 213
6.7.2 驗收 215
6.8 我的總結——上下級相處的那些事 216
第7章 圖書借閱系統 217
7.1 生活的壓力 218
7.2 同學來訪 218
7.2.1 新的項目 218
7.2.2 我們的團隊 219
7.3 項目規劃分析 219
7.3.1 市場需求 219
7.3.2 功能介紹 220
7.3.3 模組劃分 220
7.4 規劃系統函式 221
7.5 我的工作 226
7.5.1 定義結構體 226
7.5.2 建立圖書信息庫 228
7.5.3 主選單和密碼處理 228
7.5.4 系統模式 230
7.5.5 查看圖書模組 231
7.5.6 借閱處理模組 234
7.5.7 查找和修改 238
7.5.8 刪除信息 242
7.5.9 系統主函式 245
7.6 項目調試 246
7.6.1 系統調試 247
7.6.2 驗收 252
7.7 我的總結——談私活的那些事 253
第8章 udp傳輸系統 255
8.1 客戶的來訪 256
8.2 一個私單 256
8.3 項目規劃分析 257
8.3.1 功能描述 257
8.3.2 功能模組設計 257
8.4 設計數據結構 263
8.5 規劃系統函式 265
8.6 寫代碼 267
8.6.1 預處理 267
8.6.2 初始化模組處理 268
8.6.3 獲取參數 268
8.6.4 用戶幫助模組 271
8.6.5 廣播訊息傳送模組 272
8.6.6 廣播訊息接收模組 273
8.6.7 多播功能控制模組 274
8.6.8 多播訊息傳送模組 276
8.6.9 多播訊息接收模組 277
8.6.10 主函式 278
8.7 項目調試 280
8.7.1 系統調試 280
8.7.2 驗收 280
8.8 我的總結——拼搏和耐心真的很重要 280
8.9 今天你跳槽了嗎 281
第9章 推箱子遊戲 283
9.1 很累的地下工作 284
9.2 成立自己的團隊 284
9.3 第一個單子 285
9.4 項目規劃分析 286
9.4.1 功能描述 286
9.4.2 功能模組分析 286
9.4.3 剖析執行流程 287
9.5 設計數據結構,規劃系統函式 289
9.5.1 設計數據結構 289
9.5.2 規劃系統函式 290
9.6 編碼 293
9.6.1 預處理 293
9.6.2 初始化模組 294
9.6.3 畫圖模組 298
9.6.4 移動箱子模組 300
9.6.5 移動小人模組 303
9.6.6 功能控制模組 309
9.6.7 系統主函式 310
9.7 項目調試 313
9.7.1 系統調試 313
9.7.2 驗收 314
9.8 我的總結 314
9.9 我有一顆創業心 315
第10章 媒體播放器 317
10.1 程式設計師很不容易 318
10.2 艱巨的項目 319
10.3 功能分析 320
10.4 項目計畫書 321
10.5 搭建環境 322
10.5.1 搭建directshow sdk開發環境 322
10.5.2 搭建visual studio 2010開發環境 325
10.5.3 配置directshow sdk開發環境 327
10.6 設計filtergraph結構 335
10.6.1 設計filtergraph結構 335
10.6.2 實現graphedit模擬 335
10.7 設計界面 338
10.8 具體編碼 344
10.8.1 媒體控制類處理 344
10.8.2 實現播放器主題 353
10.9 項目調試 363
10.9.1 系統調試 363
10.9.2 驗收 365
10.10 升職的驚喜 365
10.11 升職的原因 365
10.12 壓力依舊,拼搏繼續 366