版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、0 / 20 文檔可自由編輯打印 PINGDINGSHAN UNIVERSITY軟 件 學(xué) 院項(xiàng)目報(bào)告書課課程程: 專業(yè)實(shí)訓(xùn)專業(yè)實(shí)訓(xùn) 項(xiàng)項(xiàng)目名稱目名稱: 學(xué)生信息管理系學(xué)生信息管理系統(tǒng)統(tǒng) 專業(yè)專業(yè)年年級級: 軟軟件工程件工程 Java2 級級 姓姓 名名: 學(xué)學(xué) 號號: 101530241 指指導(dǎo)導(dǎo)教教師師: 2011 年年 06 月月 14 日日1 / 20 文檔可自由編輯打印目目 錄錄第第 1 1 章章問題描述問題描述.21.1 課題背景課題背景.21.2 需求分析.31.2.1 功能需求.31.2.2 性能需求.41.3 本章小結(jié).4第第 2 2 章章 總體設(shè)計(jì)總體設(shè)計(jì).52.1 系統(tǒng)介
2、紹.52.2 主程序執(zhí)行流程圖.6第第 3 3 章章 代碼設(shè)計(jì)代碼設(shè)計(jì).73.1程序運(yùn)行結(jié)果截圖 .73.2程序源代碼.113.3本章小結(jié).17第第 4 4 章章 總總 結(jié)結(jié) .18參考文獻(xiàn)參考文獻(xiàn).192 / 20 文檔可自由編輯打印第第 1 1 章章問題描述問題描述1.1 課題背景課題背景管理系統(tǒng)是使用電子計(jì)算機(jī)執(zhí)行管理和決策功能的服務(wù)系統(tǒng),是六十年代以后,隨著系統(tǒng)科學(xué),信息技術(shù)以及計(jì)算機(jī)科學(xué)的進(jìn)展,適應(yīng)現(xiàn)代化管理的需要而形成的一門邊緣學(xué)科。它是將計(jì)算機(jī)硬件,軟件,人工規(guī)程,管理制度,決策模擬以及管理人員等組合在一起的一個(gè)人-機(jī)系統(tǒng)。學(xué)生信息管理系統(tǒng),是針對目前學(xué)生信息處理工作的實(shí)際情況,
3、結(jié)合數(shù)據(jù)技術(shù),設(shè)計(jì)開發(fā)的學(xué)生信息管理系統(tǒng);能夠?qū)崿F(xiàn)創(chuàng)建、添加、插入、排序、查找、修改學(xué)生信息等。學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括前端應(yīng)用程序的開發(fā)和后臺數(shù)據(jù)庫的建立和維護(hù)兩個(gè)方面。對前者要求應(yīng)用功能完備,容易使用,界面友好等;而對后者則要求建立起數(shù)據(jù)庫一致性和完整性強(qiáng),數(shù)據(jù)安全性好的數(shù)據(jù)庫。學(xué)生信息管理系統(tǒng)是教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說至關(guān)重要,能夠?yàn)閷W(xué)校的管理者提供充足的學(xué)生信息和快捷的查詢手段。3 / 20 文檔可自由編輯打印1.2 需求分析需求分析1.2.11.2.1 功能需求功能需求學(xué)生信息管學(xué)生信息管理系統(tǒng)理系統(tǒng)創(chuàng)建新鏈表創(chuàng)建新鏈表
4、并按總成績并按總成績排序排序按學(xué)號或者按學(xué)號或者姓名來查詢姓名來查詢學(xué)生信息學(xué)生信息刪除學(xué)生刪除學(xué)生(刪除后自(刪除后自動排序)動排序)添加學(xué)生添加學(xué)生(添加后自(添加后自動排序)動排序)計(jì)算學(xué)生總計(jì)算學(xué)生總數(shù)以及男女?dāng)?shù)以及男女生人數(shù)生人數(shù)()本系統(tǒng)具有很強(qiáng)的可靠行,可以對錄入的學(xué)生信息進(jìn)行效驗(yàn),對數(shù)據(jù)進(jìn)行修改、刪除,可以方便管理員的修改與維護(hù)。(2)本系統(tǒng)操作方便、靈活、簡單。操作人員只需錄入學(xué)生的基本信息和考試成績的數(shù)據(jù)。(3)本系統(tǒng)可高效、快速的查詢到學(xué)生的基本信息和考試成績,便于管理員管理工作的開展。(4)本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動
5、化,其主要任務(wù)是用計(jì)算機(jī)對學(xué)生各種信息進(jìn)行日常管理,如查詢、修改、添加,另外還考慮到學(xué)生考試成績,針對這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)。本系統(tǒng)主要包括信息錄入、信息維護(hù)、信息查詢、報(bào)表打印、關(guān)閉系統(tǒng)這幾部分。4 / 20 文檔可自由編輯打印其功能主要有:有關(guān)學(xué)生信息的錄入,包括錄入學(xué)生基本信息、學(xué)生考試成績等。學(xué)生信息的維護(hù),包括添加修改學(xué)生基本信息、考試成績信息。學(xué)生信息的查詢,包括查詢學(xué)生的個(gè)人基本信息、科目考試成績。信息的報(bào)表打印,包括學(xué)生的基本信息的報(bào)表打印、考試成績的報(bào)表打印。1.2.21.2.2 性能需求性能需求本項(xiàng)目是一個(gè)學(xué)生信息管理系統(tǒng),運(yùn)行環(huán)境 VC+6.0,項(xiàng)目運(yùn)行速率正常,
6、可以滿足用戶需求。1、時(shí)間特性要求:響應(yīng)時(shí)間要低于 5 秒2、便捷性:在程序運(yùn)行過程中,系統(tǒng)自動提示用戶進(jìn)行每一步操作,程序功能明了簡潔!1.3 本章小結(jié)本章小結(jié)本章介紹了學(xué)生信息管理系統(tǒng)的背景意義,并對本系統(tǒng)功能需求和性能需求進(jìn)行了分析,可以清晰看到學(xué)生信息管理系統(tǒng)在進(jìn)行信息管理時(shí)的優(yōu)越性。5 / 20 文檔可自由編輯打印第第 2 2 章章 總體設(shè)計(jì)總體設(shè)計(jì)2.1 系統(tǒng)介紹系統(tǒng)介紹1.學(xué)生信息管理系統(tǒng)主要涉及到查詢等各的功能,需要通過磁盤讀寫數(shù)據(jù),雖然本系統(tǒng)僅實(shí)現(xiàn)了簡單的功能,但也需要按照系統(tǒng)整體性來設(shè)計(jì)。程序可以查詢、修改、增添、刪除學(xué)生信息,并將之保存在磁盤文件中,信息數(shù)據(jù)不易丟失;2.
7、為了提高系統(tǒng)的穩(wěn)定性和可重用性,程序采用子函數(shù)調(diào)用的形式完成各項(xiàng)功能,并用單向動態(tài)鏈表存儲從磁盤文件讀取到的信息;3.屏幕設(shè)計(jì):屏幕作為信息的顯示,通過輸出格式的控制,界面更簡潔、合理!6 / 20 文檔可自由編輯打印2.2 主程序執(zhí)行流程圖主程序執(zhí)行流程圖定義鏈表指針、結(jié)構(gòu)體及相關(guān)變量調(diào)用鏈表創(chuàng)建函數(shù)調(diào)用排序函數(shù)輸出功能選項(xiàng)輸入選擇項(xiàng)r調(diào)用查詢函數(shù)輸入新學(xué)生信息并調(diào)用插入函數(shù)調(diào)用排排序函數(shù)調(diào)用修改函數(shù)調(diào)用排序函數(shù)調(diào)用寫入函數(shù)調(diào)用寫入函數(shù)調(diào)用刪除函數(shù)調(diào)用瀏覽函數(shù)判斷程序是否結(jié)束0r6YNN程序結(jié)束開始7 / 20 文檔可自由編輯打印第第 3 3 章章 代碼設(shè)計(jì)代碼設(shè)計(jì)3.1 程序運(yùn)行結(jié)果截圖程
8、序運(yùn)行結(jié)果截圖主界面:主界面:8 / 20 文檔可自由編輯打印創(chuàng)建學(xué)生鏈表:創(chuàng)建學(xué)生鏈表:按學(xué)號查詢:按學(xué)號查詢:9 / 20 文檔可自由編輯打印按姓名查詢:按姓名查詢:刪除學(xué)生(刪后自動排序):刪除學(xué)生(刪后自動排序):10 / 20 文檔可自由編輯打印添加學(xué)生(添后自動排序):添加學(xué)生(添后自動排序):計(jì)算總?cè)藬?shù)及男女生人數(shù)計(jì)算總?cè)藬?shù)及男女生人數(shù):程序的退出:程序的退出:11 / 20 文檔可自由編輯打印3.2 程序源代碼程序源代碼/學(xué)生信息管理系統(tǒng)#include#include#include#define NULL 0#define LEN sizeof(struct student
9、)/建立動態(tài)鏈表.cppusing namespace std;struct student int num; char name20; char sex5; float math; float english; int order; struct student *next;int n;int male=0;int famale=0;struct student *creat(void)struct student *head,*p1,*p2;n=0;p1=p2=(struct student *)malloc(LEN);cout下面開始創(chuàng)建鏈表:endl;cout學(xué)號 姓名 性別 數(shù)學(xué) 英
10、語 p1-nump1-namep1-sexp1-mathp1-english;head=NULL;while(p1-num!=0) if(strcmp(p1-sex,男)=0) male+; else famale+;n+;if(n=1)head=p1;else p2-next=p1;p2=p1;p1=(struct student*)malloc(LEN);12 / 20 文檔可自由編輯打印 cinp1-nump1-namep1-sexp1-mathp1-english;p2-next=NULL;if(head=NULL)cout創(chuàng)建失敗,請重建:endl;head=creat();retu
11、rn head;/輸出鏈表的函數(shù)void print(struct student *head)cout此時(shí)鏈表的內(nèi)容為:endl;cout學(xué)號 姓名 性別 數(shù)學(xué) 英語 總分endl;struct student *p;p=head;if(head!=NULL)docout setiosflags(ios_base:left)setw(3)numsetw(6)namesetw(5)sexsetw(5)mathsetw(4)englishsetw(5)math+p-englishresetiosflags(ios_base:left)next;while(p!=NULL);/鏈表結(jié)點(diǎn)的刪除操作s
12、truct student *del(struct student *head) if(n=0)cout無鏈表可刪除endl;exit(0); int num;coutnum;while(num!=0)struct student *p1,*p2; p1=head; while(num!=p1-num&p1-next!=NULL) p2=p1; p1=p1-next; if(num=p1-num) if(p1=head)13 / 20 文檔可自由編輯打印 if(strcmp(p1-sex,男)=0) male-; else famale-; head=p1-next; else if(
13、strcmp(p1-sex,男)=0) male-; else famale-; p2-next=p1-next; coutnum號已被刪除endl; n-; else cout未找到此數(shù)據(jù)!endl; coutnum;if(n=0)cout此時(shí)鏈表已為空!endl;exit(0);return head;/插入結(jié)點(diǎn)struct student *insert(struct student *head)struct student *stu;stu=(struct student*)malloc(LEN);cout學(xué)號 姓名 性別 數(shù)學(xué) 英語 stu-numstu-namestu-sexstu
14、-mathstu-english;while(stu-num!=0) if(strcmp(stu-sex,男)=0) male+; else famale+; n+; struct student *p0,*p1,*p2; p1=head; p0=stu; if(head=NULL) head=p0;p0-next=NULL; else while(p0-nump1-num&p1-next!=NULL)14 / 20 文檔可自由編輯打印p2=p1;p1=p1-next;if(p0-numnum)if(head=p1)head=p0;else p2-next=p0;p0-next=p1;
15、else p1-next=p0;p0-next=NULL; stu=(struct student*)malloc(LEN);cinstu-numstu-namestu-sexstu-mathstu-english;return head;/根據(jù)學(xué)號查找void SearchNum(struct student *head)int num;struct student *p;p=head;coutnum;while(p-num!=num&p-next!=NULL)p=p-next;if(p-num=num)cout該生的信息為:endl;cout名次 學(xué)號 姓名 性別 數(shù)學(xué) 英語 總分
16、endl; cout setiosflags(ios_base:left)setw(4)ordersetw(4)numsetw(6)namesetw(5)sexsetw(5)mathsetw(4)englishsetw(5)math+p-englishresetiosflags(ios_base:left)endlendlendl;else cout無該生!endlendlendl;/根據(jù)姓名查找void SearchName(struct student *head)15 / 20 文檔可自由編輯打印struct student *p;p=head;char name20;coutname;
17、while(strcmp(p-name,name)!=0&p-next!=NULL)p=p-next;if(strcmp(p-name,name)=0)cout該生的信息為:endl; cout名次 學(xué)號 姓名 性別 數(shù)學(xué) 英語 總分endl; cout setiosflags(ios_base:left)setw(4)ordersetw(4)numsetw(6)namesetw(5)sexsetw(5)mathsetw(4)englishsetw(5)math+p-englishresetiosflags(ios_base:left)endlendlendl;else cout無該生
18、!endlendlnext;max=(p2-math+p2-english);while(p0-next!=NULL) while(p1!=NULL) if(p1-math+p1-english)max) max=(p1-math+p1-english); p2=p1; p1=p1-next; ; p2-order=+NO; max=p2-order;16 / 20 文檔可自由編輯打印 p2-order=p0-order; p0-order=max; max=p2-num; p2-num=p0-num; p0-num=max; max=p2-math; p2-math=p0-math; p0-
19、math=max; max=p2-english; p2-english=p0-english; p0-english=max; strcpy(temp,p2-name); strcpy(p2-name,p0-name); strcpy(p0-name,temp); strcpy(temp,p2-sex); strcpy(p2-sex,p0-sex); strcpy(p0-sex,temp); p0=p0-next; p2=p0; p1=p2-next; max=(p2-math+p2-english);if(p0-next=NULL)p2-order=+NO;return head;/鏈表的
20、輸出void print2(struct student *head)cout此時(shí)鏈表的內(nèi)容為:endl;cout名次 學(xué)號 姓名 性別 數(shù)學(xué) 英語 總分endl;struct student *p;p=head;int No=1;if(head!=NULL)docout setiosflags(ios_base:left)setw(4)Nosetw(4)numsetw(6)namesetw(5)sexsetw(5)mathsetw(4)englishsetw(5)math+p-englishresetiosflags(ios_base:left)next;No+;while(p!=NULL)
21、;coutendlendlendl;17 / 20 文檔可自由編輯打印/主函數(shù)int main() struct student *head; int a;coutendlendlendl 歡迎使用學(xué)生信息管理系統(tǒng)endlendlendl; cout 1、創(chuàng)建鏈表并按總成績排序endl; cout 2、根據(jù)學(xué)號來查詢學(xué)生信息endl;cout 3、根據(jù)姓名來查詢學(xué)生信息endl; cout 4、刪除學(xué)生(刪后自動排序)endl; cout 5、添加學(xué)生(添后自動排序)endl; cout 6、計(jì)算總?cè)藬?shù)及男女生人數(shù)endl; cout 0、結(jié)束程序endlendlendlendlendl;wh
22、ile(a)couta;if(a=0)cout已經(jīng)退出程序!6)cout無該選項(xiàng),請從 06 中選擇endlendlendl; switch(a)case 1:head=creat();head=sort(head);print2(head);break;case 2:SearchNum(head);break;case 3:SearchName(head);break;case 4:head=del(head);head=sort(head);print2(head);break;case 5:head=insert(head);head=sort(head);print2(head);bre
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度專業(yè)保潔公司保潔用品及清潔劑采購合同
- 二零二五年度建筑工程資料審核與承包服務(wù)合同
- 2025版貨車租車及駕駛員職業(yè)規(guī)劃與晉升服務(wù)合同
- 2025版旅游產(chǎn)業(yè)人民幣擔(dān)保書
- 二零二五年度電商園區(qū)品牌推廣與宣傳服務(wù)合同
- 2025版樓梯口拆除改造與社區(qū)安全防范體系建設(shè)合同
- 二零二五版跨境電子商務(wù)支付安全協(xié)議及信用保障合同
- 2025至2030年中國智能服飾行業(yè)市場全景評估及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 早期股骨頭壞死課件
- 二零二五年度電梯銷售與售后服務(wù)合同范本
- 新課標(biāo)高一英語閱讀理解60篇
- 成人手術(shù)后疼痛評估與護(hù)理-中華護(hù)理學(xué)會團(tuán)體標(biāo)準(zhǔn)2023 2
- 第三屆全國生態(tài)環(huán)境監(jiān)測專業(yè)技術(shù)人員大比武江蘇省賽試題庫(含答案)
- 冷庫貨架制作合同范本
- 學(xué)歷認(rèn)證授權(quán)委托書樣本
- 解除與養(yǎng)父母關(guān)系協(xié)議書
- 旅游學(xué)概論(郭勝 第五版) 課件 第1、2章 旅游學(xué)概述、旅游的產(chǎn)生與發(fā)展
- 道路清掃保潔及垃圾清運(yùn)服務(wù)投標(biāo)方案技術(shù)標(biāo)
- 子癇病人的應(yīng)急處理預(yù)案
- 醫(yī)院保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- 2024-2029年中國月餅行業(yè)發(fā)展分析及發(fā)展前景與投資研究報(bào)告
評論
0/150
提交評論