?? readme
字號:
題目:運動會分數統計系統
班級:05級6班 姓名:楊碩 學號:1051000262 完成日期:2006.10.20
博客:cjhacker.bokee.com
一.需求分析
功能:功能菜單,成績錄入(手動/文件),成績輸出(成績單/總成績單)
二.概要設計
1.本程序采用線形表的順序存儲結構,因此,定義一個線形表的ADT:SqList.
2.本程序包含五個模塊:
1)主程序模塊:
void main()
{
初始化;
while ( 接受命令; )
{
處理命令;
}
}
2)運動會統計功能模塊--實現運動會統計系統的基本功能
3)線形表數據結構模塊--實現線形表的數據結構表示
4)結點結構模塊--定義線形表的結點結構
5)通用聲明模塊--定義通用宏聲明
三.詳細設計
見后面代碼.
四.開發感觸
(1)模塊化&&對象化
c語言雖然面向過程(模塊化思想),但這在較大的程序并不適用,所以我們盡量用c
來模仿c++的對象化,定義出順序表結構類型Sqlist和順序表數據元素類ElemType,雖然形
不似但還是有一點神似的:)
(2)功能分層細化
其實在沒有看到老師的代碼前,我是想把所有代碼寫到一個文件里的,但大程序中一
般不會把所有代碼寫到一個文件中,因為這樣可讀性差也不好管理。本程序中五個文件分
別為:Gdefine.h(通用宏聲明),ElemType.h(節點結構類型),Sqlist.h(線形表數據
結構),Sport.h(運動會統計系統基本操作),main.cpp(主程序)分別代表五個層次,
就橡網絡中的TCP/IP的模型一樣,每一層提供不同的功能,在本程序中,ElemType.h,
Sqlist.h和Gdefine.h提供相對底層的服務(功能),上層(sport.h和main.cpp)可以使用
底層的服務,這樣程序的可讀性,可重用性,包括強壯性(容錯性)(因為可以把錯誤處
理分布到不同的層面)都可以有所提高,方便以后對代碼的管理和維護。
(3)函數原形聲明
一般我都把自定義的函數放在main前邊,這樣就可以不寫函數原形少打點字了,但是
這樣我們就不能清晰地看到關于對象的所有操作了,所以為了可讀性,函數原形的聲明是
必不可少的。
(4)ListInsert_Sq函數
原來函數里有這么一句:exit(OVERFLOW);
但是個人認為在底層函數中使用exit()函數實在不妥,故改為return OVERFLOW
(5)可惡的后綴名:(
因為用到了C++的新特性(引用),所以就要用C++的編譯器來編譯,但在TC下默認是
用C編譯器進行編譯,只有當文件后綴名為cpp時TC才會調用C++編譯器進行編譯(害得我郁
悶了好幾天:( ...)。
(6)為什么用Dev-C++而不用TC
做較大的程序一個比較麻煩的事情就是管理,用可視化的開發環境可以更好的進行工
程管理。
PS:VC++太大了,懶的下了。
(7)編程規范
按照編程規范改進了代碼(縮進,空格,注釋......)。
(8)凡原來函數中有return的,都在其成功運行時加入return OK(源于scanf()函數的啟示)
(9)函數,常量,變量命名規則
函數名中的單詞頭字母大寫,其余小寫,以區別于標準庫函數(不知道這樣做對不對?)
常量為全大寫
一般局部變量為全小寫
順序表結構類型Sqlist和節點結構類型ElemType為單詞頭字母大寫,其余小寫
(10)未來的工作
繼續優化并擴充Sqlist的基本操作,并且打算隨著學習的繼續和深入,建立一個數據結
構函數庫.
五.附錄
Gdefine.h //通用宏聲明
ElemType.h //節點結構類型
Sqlist.h //線形表數據結構
Sport.h //運動會統計系統基本操作
main.cpp //主程序
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -