c語言項目開發流程一部曲

來源:互聯網
上載者:User

標籤:項目開發   c語言   

一.c項目開發總體分如所示

650) this.width=650;" src="http://images2015.cnblogs.com/blog/1069003/201705/1069003-20170522200442007-1924401322.png" style="border:0px;" />

二.對每一步的解析

1.需求文件剖析,本例以電子詞典作為例子

列出每一個需求以及每一個需求的每一個特點,將其歸納 為一張表。

650) this.width=650;" src="http://images2015.cnblogs.com/blog/1069003/201705/1069003-20170522202749210-2009142773.png" style="border:0px;" />

 

2.設計資料結構

設計資料結構,也就是確定抽象資料類型,資料存放的方式,先想出多個方案,然後比較各個方案的優劣

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="border:none;" />

 1 /* 2 方案1 3 使用三維數組,110000為單詞個數,2位每個單詞對應2行,100表示每一行可儲存的字元數, 4 由於棧空間最大1M,所以這種方式不行,而且很消耗cpu資源 5 word[i][2][100]代表一個單詞和解釋 6 */ 7 char word[110000][2][100];// 8 /* 9 方案210 使用一個結構代表一個單詞,key儲存單詞,trans儲存11 所有單詞儲存在malloc分配的動態數組中,由於每個單詞長度不一樣,每個單詞的解釋也不一樣,12 所以key的長度太小不能滿足需求,太大又造成儲存空間的浪費13 */14 struct WORD{15     char key[100];//單詞16     char trans[100];//單詞對應的解釋17 };18 /*19 方案三20 使用結構體,但是成員為指標,根據單詞和解釋的實際大小分配記憶體,記憶體佔用小21 缺點:解釋不夠詳細,因為一個單詞對應多個解釋22 */23 struct WORD{24     char *key;//單詞指標,指向一個malloc分配的記憶體25     char *trans;//解釋指標26 };27 /*28 方案四29 使用結構體30 */31 struct WORD{32     char *key;//單詞指標,指向一個malloc分配的記憶體33     int count_trans;//每個單詞對應的解釋數量34     char **trans;//存放解釋的字元指標數組35 };

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="border:none;" />

3.根據需求繪製程式整體運行流程圖

650) this.width=650;" src="http://images2015.cnblogs.com/blog/1069003/201705/1069003-20170522233926351-1230580987.png" style="border:0px;" />

4.分析資料類型的儲存結構,如

650) this.width=650;" src="http://images2015.cnblogs.com/blog/1069003/201705/1069003-20170523002932570-520695053.png" style="border:0px;" />

5.定義常用變數

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="border:none;" />

 1 /*********定義常用全域變數*****************/ 2 /* 3 給結構體類型起一個新名字:WORD 4 */ 5 typedef struct WORD  SWORD; 6 /*********結構體指標,指向詞庫結構體數組******/ 7 SWORD * DICT; 8 /***********文本詞庫檔案名稱*********************/ 9 char *dicttxtname = "dict.txt";10 /***********二進位詞庫檔案名稱*********************/11 char *dictbitname = "dict.dat";12 /************詞庫數量,結構體數組長度***************/13 int length;

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" style="border:none;" />


c語言項目開發流程一部曲

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.