




已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目錄前言 2摘要 3正文 4(1) 問題描述 4(2) 需求分析 5(3) 概要設計 6(4) 詳細設計 8(五)測試結果 10(六)調(diào)試分析 16設計總結 17參考文獻 18致謝 19附件 I 部分源程序代碼 20前言本演示程序用C+編寫,主要用到的數(shù)據(jù)結構是線性表的順序存儲結構。因為學生信息管理系統(tǒng)需要經(jīng)常查找數(shù)據(jù)。根據(jù)這個特點我們采用了順序存儲結構。它是一種靜態(tài)存儲結構。根據(jù)數(shù)據(jù)的特點,每一條記錄包含多個屬性,我們定義了兩個類Student和date。開發(fā)目的如下:能對學生信息進行錄入和修改;能刪除每個學生的信息;能根據(jù)學號和姓名來查找相應的學生;能比較兩個不同學號的學生是不是一樣;同時能將他們顯示出來。摘要學生信息管理系統(tǒng)是很常用的信息管理系統(tǒng),也是典型的管理系統(tǒng),其要求系統(tǒng)擁有良好的易用性和健壯性,能簡單方便的管理學生信息。基于要求進行設計,使管理學生信息便捷和高效。關鍵詞:信息,管理,學生正文(1) 問題描述 隨著社會的發(fā)展,教育越來越受到重視,學校需要管理的學生信息越來越多。但伴著計算機的進入生活,管理變得簡單起來,使用良好的管理軟件,可以方便的解決學生的管理問題。 系統(tǒng)以滿足的要求是:信息的輸入輸出及合理管理方式的運行。(2) 需求分析C+設計需要建立合理的類及對象,建立清晰的類層次,每個類中要有各自的屬性和方法;運用面向對象的機制(繼承、派生及多態(tài)性)來實現(xiàn)系統(tǒng)功能。 學生信息管理應該滿足如下要求: 1)系統(tǒng)以菜單方式工作; 2)學生信息錄入功能; 3)學生信息瀏覽功能; 4)查詢、排序功能:按學號查詢、按姓名查詢; 5)學生信息的刪除與修改。(3) 概要設計 v 系統(tǒng)分析 實現(xiàn)學生信息的錄入,修改,刪除,比較,顯示,查詢等工作。v 系統(tǒng)設計思想在設計的過程中,要建立清晰的類層次; 分析和定義各個類,每個類中要有各自的屬性和方法;運用面向對象的機制(繼承、派生及多態(tài)性)來實現(xiàn)系統(tǒng)功能。同時系統(tǒng)應該符合學生信息管理的規(guī)定,滿足對學生信息管理的需要,并達到操作過程中的直觀、方便、實用、安全等要求。系統(tǒng)采用模塊化程序設計的方法,既便于系統(tǒng)功能的組合和修改,又便于為參與開發(fā)的技術維護人員補充和維護。系統(tǒng)應具備文件維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。開始v 系統(tǒng)結構圖定義類主函數(shù)Switch語句進行選擇(輸入06)退出管理系統(tǒng)刪除學生信息顯示學生信息比較學生信息修改學生信息錄入學生信息查詢學生信息退出函數(shù)顯示函數(shù)比較函數(shù)刪除函數(shù)修改函數(shù)查詢函數(shù)輸入函數(shù)退出返回函數(shù)(四)詳細設計l 類屬性的詳細設計日期類:class Data/日期類 public:double Year,Month,Day;Data() Year=0;Month=0;Day=0; ;學生類:class student /學生類public: char name10; /姓名char sex5; /性別char jiguan10; /籍貫int num,age;/學號,年齡char adr30;/住址Data year;friend class Data;/date作為student的友元 /定義一個日期類void operator=(student s); /=重載int operator = (student s);/=重載stu100;l 類行為的詳細設計int i;void comp(); void input(); void find();void alt() ;void del(); void exit();void show(); void operator=(student s); /=重載 int operator = (student s);/=重載void student:operator =(student stu)/對=運算符重載函數(shù)的實現(xiàn)num=stu.num;for(int i=0;i9;i+)namei=i;for(i=0;i4;i+)sexi=stu.sexi; age=stu.age;for(i=0;i9;i+)jiguani=stu.jiguani ;for(i=0;i29;i+)adri=stu.adri ;year.Year=stu.year.Year ;year.Month =stu.year.Month ;year.Day =stu.year.Day ;int student:operator = (student stu)/對=運算符重載函數(shù)的實現(xiàn)if(*name=* & *sex=*stu.sex & age=stu.age & *jiguan=*stu.jiguan & *adr=*stu.adr&year.Year =stu.year.Year&year.Month =stu.year.Month&year.Day =stu.year.Day ) return 1;else1 return 0; Data() Year=0;Month=0;Day=0; (五)測試結果1.調(diào)試首界面 2.信息錄入界面3.查找界面4.刪除界面5.修改界面6.比較界面(六)調(diào)試分析實驗過程中的問題出現(xiàn)了很多,開始是語法錯誤,例如書寫標識符時,忽略了大小寫字母的區(qū)別,忘記加分號,用錯運算符的優(yōu)先級,循環(huán)條件語句后誤加分號,沒有聲明函數(shù)原型等。這個錯誤不是很難解決,編輯器可以提示錯誤的位置,雖然好多錯誤不能找到真正出現(xiàn)錯誤的地方,或是找到錯誤卻沒辦法正確的解決,最后通過查資料,詢問其他同學終于可以改掉語法錯誤。 程序函數(shù)無法調(diào)用的錯誤就更難了。由于最初開始寫代碼是心中的思路并不是很成熟,第一次的代碼寫到一半發(fā)現(xiàn)不正確不得不從新開始寫。后來不得不先寫好流程圖然后寫好每部分小函數(shù)代碼。然后根據(jù)流圖將各部分的程序代碼逐步填入得出真確的代碼。 后期調(diào)試的過程總是的不出理想的結果,無法實現(xiàn)老師的要求。經(jīng)過反復的調(diào)試錯誤查找和同學的幫助發(fā)現(xiàn)是函數(shù)調(diào)用的先后次序有問題。我的程序就是在不斷調(diào)試,不斷更改的過程中慢慢完成的。設計總結 本次課程設計以C+語言知識為基礎,運用C+語言面向對象中合理的算法,結合了順序表相關的知識,根據(jù)不同的情況選擇出相對較好的方法。 在課程設計過程中,把握好自己的課題,找到相關的算法和實現(xiàn)函數(shù)并設計它非常重要。能準確的抓住課題,設計高效的算法是必要的,這樣設計的系統(tǒng)才符合標準。要完成所有的工作僅靠我一個人是非常困難的,因我所掌握知識有限。所以,在老師和同學們的幫助下,通過查閱各種資料,解決了其中的問題,完成了此次課程設計。這次課程設計雖短暫,但其間的所學內(nèi)容是很充實的,在其中我學習到了很多平時書本中無法學到的東西,積累了經(jīng)驗,鍛煉了自己分析問題,解決問題的能力,并學會了如何將所學的各課知識融會,組織,來配合學習,在這兩周中我的收獲很多,學到很多知識,我相信這在以后會對我有很大幫助。參考文獻1陳維興,林小茶.c+面向對象程序設計教程. 北京: 清華大學出版社,1996.2004.2張國峰. C+程序設計實用教程. 北京: 清華大學出版社,1996. 3張松梅. C+語言教程. 電子科技大學出版社,1993.4閻龍. C程序員的C+指南. 北京航空航天大學出版社,1992.5王博. 面向對象的建模、設計技術與方法. 北京希望電腦公司,1990.6譚浩強.c+程序設計.北京: 清華大學出版社,2004.7傅明.c+與面向對象程序設計實驗教程.中南大學出版社.8陳清華,朱紅.Visual C+課程設計案例精選與編程指導.東南大學出版社,2003.致謝在這次課程設計中,由于自身缺乏經(jīng)驗,知識和水平又很有限,難免有許多考慮不周全的地方,如果沒有老師的指導及同學們的支持和幫助,想要完成這個設計是難以想象的。在這里首先要感謝我的老師。是她在我做課程設計的每個階段都給予了我悉心的指導和耐心的幫助。其次,要感謝我的同學,在完成編程的過程時,他們給了我很多支持和幫助,如果沒有他們,我的的課程設計就不會這么順利的完成。最后感謝學校為我們提供這樣一個自我鍛煉的機會和好的課設環(huán)境,讓我有了很大提升。附件I 部分源程序代碼#include #include#include#include #include void back();/返回開始菜單void out();/輸出信息int w=1; /用于記錄學生人數(shù),全局變量class Data/日期類public:double Year,Month,Day;Data() Year=0;Month=0;Day=0; ;class student /學生類public: char name10; /姓名char sex5; /性別char jiguan10; /籍貫int num,age;/學號,年齡char adr30;/住址Data year;friend class Data;/date作為student的友元 /定義一個日期類void operator=(student s); /=重載int operator = (student s);/=重載stu100;void main() system(cls);/清屏 DOC調(diào)用system(color f4); /顏色 同樣是調(diào)用docint i;void comp(); void input(); void find();void alt() ;void del(); void exit();void show();coutsetw(53)歡迎進入學生管理系統(tǒng)!endl; coutsetw(55)1 添加學生信息 2 查詢學生信息endlendl; coutsetw(55)3 刪除學生信息 4 修改學生信息endlendl; coutsetw(55)5 比較學生信息 6 顯示學生信息endlendl;coutsetw(45)0 退出系統(tǒng)endl;couti;if(i6|i0) cout輸入有誤!endl; back(); switch(i) case 1:input();break; case 2:find();break; case 3:del();break; case 4:alt();break;case 5:comp();break;case 6:show();break;case 0:exit();break;default:cout你的輸入有誤!n; void input() /添加學生system(color 84); /顏色 同樣是調(diào)用docsystem(cls);/清屏int n; coutn;if(n=100|n=0) cout輸入有誤!0;w+,n-) cout請輸入姓名、性別、籍貫,年齡,學號,住址:stuw.sexstuw.jiguanstuw.age stuw.numstuw.adr ; cout請輸入該生生日(年 月 日)stuw.year.Year;cinstuw.year.Month;cinstuw.year.Day; out();cout添加完畢2秒后返回endl;Sleep(2000); /延時2秒 back();void find() /查找學生system(color f4); /顏色 同樣是調(diào)用docsystem(cls);int i,k,l,id,j=0;/j是用以記錄是否有信息被找到 char name110;coutsetw(55)1按姓名查找學生信息 2 按學號查詢學生信息endlk;switch(k) case 1: coutname1; for(i=1;iw;i+)l=(strcmp( ,name1); if ( l=0)couti stui.sex stui.jiguan stui.age stui.num stui.year.Year stui.year.Month stui.year.Daystui.adrendl; j+;if(j=0)cout沒有你要查找的信息;back();break;case 2:coutid;for(i=1;iw;i+)if(stui.num =id) couti stui.sex stui.jiguan stui.age stui.num stui.year.Year stui.year.Month stui.year.Daystui.adrendl; j+;if(j=0)cout沒有你要查找的信息;back();void del()/刪除指定學號學生信息 system(color f4); /顏色 同樣是調(diào)用docint i,a,y=0;char x;couta;for(i=1;iw;i+)if(stui.num=a)cout該生情況:endl; couti stui.sex stui.jiguan stui.age stui.num stui.year.Year stui.year.Month stui.year.Day stui.adrendl; cout是否確認刪除?(Y/N)x; if(x=Y|x=y)y+; for(;iw-1;i+) stui=stui+1;w-;/每刪除一個對總是減少一個if(y=0) cout該學生不存在!endl; back(); else cout刪除后的信息為:endl; out(); back(); void alt()/修改指定學號學生 system(color f4); /顏色 同樣是調(diào)用doc int id,y=0; char x; coutid;for(int i=1;iw;i+) if(stui.num =id) cout該生情況:endl; couti stui.sex stui.jiguan stui.age stui.num stui.year.Year stui.year.Month stui.year.Day stui.adrendl; cout是否確認修改?(Y/N)x;if(x=Y|x=y) y+; cout請輸入姓名、性別、籍貫,年齡,學號,住址:stui.sexstui.jiguanstui.age stui.numstui.adr ; cout請輸入該生生日(年 月 日)stui.year.Year;cinstui.year.Month;cinstui.year.Day; elsecout2秒后返回endl; Sleep(2000); back(); if(y=0) cout 該學生不存在!; back(); else cout修改后的信息為:endl; out(); back(); void student:operator =(student stu)/對=運算符重載函數(shù)的實現(xiàn)num=stu.num;for(int i=0;i9;i+)namei=i;for(i=0;i4;i+)sexi=stu.sexi; age=stu.age;for(i=0;i9;i+)jiguani=stu.jiguani ;for(i=0;i29;i+)adri=stu.adri ;year.Year=stu.year.Year ;year.Month =stu.year.Month ;year.Day =stu.year.Day ;int student:operator = (student stu)/對=運算符重載函數(shù)的實現(xiàn)if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱血少年發(fā)言稿
- 教育發(fā)展 發(fā)言稿
- 2025年電視信號傳輸服務合作協(xié)議書
- 關于維穩(wěn)的發(fā)言稿
- 生活技能講座
- 學生座談會發(fā)言稿
- 農(nóng)林業(yè)季報告
- 教學質(zhì)量分析發(fā)言稿
- 電話維護協(xié)議書范本
- 提振消費評估機制與效果反饋實施方案
- 高中英語丨高考核心高頻詞匯
- 《營養(yǎng)均衡膳食指南》課件
- 《數(shù)智化技術應用與創(chuàng)新》課件 第1章 走進數(shù)智化時代
- 2025年浙江省臺州機場管理有限公司招聘筆試參考題庫含答案解析
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 2025年江蘇醫(yī)藥職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年常德職業(yè)技術學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 《智能家居系統(tǒng)》課件
- 基礎模塊下冊《中國人民站起來了》2
- 繼電保護業(yè)務技能實操題庫
- 員工請假管理制度-員工請假管理制度范文
評論
0/150
提交評論