




已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.*實踐教學* 蘭州理工大學計算機與通信學院2013年秋季學期 面向?qū)ο?課程設計題 目: 學生信息管理系統(tǒng) 專業(yè)班級: 計算機科學與技術(shù)二班 姓 名: 劉俊鋒 學 號: 12240224 指導教師: 龐淑俠 成 績: ;.前 言學生信息管理系統(tǒng),是針對學校人事處的大量業(yè)務處理工作而開發(fā)的管理軟件,是典型的管理信息系統(tǒng)。它是一個教育單位不可缺少的部分,它的內(nèi)容對于學校管理者來說是至關(guān)重要的,能有效的幫助學校和老師掌握學生的情況。在傳統(tǒng)模式下利用人工進行學生信息管理,存在著較多的缺點,如:效率底,保密性差,時間一長將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護等。諸如這些情況,令學校管理者對學生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作效率。隨著科學技術(shù)的不斷提高,使用日趨成熟的計算機技術(shù)來代替?zhèn)鹘y(tǒng)的人工模式,來實現(xiàn)學生信息的現(xiàn)代化管理,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學生信息進行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、易修改、可靠性高、存儲量大、數(shù)據(jù)處理快捷、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生信息管理的效率,也是學校實現(xiàn)科學化、正規(guī)化管理的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。目 錄摘 要4第一章 系統(tǒng)總體設計51.1系統(tǒng)功能模塊圖51.2類與函數(shù)的關(guān)系5第二章 詳細設計72.1 初始錄入功能72.2 添加函數(shù)72.3 刪除函數(shù)72.4 修改函數(shù)72.5 查詢函數(shù)82.5.1 按姓名查詢82.5.2 按學號查詢82.6 顯示函數(shù)82.7 退出系統(tǒng)8第三章 系統(tǒng)測試93.1測試方法93.2測試用例93.3測試結(jié)果9第四章 軟件使用說明書13總 結(jié)14參考文獻15致謝16附錄:程序代碼17摘 要本系統(tǒng)主要利用所學的C+知識實現(xiàn)一個學生管理系統(tǒng)的設計。首先需要編寫出調(diào)用各個功能的主函數(shù),告訴使用者這個系統(tǒng)有哪些功能和相應的操作,通過switch語句來選擇相應操作;再者編寫student來定義一個學生類,在類中定義公有和私有數(shù)據(jù)成員,通過學生類的成員函數(shù)的實現(xiàn),來獲得某個學生信息的內(nèi)容,如:姓名,年齡,性別,出生年月等相關(guān)信息。利用對應的成員函數(shù)分別可以進行增、刪、改、查的操作。關(guān)鍵詞:信息管理;面向?qū)ο?;類;模塊。第一章 系統(tǒng)總體設計學生信息管理系統(tǒng)是一套功能強大、操作簡單而又實用的模擬學生信息管理軟件,它可以被廣泛應用于各個學校的學生資料管理中,開發(fā)此系統(tǒng)的目的主要是可以實現(xiàn)學校學生的信息化管理。通過學生信息管理系統(tǒng),教學管理人員可以實現(xiàn)對學生信息的增加、刪除、修改和查詢等操作。本系統(tǒng)最大的優(yōu)點就是操作簡便快捷等。1.1系統(tǒng)功能模塊圖根據(jù)用戶需求,本系統(tǒng)將主要實現(xiàn)以下功能(如圖1-1):信息輸入退出系統(tǒng)學生信息管理系統(tǒng)信息刪除信息修改信息查詢所有信息顯示圖1-1 系統(tǒng)功能模塊圖其中:信息輸入:包括對學生姓名,性別,年齡,出生年月等的輸入。信息刪除:可以對已經(jīng)錄入的學生信息進行修改。信息查詢:可以對儲存在文本里的信息讀寫查詢。1.2類與函數(shù)的關(guān)系將學生信息定義為一個student類,在類中包含私有數(shù)據(jù)成員int num、string name、string age、string sex、string birth、string politic、string address、string telephone,分別表示學號、姓名、年齡、性別、出生年月、政治面貌、家庭住址、電話號碼。公有成員函數(shù)包括set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,display( ) ,分別用來實現(xiàn)對學生信息的數(shù)據(jù)初始錄入、增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)、顯示所有數(shù)據(jù)功能(如圖表1.2所示)。然后定義了一個menu( ) 菜單函數(shù),使功能菜單顯示在運行窗口以提示用戶如何進行操作。主函數(shù)是一個程序必不可少的,在主函數(shù)中,使用一個switch語句來選擇調(diào)用主菜單中的各個功能函數(shù)。 Set()初始錄入 Add()增加數(shù)據(jù)類student Del()刪除數(shù)據(jù) Change( )修改數(shù)據(jù) Research()查詢數(shù)據(jù) Display()顯示所有數(shù)據(jù)圖表1.2第二章 詳細設計在本章中,主要是介紹各個功能函數(shù)的設計思路和實現(xiàn)方法。2.1 初始錄入功能此函數(shù)實現(xiàn)的功能主要是,對學生信息的初始化錄入功能,在初始時,文件中沒有任何數(shù)據(jù),可以通過次函數(shù)輸入任意個學生的信息,在輸入時通過一個if條件語句來實現(xiàn)控制循環(huán),當輸入選擇是“0”時,使用break語句就跳出循環(huán),即停止輸入學生信息。在此函數(shù)中使用文件處理的方式,先建立一個文件輸出流對象,以寫的方式打開f1.txt文件,使輸入的學生信息都寫入文件。2.2 添加函數(shù)此函數(shù)實現(xiàn)的功能主要是,添加一個學生的信息,也就是說調(diào)用一次這個函數(shù)只能添加一個學生的信息。在此函數(shù)中也使用文件處理的方式,但使用的是以追加的方式打開文件,使輸入的學生信息寫在文件里原有信息的后面。2.3 刪除函數(shù)此函數(shù)實現(xiàn)的功能主要是,刪除一個學生的信息。在此函數(shù)中,先以讀的方式打開文件,讀出文件里的信息在顯示在屏幕上,用戶再根據(jù)提示信息輸入想要刪除第幾個人的信息,關(guān)閉文件。再以寫的方式打開文件,以一個if條件語句控制,再重新將學生信息寫入文件(除了打算刪除的那個學生的信息),由于是以寫的方式打開的文件,所以文件里原有的輸入就都沒有了,存入的新的數(shù)據(jù)。2.4 修改函數(shù)此函數(shù)實現(xiàn)的功能主要是,修改一個學生的信息。此函數(shù)的設計方法和刪除函數(shù)的設計思想相類似,應用的思想都是將學生信息重新寫入文件的方法,將原有數(shù)據(jù)覆蓋。2.5 查詢函數(shù)在查詢功能中,可以按多條件查詢,本系統(tǒng)分為兩個查詢條件,即按姓名查詢和按學號查詢。使用if語句來選擇查詢條件。2.5.1 按姓名查詢調(diào)用switch()選擇語句,根據(jù)提示信息輸入姓名后,然后使用一個for循環(huán)語句,從第一個學生開始檢索,如果該學生的姓名和輸入的姓名一樣,則輸出該學生的信息,由于學生的姓名有可能重復出現(xiàn),所以不能使用break語句跳出循環(huán),應該從第一個學生開始檢索直到最后一名學生。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!” 。2.5.2 按學號查詢根據(jù)提示信息輸入學號后,然后使用一個for循環(huán)語句,從第一個學生開始檢索,如果該學生的學號和輸入的學號相等,則輸出該學生的信息,由于學生的學號是唯一固定的,所以并使用break語句跳出循環(huán)。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!” 。2.6 顯示函數(shù)此函數(shù)實現(xiàn)的功能主要是,顯示所有學生的信息。先是從文件中讀取學生信息,然后在輸出到顯示窗口中。用一個for循環(huán)語句,來把所有學生的信息都輸出。2.7 退出系統(tǒng)當輸入“0”時,就能退出系統(tǒng),這是通過while語句來控制實現(xiàn)的。第三章 系統(tǒng)測試3.1測試方法采用實例錄入的方式,測試每個函數(shù)的工作結(jié)果是否正確。3.2測試用例本系統(tǒng)采用實際學生信息為數(shù)據(jù)原型進行測試,所用數(shù)據(jù)為:姓名:劉XX;年齡:20,;性別:男;出生年月:19940914;政治面貌:團員;家庭住址:湖南省郴州市資興市礦工南路;電話姓名:甲;年齡:18;性別:男;出生年月:19960101:;政治面貌:群眾;家庭住址:四海為家;電話:123456789。3.3測試結(jié)果本系統(tǒng)主要完成基本信息的添加,刪除,修改和查詢功能。主菜單顯示(如圖3.1所示):圖3.1主菜單按1選擇輸入學生信息(如圖3.2所示): 圖3.2按任意鍵確認,開始輸入(如圖3.3所示):圖3.3輸入信息添加學生信息(如圖3.4所示):圖3.4添加信息顯示所有學生信息(如圖3.5所示):圖3.5顯示界面查詢學生信息(如圖3.6和圖3.7所示):圖3.6按姓名查詢圖3.7按學號查詢刪除學生信息(如圖3.8所示):圖3.8刪除信息再次查詢確認數(shù)據(jù)正常刪除(如圖3.9所示):圖3.9確認已刪除修改學生信息(如圖3.10所示):圖3.10修改數(shù)據(jù)最后,選擇數(shù)字鍵0,安全退出系統(tǒng)(圖略)。第四章 軟件使用說明書1、系統(tǒng)運行環(huán)境VC+6.02、系統(tǒng)操作提示本系統(tǒng)主要實現(xiàn)學生信息管理,首先用戶進入主菜單界面(如圖3.1所示) ,然后按照相應的數(shù)字鍵操作,本系統(tǒng)簡單通俗,操作界面友好,適用于中小型學生信息管理。總 結(jié)此次c+面向?qū)ο笳n程設計,在指導教師的精心教導下,我們學會了如何用C+編寫一個簡單的應用程序。首先要對程序的設計要求有一個比較明確的認識,然后系統(tǒng)分析與系統(tǒng)設計,最后是代碼設計與調(diào)試。程序?qū)崿F(xiàn)上,設計了簡單的菜單界面,將各個功能集中出現(xiàn)在主菜單中,便于調(diào)用。根據(jù)C+課程所學的概念、理論和方法,按照C+程序設計的基本步驟,設計出一個適當規(guī)模的程序;進一步加深對C+語言的理解和掌握。理論聯(lián)系實際,加深和鞏固所學的理論知識,提高實踐能力和計算機的綜合運用能力。我們編寫程序的過程是辛苦與快樂的,程序的編寫原則很重要,只要我們在編程,就必須不斷改進,才能更好提高編程能力。參考文獻1.鄭莉.C+語言程序設計(第三版).清華大學出版社,20042.鄭莉.C+語言程序設計案例教程.清華大學出版社,20053.錢能.C+程序設計教程.清華大學出版社,1999.4 4.譚浩強.C+程序設計.清華大學出版社,20045.譚浩強.C+程序設計實踐指導.清華大學出版社,20056.劉振安.C+程序設計課程設計.機械工業(yè)出版社,2004.8致謝在這次管理信息系統(tǒng)的課程設計中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設計。在此,我衷心感謝我的指導老師龐淑俠。龐淑俠老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我獲益非淺。最后,衷心感謝在課設過程中,龐淑俠、年福忠等老師的悉心指導!附錄:程序代碼#include#include /輸入輸出文件流類頭文件#include#includeusing namespace std;#define M 200 /可以存信息的總量int N=0; /學生總量class student /定義一個student的類public:student(); /成員函數(shù)void set(); /初始化信息,第一次對信息的錄入void add(); /添加學生信息void del(); /刪除某學生信息void change(); /修改某學生信息 void search(); /查詢某學生信息void display(); /顯示全部學生信息private:static int num; /定義為學號string name,age,sex,birth,politic,address,telephone;int student:num=100; student:student() void student:set() /主要適用于第一次輸入使用int i;char n;string setname,setage,setsex,setbirth,setpolitic,setaddress,settelephone;ofstream outfile; / ofstream用來創(chuàng)建一個文件,outfile輸出文件outfile.open(f1.txt,ios:out); /以寫的方式打開文件if(!outfile)cerr open errorendl; exit(1);/-依次錄入相應個數(shù)的學生信息-for(i=0;iM;i+)cout按任意鍵繼續(xù),按0停止輸入:n;if(n=0) break;if(n!=0)N+;num+; outfilenum; cout請輸入姓名:setname; name=setname; outfilesetname ; cout請輸入年齡:setage; age=setage; outfilesetage ; cout請輸入性別:setsex; sex=setsex; outfilesetsex ; cout請輸入出生年月:setbirth; birth=setbirth; outfilesetbirth ; cout請輸入政治面貌:setpolitic; politic=setpolitic; outfilesetpolitic ; cout請輸入家庭住址:setaddress; address=setaddress; outfilesetaddress ; cout請輸入電話:settelephone; telephone=settelephone; outfilesettelephoneendl;outfile.close(); /-關(guān)閉文件-void student:add()string addname,addage,addsex,addbirth,addpolitic,addaddress,addtelephone;ofstream outfile(f1.txt,ios:app); /以輸出方式打開文件,以追加的方式錄入信息,直接將信息追加到以前文件的末尾if(!outfile) cerr open errorendl; exit(1); N=N+1;cout請輸入您要添加的數(shù)據(jù)endl; /依次輸入相應的數(shù)據(jù),并且追加到之前的文件中去 num+; outfilenum ;cout請輸入姓名:addname;outfileaddname ;cout請輸入年齡:addage;outfileaddage ;cout請輸入性別:addsex;outfileaddsex ;cout請輸入出生年月:addbirth;outfileaddbirth ;cout請輸入政治面貌:addpolitic;outfileaddpolitic ;cout請輸入家庭住址:addaddress;outfileaddaddress ;cout請輸入電話:addtelephone;outfileaddtelephoneendl;outfile.close();cout已添加成功!endl;void student:del() /刪除信息模塊int k,i;int numM;string nameM,ageM,sexM,birthM,politicM,addressM,telephoneM;ifstream infile(f1.txt,ios:in);if(!infile)cerr open errorendl;exit(1);for(i=0;iN;i+)coutnumi;coutsetw(9)namei;coutsetw(9)agei;coutsetw(9)sexi;coutsetw(9)birthi;coutsetw(9)politici;coutsetw(9)addressi;coutsetw(9)telephonei;coutsetw(9)telephoneiendl;cout你想刪除第幾個?k;k=k-1;infile.close();ofstream outfile(f1.txt,ios:out); /以寫的方式打開,將數(shù)組存取的信息從內(nèi)存中輸出到文件中去if(!outfile)cerr open errorendl; exit(1); /退出程序for(i=0;iN;i+) if(i!=k)outfilenumi ;outfilenamei ;outfileagei ;outfilesexi ;outfilebirthi ;outfilepolitici ;outfileaddressi ;outfiletelephonei endl;outfile.close();N=N-1;cout已刪除成功!endl;void student:change() /修改信息模塊int i,k;int numM;string nameM,ageM,sexM,birthM,politicM,addressM,telephoneM;ifstream infile(f1.txt,ios:in); if(!infile)cerr open errorendl;exit(1);for(i=0;iN;i+)coutnumi;coutsetw(9)namei;coutsetw(9)agei;coutsetw(9)sexi;coutsetw(9)birthi;coutsetw(9)politici;coutsetw(9)addressi;coutsetw(9)telephonei;coutsetw(9)telephoneiendl;infile.close();ofstream outfile(f1.txt,ios:out);if(!outfile) cerr open errorendl; exit(1); cout你想修改第幾個數(shù)據(jù)?k;k=k-1;cout請輸入新的數(shù)據(jù):endl;cout請輸入姓名:namek;cout請輸入年齡:agek;cout請輸入性別:sexk;cout請輸入出生年月:birthk;cout請輸入政治面貌:politick;cout請輸入家庭住址:addressk;cout請輸入電話:telephonek;for(i=0;iN;i+)outfilenumi ;outfilenamei ;outfileagei ;outfilesexi ;outfilebirthi ;outfilepolitici ;outfileaddressi ;outfiletelephoneiendl;outfile.close();cout已修改成功!endl; void student:search() /查詢信息模塊int i,n,w=0,numM,aM;char ch;string searchname,nameM,ageM,sexM,birthM,politicM,addressM,telephoneM,bM7;ifstream infile(f1.txt,ios:in); /ios:in作為讀操作if(!infile)cerr open errorendl;exit(1);for(i=0;inumi;ai=numi;infilenamei;bi0=namei; infileagei;bi1=agei;infilesexi;bi2=sexi;infilebirthi;bi3=birthi;infilepolitici;bi4=politici;infileaddressi;bi5=addressi;infiletelephonei;bi6=telephonei; couta.按姓名查找 b.按學號查找endl;cout請輸入a或者b!ch;switch(ch)case a:cout請輸入姓名:searchname;for(i=0;iN;i+)if(namei=searchname)w=1;cout學號 姓名 年齡 性別 出生年月 政治面貌 家庭住址 電話endl;coutai; coutsetw(9)bi0; coutsetw(9)bi1; coutsetw(9)bi2; coutsetw(9)bi3 ; coutsetw(9)bi4 ; coutsetw(9)bi5 ; coutsetw(9)bi6endl; if(w=0) cout無此人信息!endl; break;case b:cout請輸入學號:n;for(i=0;iN;i+)if(ai=n)w=1;cout學號 姓名 年齡 性別 出生年月 政治面貌 家庭住址 電話endl;coutai; coutsetw(9)bi0; coutsetw(9)bi1; coutsetw(9)bi2; coutsetw(9)bi3 ; coutsetw(9)bi4 ; coutsetw(9)bi5 ; coutsetw(9)bi6endl;if(w=0) cout無此人信息!endl;break;void student:display() /顯示信息模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園小班美術(shù)《烤面包》教案
- java后臺框架面試題及答案
- 外貿(mào)入職試題及答案
- 美團java面試題及答案
- 自我保護教育核心要點
- 檢修人員考試題及答案
- 軟件建模試題及答案
- 產(chǎn)品崗位的面試題及答案
- 企劃創(chuàng)意面試題及答案
- 受力平衡試題及答案
- 高墩柱墩身施工方案
- 2023年甘肅蘭州大學網(wǎng)絡與繼續(xù)教育學院人員招聘2人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 肝內(nèi)膽管結(jié)石詳解
- 發(fā)電機勵磁系統(tǒng)檢修與維護
- 2023-2024學年福建省泉州市小學語文六年級期末自測模擬試卷
- GB 29541-2013熱泵熱水機(器)能效限定值及能效等級
- 控規(guī)用地代碼
- 2023年上杭縣社區(qū)工作者招聘考試筆試題庫及答案解析
- 2021年曹楊二中自招數(shù)學試卷
- 新能源汽車底盤檢修全套課件
- 幼兒園大班數(shù)學口算練習題可打印
評論
0/150
提交評論