歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

C++學生信息管理體系課程設計

  • 資源ID:32982982       資源大?。?span id="doywgp0" class="font-tahoma">125KB        全文頁數(shù):20頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

C++學生信息管理體系課程設計

程序設計綜合課程設計計算機學院計算機科學與技術(shù)專業(yè)程序設計綜合課程設計報告 (2010/2011學年 第一學期)學生姓名: 學生班級: 學生學號: 指導教師: 2010年1月5日18目錄第一章 課程設計目的和要求11.1 本課程設計的目的11.2 課程設計的任務及要求1第二章:課程設計任務要求22.1.課程設計內(nèi)容:22.2功能實現(xiàn):22.3運行環(huán)境:3第三章:詳細說明43.1.主函數(shù)的流程圖:43.2.引入的頭文件43.3 定義的類53.4 子函數(shù)介紹63.4.1. 查找學生函數(shù):63.4.2.添加學生信息73.4.3.刪除學生信息8第四章: 軟件使用說明9第五章:課程設計心得與體會10附錄111附錄212第一章 課程設計目的和要求1.1 本課程設計的目的(1)熟練掌握C+語言的基本知識和技能; (2)基本掌握面向?qū)ο蟪绦蛟O計的基本思路和方法;(3)利用所學的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O計問題;(4)提高學生的科技論文寫作能力。 1.2 課程設計的任務及要求 基本要求:(1)課程設計前必須根據(jù)課程設計題目認真準備實驗源程序及調(diào)試時所需的數(shù)據(jù); (2)要求采用簡明、嚴格的問題描述,設計求解算法;(3)數(shù)據(jù)結(jié)構(gòu)選用得當,程序結(jié)構(gòu)合理;(4)程序簡明易懂,多運用輸出提示,程序運行正確; (5)對設計進行總結(jié)和討論。第二章:課程設計任務要求2.1.課程設計內(nèi)容: 該系統(tǒng)是由c+語言編寫的一個學生信息管理體系,其主要功能是實現(xiàn)對學生信息的增加,刪除,修改,查詢,其中查詢可以分別以姓名,學號為關(guān)鍵字查詢學生的信息。有學生信息,內(nèi)容如下: 姓名 學號 性別 地址 電話 白雪亮 1001 男 河北邯鄲 15513069479逢成杰 1002 男 浙江嘉興 15513064356高國君 1003 男 山西臨汾 15567890987高嘯天 1004 男 河北衡水 15532423424耿金燦 1005 男 河北衡水 15538929308侯玲 1006 女 山西忻州 13445456556及永超 1007 男 河北滄州 155349234991、當前學生信息:通過類來保存學生的姓名,學號,性別,地址,電話等等相關(guān)信息,并且通過cin函數(shù)來進行給當前學生輸入初始信息。 2、學生成績查詢: 輸入一個學號或姓名, 在文件中查找此學生, 若找到則輸出此學生的全部信息; 若找不到則輸出查找失敗的信息.。3、新生插入,此生的信息保存下來。4、修改學生信息。2.2功能實現(xiàn): (1) 信息維護: 此模塊包括子模塊有:增加學生信息、刪除學生信息、修改學生信息、查找學生信息(2) 信息查詢: 查詢時可實現(xiàn)按姓名查詢、按學號查詢 2.3運行環(huán)境:服務器端運行環(huán)境為windows XP,客戶端運行環(huán)境為windows XP版,windows 98以上的操作系統(tǒng),Microsof t visual c+6.0 Office 2003 應用軟件。第三章:詳細說明3.1.主函數(shù)的流程圖:Main()輸入一個數(shù) 0Grade.ModifyItem()Grade.RemoveItem()Grade.Find()Grade.Display()Grade.AddItem()54321 結(jié)束圖3.1主函數(shù)流程圖3.2.引入的頭文件# include <iostream># include <fstream># include <string.h># include <conio.h> 說明:引入string,使用到其中包含的strcpy()字符串拷貝函數(shù)與strcmp()字符串比較函數(shù)。引入iostream,使用了標準輸入輸出流如cin,cout,endl等。引入fstream,使用到其中定義的兩個類ifstream與ofstream,分別用與創(chuàng)建輸入流對象與輸出流對象,實現(xiàn)對磁盤文件的讀取與數(shù)據(jù)的存盤。3.3 定義的類本程序中定義了類即Student。其中包含五個成員變量char name20,char Id10;char sex4char dizhi20;char dianh20;分別對應學生的姓名,學號,性別,地址,電話。class Studentpublic: char name20; char Id10; char sex4; char dizhi20; /地址 char dianh20; /電話 Student * Next; void Input() cout<<"tt請輸入學生的姓名:" cin>>name; cout<<"tt請輸入學生的學號:" cin>>Id; cout<<"tt請輸入性別:" cin>>sex; cout<<"tt請輸入地址:" cin>>dizhi; cout<<"tt請輸入電話:" cin>>dianh; void ReadFile(istream & in) in>>name>>Id>>sex>>dizhi>>dianh; /讀取文件中的信息 void Show() cout<<"姓名:"<<name<<endl<<"學號:"<<Id<<endl<<"性別"<<sex<<endl <<"地址:"<<dizhi<<endl<<"電話:"<<dianh<<endl<<endl<<endl<<endl; /顯示該生的信息3.4 子函數(shù)介紹 3.4.1. 查找學生函數(shù):設計思路: 查找學生信息分倆個函數(shù),一個是可以通過姓名來查詢,一個是可以通過學號來查詢,若輸入的姓名或?qū)W號和文件中的匹配,則輸出所有學生的信息,包括姓名,學號,性別,地址,電話。若不匹配,則輸出錯誤。提供選擇查詢的功能,若輸入的數(shù)字與函數(shù)匹配時,執(zhí)行此函數(shù)。程序流程圖如下如所示:輸入xswitch(a);a=2a=1p=FindID(Id)p=FindItem(name)getch()圖3.2 查找函數(shù)流程圖3.4.2.添加學生信息設計思路:將磁盤文件輸入內(nèi)存中,內(nèi)容保存在sort.txt 中,通過文件流將sort,txt輸入內(nèi)存中中,實現(xiàn)學生信息的讀取。開始Head=new Student通過文件流 in.open("sort.txt"); 輸入內(nèi)存中 Y返回圖3.3 添加函數(shù)流程圖 3.4.3.刪除學生信息設計思路:利用查找函數(shù),找到學生的信息,然后依次刪除各個信息。輸入要刪除學生的名字 p=FindItem(name) N Y temp=p->Next; p->Next=p->Next->Next; N 輸出沒有該結(jié)點 輸出:刪除成功 getch()將鏈表存儲回文本文件圖3.4 刪除函數(shù)流程圖第四章: 軟件使用說明將程序代碼輸入到C+編譯器中,運行,按照程序運行提示操作即可。該系統(tǒng)是由c+語言編寫的一個學生信息管理體系,其主要功能是實現(xiàn)對學生信息的增加,刪除,修改,查詢,其中查詢可以分別以姓名,學號為關(guān)鍵字查詢學生的信息。第五章:課程設計心得與體會忙碌了幾個星期,在大家的幫助下,我總算將此程序設計出來。盡管不是自己獨立完成,但仍然很高興,因為在設計的過程中,讓我了解到要設計一個大型程序,查找資料是至關(guān)重要的,在他人的基礎(chǔ)上,再根據(jù)自己所學進行修改與調(diào)試,最后設計出自己想要的程序,這過程艱辛,但只要你持之以恒,成功指日可待。另外平時扎實的基礎(chǔ)也很關(guān)鍵,因為如果你平時學得就不怎么樣,那么你面對這么一個比較有難度的程序,你可能會望而卻步,看他人的程序都是個難點,更別說讓你自己去設計。為了解決此。類問題,最好就是多向同學,老師請教,不要怕難為情。尤其是老師,評他們多年的編寫程序的經(jīng)驗,要解決我們的問題,對他們來說只是small case。 在設計這個程序時,我們剛開始是根據(jù)老師給我們提供的資料,但是接下去便無從下手了,計算是個關(guān)鍵和難點,我也查了相應的資料,經(jīng)過自己的反復嘗試以及與與同學的討論,這也不難,最好還是被我搞定了。附錄1參考文獻:1.C+.語言基礎(chǔ)教程 譚浩強. 清華大學出版社.2.C+程序開發(fā)與設計(第二版) Gary J.Bronson著 劉勇譯 人民郵電出版社3.http:/www.bc-4.附錄2程序源代碼:# include <iostream># include <fstream># include <string.h># include <conio.h>/用getch();using namespace std;/Student類class Studentpublic: char name20; char Id10; char sex4; char dizhi20; /地址 char dianh20; /電話 Student * Next; void Input() cout<<"tt請輸入學生的姓名:" cin>>name; cout<<"tt請輸入學生的學號:" cin>>Id; cout<<"tt請輸入性別:" cin>>sex; cout<<"tt請輸入地址:" cin>>dizhi; cout<<"tt請輸入電話:" cin>>dianh; void ReadFile(istream & in) in>>name>>Id>>sex>>dizhi>>dianh; void Show() cout<<"姓名:"<<name<<endl<<"學號:"<<Id<<endl<<"性別"<<sex<<endl <<"地址:"<<dizhi<<endl<<"電話:"<<dianh<<endl<<endl<<endl<<endl; ;/Studentmassage類class Studentmassagepublic: Studentmassage(); Studentmassage(); void ShowMenu(); void Find(); void Save(); void ModifyItem(); void RemoveItem(); void Swap(Student *,Student *); void Sort(); /void Unpass(); int ListCount(); /void Average(); void Display() for(Student * p=Head->Next;p!=End;p=p->Next) p->Show(); cout<<"請選擇" getch(); void AddItem() End->Input(); End->Next=new Student; End=End->Next; cout<<"添加成功!"<<endl; cout<<"請選擇" getch(); private: Student * Head,* End; ifstream in; ofstream out; Student *FindItem(char * name) for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功則返回上一個指針,不成功就返回空 if(!strcmp(p->Next->name,name)return p; return NULL; Student *FindID(char * Id) for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功則返回上一個指針,不成功就返回空 if(!strcmp(p->Next->Id,Id)return p; return NULL; ;/構(gòu)造函數(shù)Studentmassage:Studentmassage() Head=new Student; Head->Next=new Student; End=Head->Next; in.open("sort.txt"); if(!in) cout<<"這是一個系統(tǒng)請先輸入。"<<endl; else while(!in.eof() End->ReadFile(in); if(End->name0=0)break; End->Next=new Student; End=End->Next; in.close(); cout<<"tt讀取學生信息成功!"<<endl; /析構(gòu)函數(shù)Studentmassage:Studentmassage() Save(); for(Student * temp;Head->Next!=End;) temp=Head->Next; Head->Next=Head->Next->Next; delete temp; delete Head,End;/菜單void Studentmassage:ShowMenu() cout<<" 學 生 成 績 管 理 系 統(tǒng) "<<endl; cout<<" 1.增加學生成績 "<<endl; cout<<" 2.顯示學生成績 "<<endl; cout<<" 3.查找學生成績 "<<endl; cout<<" 4.刪除學生成績 "<<endl; cout<<" 5.修改學生信息 "<<endl; cout<<" 0.安全退出系統(tǒng) "<<endl; cout<<"nttntt請選擇:"/查找函數(shù)void Studentmassage:Find() char name20 ,Id10; int x; Student * p=NULL; cout<<"ntt*n" cout<<"tt 1.按學生的姓名查找ntt 2.按學生學號查找" cout<<"ntt*n請選擇:" cin>>x; switch(x) case 1:cout<<"tt請輸入要查找的學生的姓名:"cin>>name; if(p=FindItem(name) p->Next->Show(); cout<<"請選擇" getch(); else cout<<"tt沒有找到該姓名的學生!"<<n<<endl; cout<<"請選擇" getch(); break; case 2: cout<<"tt請輸入要查找的學生的學號:"cin>>Id; if(p=FindID(Id) p->Next->Show(); cout<<"請選擇" getch(); else cout<<"tt沒有找到該學好的學生!"<<n<<endl; cout<<"請選擇" getch(); break; /修改信息void Studentmassage:ModifyItem() /修改信息 char name20; Student * p=NULL; cout<<"tt請輸入要修改的人的姓名:"cin>>name; if(p=FindItem(name) cout<<"tt已找到學生的信息,請輸入新的信息!"<<endl; p->Next->Input(); cout<<"修改成功!"<<endl; cout<<"請選擇" getch(); else cout<<"tt沒有找到!"<<endl; cout<<"請選擇" getch(); /刪除信息void Studentmassage:RemoveItem() / 刪除信息 char name20; Student * p=NULL,*temp=NULL; cout<<"tt請輸入要刪除的學生的姓名:"<<endl;cin>>name; if(p=FindItem(name) temp=p->Next; p->Next=p->Next->Next; delete temp; cout<<"tt刪除成功!"<<endl; cout<<"請選擇" getch(); else cout<<"tt沒有找到!"<<endl; cout<<"請選擇" getch(); /int Studentmassage:ListCount()/統(tǒng)計當前鏈表的記錄總數(shù),返回一個整數(shù) if(! Head) return 0; int n=0; for(Student * p=Head->Next;p!=End;p=p->Next) n+; return n;/保存函數(shù)void Studentmassage:Save() out.open("sort.txt"); for(Student *p=Head->Next;p!=End;p=p->Next) out<<p->name<<"t"<<p->Id<<"t"<<p->sex<<"t" <<p->dizhi<<"t"<<p->dianh<<"t"<<n; out.close();/主函數(shù)int main() int x,i=0; bool quit=false; cout<<"tt"<<endl; /for(i=0;i<3;i+) /cout<<"tttttttt "<<endl; cout<<"tt【 歡迎進入學生成績管理系統(tǒng) 】"<<endl; /for(i=0;i<3;i+) / cout<<"tttttttt "<<endl; /cout<<"ttn"<<endl; Studentmassage Grade; cout<<"按任意鍵開始" getch(); system("cls"); Grade.ShowMenu(); while(!quit) cin>>x; switch(x) case 0:quit=true;break; case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Find();break; case 4:Grade.RemoveItem();break; case 5:Grade.ModifyItem();break; return 0;

注意事項

本文(C++學生信息管理體系課程設計)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!