




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘要該論文分別對軟件的需求進(jìn)行分析,對軟件的概要設(shè)計和軟件的詳細(xì)設(shè)計進(jìn)行闡述,以及對軟件的組裝及測試的詳細(xì)敘述,并附加了軟件的使用說明書(操作手冊)。程序設(shè)計一般由兩部分組成:算法和數(shù)據(jù)結(jié)構(gòu),合理選擇和實現(xiàn)一個數(shù)據(jù)結(jié)構(gòu)與處理這些數(shù)據(jù)結(jié)構(gòu)具有同樣的重要性。以將每個功能分別編譯實現(xiàn),再通過函數(shù)包含,調(diào)用等方法實現(xiàn)各項功能間的連接為設(shè)計思想,并采用將學(xué)生當(dāng)作一個整體,整體類型為結(jié)構(gòu)體,結(jié)構(gòu)體中的域表示學(xué)生的屬性的這種定義結(jié)構(gòu)作為數(shù)據(jù)結(jié)構(gòu)。軟件將各個模塊的功能分為列菜單、表明結(jié)構(gòu)體、錄入、排序、查詢、插入及讀取等來組成整個程序,實現(xiàn)對學(xué)生成績的系統(tǒng)管理。該程序界面友好,易于操作,使操作者和使用者應(yīng)用更
2、加方便。關(guān)鍵字:數(shù)據(jù)結(jié)構(gòu),設(shè)計思想,界面,軟件需求,概要設(shè)計,詳細(xì)設(shè)計,組裝及測試等目錄第1章 軟件設(shè)計內(nèi)容111軟件達(dá)到的目的112 軟件功能說明11.2.1 功能分析說明圖11.2.2 各項功能說明113軟件功能的驗收標(biāo)準(zhǔn)2第2章 軟件設(shè)計環(huán)境與原理32.1 設(shè)計環(huán)境與模塊的劃分32.1.1 軟件設(shè)計環(huán)境32.1.2 軟件模塊的劃分32.2 軟件設(shè)計主要原理42.2.1 采用的主要數(shù)據(jù)結(jié)構(gòu)類型42.2.2 各個模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲存格式說明42.2.3 主要流程圖4第3章 軟件的設(shè)計過程93.1 各軟件模塊之間的調(diào)用方式93.2 軟件中實現(xiàn)各項功能的函數(shù)與程序代碼93.3 數(shù)據(jù)保存方
3、式以及格式11第4章 設(shè)計結(jié)果與分析1241軟件使用結(jié)果12總結(jié)17致謝18附錄19第1章 軟件設(shè)計內(nèi)容11軟件達(dá)到的目的該軟件主要是實現(xiàn)對學(xué)生成績進(jìn)行系統(tǒng)化的管理,首先可以對學(xué)生基本信息進(jìn)行輸入和存取,其次可以讀取顯示學(xué)生的相關(guān)信息,然后可以刪除和插入學(xué)生的相關(guān)信息,還有就是可按學(xué)號查詢此學(xué)號的學(xué)生的相關(guān)信息,并按照總成績算出的平均分的高低進(jìn)行排序。由此來系統(tǒng)化管理學(xué)生成績,并達(dá)到簡易操作的目的。12 軟件功能說明 功能分析說明圖該軟件功能分析說明圖如1-2-1所示: 學(xué)生成績管理系統(tǒng)退出系統(tǒng)按平均成績排序?qū)W生信息查找數(shù)據(jù)追加數(shù)據(jù)刪除數(shù)據(jù)的讀取學(xué)生基本信息錄入與保存 圖:1-2-1 各項功能
4、說明(1)學(xué)生基本信息的錄入和保存:這部分的功能主要包括信息的錄入和保存和總分、平均分的計算,首先按程序提示輸入所要輸入的學(xué)生人數(shù),接著是分別輸入有關(guān)學(xué)生的相關(guān)信息包括學(xué)號、姓名、性別以及學(xué)生各科成績的分?jǐn)?shù)等。在錄入數(shù)據(jù)的同時,系統(tǒng)將對信息的合法性進(jìn)行檢驗(學(xué)號范圍為10011020、姓名在7個字節(jié)之內(nèi)、性別只能輸入m(男male)或f(女fmale)、各科成績均限定在0100之間),若用戶錄入了不合法的數(shù)據(jù)系統(tǒng)將會作出提示,并且要求重新輸入。如果合法性成立則錄入完畢后系統(tǒng)將顯示全部學(xué)生相關(guān)信息,信息中已包含對學(xué)生成績總分的計算和其平均分的計算結(jié)果。最后輸出學(xué)生的信息表,與是否保存提示,選擇存
5、盤后,系統(tǒng)則自動將學(xué)生信息存入(list.dat)電腦。(2)讀取學(xué)生信息: 此功能是將原錄入并保存的的學(xué)生信息讀出,并在屏幕上顯示出來。(3)刪除學(xué)生信息: 進(jìn)入該項功能界面后,用戶可以通過學(xué)生的姓名對謀個學(xué)生信息進(jìn)行刪除。(4)追加學(xué)生信息:進(jìn)入插入界面,系統(tǒng)將提示輸入新學(xué)生的相關(guān)信息,程序則會將新的信息插入原學(xué)生信息清單中,并將新的學(xué)生信息列表輸出,以方便用戶的確認(rèn)。(5)按學(xué)號查找學(xué)生信息: 此項功能可以根據(jù)擁護(hù)輸入的學(xué)生學(xué)號查出該學(xué)生的所有信息。(6)按照平均分輸出學(xué)生信息清單。 選擇次項功能后,系統(tǒng)將自動在屏幕上顯示出所有學(xué)生按照平均成績的高低排序后的清單。(7)退出系統(tǒng),結(jié)束任務(wù)
6、。13軟件功能的驗收標(biāo)準(zhǔn)一、有較為美觀簡潔大方的菜單,能保證用戶方便、直觀、快捷的熟悉并使用軟件的各項功能。二、有嚴(yán)密正確的數(shù)據(jù)驗證功能和數(shù)據(jù)處理功能,能夠求和、求平均成績,對總成績進(jìn)行排序,對數(shù)據(jù)進(jìn)行保存和讀取,能按學(xué)號查找學(xué)生信息,以及插入和刪除學(xué)生信息。三、系統(tǒng)要有一定的可靠性。第2章 軟件設(shè)計環(huán)境與原理2.1 設(shè)計環(huán)境與模塊的劃分 軟件設(shè)計環(huán)境 Microsoft Visual C+ 6.0 軟件模塊的劃分該軟件主要組成模塊和各個模塊之間的調(diào)用關(guān)系如圖2-1:學(xué)生成績管理系統(tǒng) 主菜單 主函數(shù)(包含以下所有函數(shù)) 退出系統(tǒng)按平均成績排序?qū)W生信息查找數(shù)據(jù)追加數(shù)據(jù)刪除數(shù)據(jù)的讀取學(xué)生基本信息錄
7、入與保存 圖 2-1其中學(xué)生基本信息的錄入和保存里已經(jīng)包含了總分和平均分的計算、按學(xué)號排序輸出的處理。2.2 軟件設(shè)計主要原理 采用的主要數(shù)據(jù)結(jié)構(gòu)類型 該程序采用的是結(jié)構(gòu)體類型來處理學(xué)生的所有基本信息,如下所述。包含的庫函數(shù)有:# include<iostream.h> # include<string.h># include<stdio.h> # include<stdlib.h> # include<fstream.h> 包含的函數(shù)有:Main() /*主函數(shù)*/Menu() /*菜單函數(shù)*/Input() /*輸入與保存函數(shù)*/
8、Bubble() /*排序輸出函數(shù)*/Query() /*查找信息函數(shù)*/Insert() /*追加信息函數(shù)*/Delete() /*刪除信息體函數(shù)*/Read() /*文件讀取體函數(shù)*/ 包含的類: Class student() 各個模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲存格式說明各函數(shù)模塊之間的調(diào)用關(guān)系主要是主函數(shù)調(diào)用所有其它功能函數(shù)和菜單函數(shù),并利用循環(huán)使各個功能函數(shù)運行完畢后都會回到菜單。該程序的數(shù)據(jù)以二進(jìn)制儲存。 主要流程圖一、主函數(shù)87654321 開始 圖 2-29二、數(shù)據(jù)的輸入和保存 222輸出struct i 輸入n、struct i 輸出是否保存提示信息三、學(xué)生信息的讀取 四、數(shù)據(jù)的
9、刪除4 i < n輸出“Can not open file”Stu_list為空 3輸出是否刪除提示1確認(rèn)1輸出stuiNo Yes10 輸入“stu i ” 101確認(rèn)n=n-1, stu i =stu i +1 I<n-1YesYes No 圖2-4 圖 2-5五、根據(jù)平均成績排序 六、退出系統(tǒng)87將輸入的學(xué)生信息按照平均成績的高低排序輸出是否退出提示 No輸出新的學(xué)生成績單 Yes推出程序Getch(); 圖 2-71七、學(xué)生信息的追加 八、根據(jù)學(xué)號查詢學(xué)生信息56輸出是否追加提示輸入要學(xué)生學(xué)號輸出該學(xué)號學(xué)生的信息確定1No YesGetch();輸入要追加的學(xué)生信息1進(jìn)行追
10、加數(shù)據(jù)處理 圖 2-9輸出追加后的新學(xué)生信息Getchar();1圖 2-8第3章 軟件的設(shè)計過程3.1 各軟件模塊之間的調(diào)用方式程序中各個模塊之間的調(diào)用方式主要是通過文件的包含和函數(shù)的調(diào)用實現(xiàn)的,用文件的形式把各個函數(shù)分開,再用頭文件把它們包含進(jìn)來,使用主函數(shù)進(jìn)行調(diào)用。3.2 軟件中實現(xiàn)各項功能的函數(shù)與程序代碼一、一個包含學(xué)生基本信息的類 class student() public:char *name;int id;char sex; float math, eng, comp, totll, aver;.二、輸入函數(shù) Void input() . for(j=1; j<=n; j
11、+) cout<<" 輸入學(xué)生信息 "<<j<<endl; obj.setup(); /用一個佛人for循環(huán)將學(xué)生信息錄入。 三、信息的保存與讀取保存:void save() int i;ofstream fout("list.txt");if(!fout)cout<<"Cannot open output file!n,"for(i=1; i<=s; i+) fout<<obi.id<<" "<<<&l
12、t;" "<<obi.sex<<" "<< obi.math<<" "<<obi.eng<<" "<<p<<" "<<obi.totll<<" "<<obi.aver<<endl; fout.close();讀?。?void read()ifstream fin("list_1");if(!fin)c
13、out<<"Cannot open output file!n,"char a80;fin>>a;cout<<a<<endl;fin.close(); 四、菜單函數(shù)void menu()cout<<"nn"cout<<"- 學(xué)生成績系統(tǒng) -"<<endl<<endl;cout<<"tt1.錄入與保存學(xué)生信息.n"cout<<"tt2.讀取學(xué)生信息.n"cout<<&
14、quot;tt3.刪除學(xué)生信息.n"cout<<"tt4.追加學(xué)生信息.n"cout<<"tt5.查詢學(xué)生信息.n"cout<<"tt6.顯示成績名次.n"cout<<"tt7.退出系統(tǒng).nnn"cout<<"tt請選擇功能項: "五、添加學(xué)生信息函數(shù)void add() int i,j=1, d=s+1; cout<<"輸入要添加學(xué)生的信息:"<<endl;obd.setup();
15、cout<<endl<<"-學(xué)生信息表 -"<<endl;cout<<endl<<" 學(xué)號 姓名 性別 數(shù)學(xué) 英語 計算機(jī) 總分 平均分"<<endl;for(i=1; i<=s+j; i+)obi.show(); ofstream fout("list.txt");if(!fout)cout<<"Cannot open output file!n,"for(i=1; i<=s+j; i+) fout<<ob
16、i.id<<" "<<<<" "<<obi.sex<<" "<< obi.math<<" "<<obi.eng<<" "<<p<<" "<<obi.totll<<" "<<obi.aver<<endl; fout.close(); getchar()
17、; j+;3.3 數(shù)據(jù)保存方式以及格式本學(xué)生信息系統(tǒng)將能自動把輸入的學(xué)生信息保存為 .dat 文件,全名為 list.dat ,在文件的讀取時,系統(tǒng)將能自動把該二進(jìn)制文件讀出,并在屏幕上顯示出學(xué)生信息。第4章 設(shè)計結(jié)果與分析41軟件使用結(jié)果在此,我們將把軟件使用過程寫出,并對此程序的一些細(xì)節(jié)和具體的操作方法加以說明,說明如下:1、 將軟件進(jìn)行初始化。2、 進(jìn)入程序菜單,界面如圖4-1-1:菜單界面圖4-1-1界面顯示的是“一個學(xué)生信息系統(tǒng)”,總的操作流程有七個方面:(1) 輸入和存取學(xué)生信息;(2) 讀取學(xué)生信息;(3) 用人名從列表中刪除學(xué)生信息;(4) 在列表中插入學(xué)生信息;(5) 用學(xué)號
18、查詢學(xué)生信息;(6) 按總成績的高低對學(xué)生成績進(jìn)行排序;(7) 退出菜單界面。 最后是提示用戶做出要軟件進(jìn)行怎樣功能運行的選擇。3、 輸入和存取學(xué)生信息:選擇菜單界面的第一個選擇,按Enter鍵進(jìn)入此選擇界面,出現(xiàn)的界面如圖4-1-2:學(xué)生人數(shù)圖4-1-2 在這個界面給出了學(xué)生人數(shù)的選擇,也就是說,用戶想要輸入多少個學(xué)生的信息,已經(jīng)輸入學(xué)生人數(shù)后,按Enter鍵進(jìn)入輸入界面,輸入界面如圖4-1-3:輸入學(xué)生信息圖4-1-3用戶可在此界面上輸入想要輸入的學(xué)生的相關(guān)信息(學(xué)號、姓名、性別、數(shù)學(xué)分?jǐn)?shù)、英語以及計算機(jī)科目的分?jǐn)?shù)等),但是由于程序合法的要求,所以姓名的范圍規(guī)定在4到7個字節(jié)之間,學(xué)號的范
19、圍是1001-1021,性別分別是男(m)或女(f),而分?jǐn)?shù)的范圍是0-100。如果輸入的數(shù)據(jù)不在這些范圍內(nèi),則界面上將顯示錯的數(shù)據(jù)輸入的句子,用戶將重新輸入正確的數(shù)據(jù),才可以進(jìn)行下面的程序。如果全部學(xué)生的信息輸入完畢,按Enter鍵則進(jìn)入了存取界面,如圖4-1-4:存取學(xué)生信息圖4-1-4界面上出現(xiàn)全部學(xué)生的清單,最后有提醒用戶是否要將如上信息存儲的提示信息,如果要存儲則輸入Y,不存儲則輸入N,最后按Enter完成當(dāng)前和結(jié)束當(dāng)前操作。并回到菜單界面。4、 讀取學(xué)生信息:選擇菜單界面第二個選擇,按Enter鍵進(jìn)入此界面,則出現(xiàn)的界面如圖4-1-5:讀取學(xué)生信息圖4-1-5 界面上的圖即顯示的是
20、讀取學(xué)生信息界面的內(nèi)容,它表示的是全部學(xué)生信息的列表,可按Enter鍵退出此界面。5、 用人名從列表中刪除學(xué)生信息:從菜單界面中選擇第三個選擇,按Enter鍵入,則出現(xiàn)圖4-1-6的界面;刪除學(xué)生信息圖4-1-6 界面上出現(xiàn)的是刪除學(xué)生信息的界面,在界面的開頭有提示用戶輸入所要刪除的那個學(xué)生的學(xué)號,按Enter鍵則界面上顯示出所要刪除的學(xué)生的相關(guān)信息,重復(fù)按Enter鍵界面則顯示出刪除此學(xué)生信息后的新的學(xué)生信息列表。6、 在列表中插入學(xué)生信息:從菜單界面中選擇4輸入,按Enter鍵進(jìn)界面則出現(xiàn)圖4-1-7的界面:插入學(xué)生信息圖4-1-7首先界面上有提示用戶輸入所要插入的學(xué)生的學(xué)號,然后反復(fù)按E
21、nter鍵輸入所要插入學(xué)生的相關(guān)信息。最后將出現(xiàn)新的學(xué)生信息列表。7、 用學(xué)號查詢學(xué)生信息:從界面選5輸入后按Enter進(jìn)入此程序,則出現(xiàn)界面圖4-1-9:用學(xué)號查詢學(xué)生信息圖3-3-9 按照提示信息輸入所要查詢的學(xué)生的學(xué)號,按Enter鍵則會出現(xiàn)此學(xué)號的學(xué)生相關(guān)的信息,即可查閱他/她的成績和其他信息。8、 按總成績高低對學(xué)生成績進(jìn)行排序:從菜單界面選6輸入按Enter鍵進(jìn)入程序則出現(xiàn)界面如圖4-1-10:排序后的新學(xué)生信息列表圖4-1-10于是界面上顯示的是按學(xué)生的總成績從高到低排序的列表,通過此操作程序,用戶可以管理學(xué)生成績更輕松。9、 退出菜單界面:在菜單界面上輸入7按Enter鍵進(jìn)入界
22、面如圖4-1-11:退出界面圖4-1-11 則屏幕上顯示出提示退出的信息,并且提示用戶按任意鍵可退出菜單界面,即完成 當(dāng)前操作,結(jié)束運行。參考文獻(xiàn)1、C+面向?qū)ο蟪绦蛟O(shè)計教程(第二版)作者:陳維新 林小茶出版者:清華大學(xué)=出版社序號:ISBN 7-302-08900-0版次:2004年8月第2版 2006年6月第7次印刷參考內(nèi)容:第3章 類和對象第7章 C+的I/O流類庫2、C程序設(shè)計(第三版)作者:譚浩強(qiáng)出版者:清華大學(xué)出版社序號:ISBN 7-302-10853-6版次:2005年7月第3版 2006年2月第7次印刷參考內(nèi)容:第5章 選擇結(jié)構(gòu)程序設(shè)計(91-111),第7章 數(shù)組(131-152), 第8章 函數(shù)(155-202),第9章 預(yù)處理命令(211-214)等3、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計作者:蘇仕華 等出版者:機(jī)械工業(yè)出版社序號:ISBN 7-111-16181-5版次:2005年5月第1版第1次印刷 參考內(nèi)容:第4章 文本文件的檢索(47-57),第7章 圖結(jié)構(gòu)的應(yīng)用(101-123)總結(jié)通過兩星期的C+語言程序設(shè)計實習(xí),我們從中受益匪淺,并且對C+語言程序設(shè)計這一門課程有了更深一步的認(rèn)識。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 可穿戴醫(yī)療設(shè)備在皮膚癌監(jiān)測中的市場增長策略研究報告
- 2025屆內(nèi)蒙古呼倫貝爾市海拉爾區(qū)鐵路第三中學(xué)英語八下期中達(dá)標(biāo)測試試題含答案
- 2025年家具行業(yè)個性化定制生產(chǎn)綠色生產(chǎn)市場前景報告
- 2025年元宇宙時代基礎(chǔ)設(shè)施建設(shè):區(qū)塊鏈技術(shù)深度應(yīng)用案例分析報告
- 2025年元宇宙社交平臺用戶參與度提升策略研究
- 2025年元宇宙社交平臺虛擬現(xiàn)實與虛擬現(xiàn)實房地產(chǎn)游戲化應(yīng)用創(chuàng)新研究報告
- 2025年元宇宙社交平臺虛擬現(xiàn)實社交平臺技術(shù)融合與創(chuàng)新趨勢報告
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化提升醫(yī)療數(shù)據(jù)質(zhì)量深度報告
- 金融機(jī)構(gòu)數(shù)字化轉(zhuǎn)型下風(fēng)險管理的智能化與自動化報告001
- 2025屆內(nèi)蒙古烏蘭察布市化德縣英語八下期末考試模擬試題含答案
- 深圳市羅湖區(qū)2025年小升初數(shù)學(xué)模擬試卷含解析
- 軸承加工合同協(xié)議
- 高爾夫俱樂部績效考核手冊
- 特鋼大學(xué)語文試題及答案
- 計劃用水管理辦法
- 2024-2025學(xué)年統(tǒng)編版七年級語文下學(xué)期期中考試模擬卷(含答案)
- 語言學(xué)導(dǎo)論知到課后答案智慧樹章節(jié)測試答案2025年春廣東外語外貿(mào)大學(xué)
- 2024-2025學(xué)年接力版(2024)小學(xué)英語三年級下冊(全冊)知識點歸納
- 2025年憲法知識競賽全套題庫及答案(共150題)
- 高空作業(yè)佩戴安全帶培訓(xùn)
- 2025年春人教版英語七年級下冊 Unit 7 A Day to Remember(教學(xué)設(shè)計)
評論
0/150
提交評論