文/李展宏 SHSQ1616班
從理論到實(shí)踐是需要一個(gè)過程的,同時(shí)實(shí)踐也能算得上是檢驗(yàn)掌握所學(xué)知識(shí)的最好途徑了。
在階段性的學(xué)習(xí)后做一個(gè)小項(xiàng)目,理論與實(shí)踐結(jié)合,既可以幫助加強(qiáng)記憶知識(shí)點(diǎn),又可以對(duì)階段學(xué)習(xí)有個(gè)交代,算是個(gè)相當(dāng)有必要的科目。
1. 時(shí)間
其實(shí)從上周六,老師下達(dá)了項(xiàng)目要求開始算起,至本周五,一共7天。如果利用充分,讓一個(gè)熟練的程序員工作,至少能寫4k多行的代碼,時(shí)間是綽綽有余的??墒菍?duì)于新手來說,這點(diǎn)時(shí)間可能有些不夠,更不用說對(duì)我,思路有時(shí)會(huì)混亂的人來說,更是如此。雖然大學(xué)學(xué)過C語言,用C語言玩過些東西,但實(shí)際應(yīng)用也就是到指針為止,數(shù)據(jù)結(jié)構(gòu),函數(shù)和文件的操作則沒有經(jīng)驗(yàn),甚至可以說完全忘干凈了。
2. 思路
從搭程序構(gòu)架開始,我對(duì)登錄的方式就有些不一樣想法。我想做一個(gè)統(tǒng)一的登錄界面:
1.讓系統(tǒng)自行判斷輸入的7位賬號(hào)和6位密碼是否位數(shù)正確;
2.讓系統(tǒng)自動(dòng)區(qū)分輸入的賬號(hào)是管理員“a”,老師“t”還是學(xué)生“s”,然后自動(dòng)跳轉(zhuǎn)至各用戶界面,并由此分別建立數(shù)據(jù)文件。
而一般的寫法是,在登錄界面選擇用戶登錄的種類。當(dāng)然之后的答辯過程中也證實(shí)了我的這個(gè)構(gòu)思是獨(dú)特的,基本沒有其他人這么寫。但是這也造成了我的代碼是一個(gè)從無到有的,基本沒有可參考的過程。同時(shí),由此增加的難度,或者說在我比較弱項(xiàng)的邏輯編排上,讓我把前期的時(shí)間和精力基本上耗在了其中,特別是對(duì)判斷輸入賬號(hào)和密碼位數(shù)正確與否的代碼。
3. 答辯
最總答辯的程序雖說基本實(shí)現(xiàn)了項(xiàng)目所要求的各項(xiàng)基本功能,但是再?zèng)]有時(shí)間思考增加辭職和留言模塊。當(dāng)然我也盡量力求用簡(jiǎn)單的程序完善基本的功能,教師的結(jié)構(gòu)體里增加一個(gè)班主任選項(xiàng),按總分排序和按學(xué)號(hào)排序分別去顯示不同的內(nèi)容,暨基本信息和成績(jī)信息。
對(duì)于程序的界面的友好交互,精簡(jiǎn)優(yōu)化也是需要重視的部分,前者對(duì)每項(xiàng)基本操作都有基本的提示,比如修改密碼成功提示,登錄成功提示,界面提示文字的輕松。后者對(duì)于函數(shù)的通用性,及程序空行和注釋的清除。
最后PPT展示部分除了對(duì)項(xiàng)目有介紹外,我還做了一些數(shù)據(jù)統(tǒng)計(jì)、一些不足之處的總結(jié),一些提示,可能讓老師感受到了誠(chéng)意和認(rèn)真,這也有加分的部分。
4. 總結(jié)
如上所述,在整個(gè)項(xiàng)目結(jié)束后自己對(duì)此有個(gè)總結(jié):
- 對(duì)于不常用的while語句,經(jīng)常忘了步長(zhǎng);經(jīng)常搞混date與deta,造成不必要的錯(cuò)誤;
- 一開始的邏輯混亂,造成自定義.h文件平行的狀況。
雖然最后老師開恩給了個(gè)沒想到的較好分?jǐn)?shù),但是同時(shí)自己也意識(shí)到此次的學(xué)生信息管理系統(tǒng)有些不足:
- 對(duì)于錄入人員姓名相同的情況未考慮;若由于誤操作學(xué)生數(shù)據(jù)庫里有t開頭的學(xué)號(hào),或者教師數(shù)據(jù)庫里有s開頭的工號(hào)未考慮;
- 操作刪除時(shí)未考慮跳出的情況;
- 能操作修改的信息有限;
- 另外記得大學(xué)時(shí)的學(xué)生信息管理系統(tǒng)還有選課功能,這是另一個(gè)比較復(fù)雜的模塊。
最后,從理論到實(shí)踐,既是一個(gè)能力的飛躍提升,也是一個(gè)信心逐步積累的過程。