C++課程設(shè)計(jì)_同學(xué)錄設(shè)計(jì)報(bào)告_第1頁(yè)
C++課程設(shè)計(jì)_同學(xué)錄設(shè)計(jì)報(bào)告_第2頁(yè)
C++課程設(shè)計(jì)_同學(xué)錄設(shè)計(jì)報(bào)告_第3頁(yè)
C++課程設(shè)計(jì)_同學(xué)錄設(shè)計(jì)報(bào)告_第4頁(yè)
C++課程設(shè)計(jì)_同學(xué)錄設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告 同學(xué)錄管理系統(tǒng) 楊敬周 計(jì)算101 題 目班 級(jí)姓 名 學(xué) 號(hào)2011年7月1日青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院計(jì)算機(jī)軟件教研室同學(xué)錄管理系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書1. 項(xiàng)目設(shè)計(jì)背景:2. 項(xiàng)目設(shè)計(jì)目的: 通過(guò)設(shè)計(jì)一個(gè)同學(xué)錄管理系統(tǒng),進(jìn)一步熟悉C+中類的概念、基本知識(shí)和技能,類的封裝、繼承的實(shí)現(xiàn)方式。掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法,并利用所學(xué)的基本知識(shí)和技能解決簡(jiǎn)單的面向?qū)ο蟮某绦蛟O(shè)計(jì)問(wèn)題。了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計(jì)、模塊分解、編碼測(cè)試、模塊組裝與整體調(diào)試的全過(guò)程,加深對(duì)C+的理解與Visual C+環(huán)境的使用:逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣。3.

2、 項(xiàng)目需求分析以本班的同學(xué)的具體數(shù)據(jù)為背景,設(shè)計(jì)一個(gè)本班同學(xué)同學(xué)錄,要求如下:(1) 錄入信息,必須包括:姓名,性別,電話,家庭地址,郵編,E-mail等基本信息;(2)修改信息,包括插入一條或多條信息,修改或者刪除某人的信息;(3)查詢信息,可以按姓名,家庭住址,性別等多種方式查詢;(4)顯示所有信息 ;4. 概要設(shè)計(jì) 同學(xué)錄管理系統(tǒng)關(guān)閉通訊錄查詢同學(xué)修改信息顯示所有同學(xué)刪除信息添加同學(xué) 數(shù)據(jù)結(jié)構(gòu)及各模塊分析:1.設(shè)計(jì)類,對(duì)象及基本數(shù)據(jù)類型:創(chuàng)建一個(gè)Classmates類,它有五個(gè)私有數(shù)據(jù)成員:string name;姓名string address;地址string number;電話號(hào)碼

3、string post; 郵編string email E-mailstring qq; QQ號(hào)碼包含七個(gè)公有成員函數(shù):功能如下:char diaplay();首頁(yè)void add_person();添加同學(xué)void del_person();刪除同學(xué)void show_all(); 顯示所有同學(xué)void alter();修改信息void inquiry();查詢同學(xué)void save_new();保存新增加的同學(xué)在主函數(shù)main()之中,.Classmates obj; 創(chuàng)建名為obj的對(duì)象結(jié)構(gòu)體:struct studentClassmates object; object對(duì)象作為結(jié)構(gòu)體s

4、tudent的一個(gè)成員student *prior;定義一個(gè)指向前驅(qū)的結(jié)構(gòu)體指針student *next;定義一個(gè)指向后繼的結(jié)構(gòu)體指針;該結(jié)構(gòu)體是在alter()修改函數(shù)中用來(lái)處理相關(guān)信息的修改.字符串變量: str,record;字符變量: choose;布爾型變量: flag;數(shù)據(jù)保存方式以及格式:該同學(xué)錄管理系統(tǒng)將把輸入的人員信息保存為pClassmates.txt 文本文件,在文件讀取時(shí)系統(tǒng)將會(huì)把該文件中相關(guān)信息讀出,并在屏幕上顯示出相關(guān)信息.2.實(shí)現(xiàn)各模塊功能的相應(yīng)程序:1.界面:display()system("cls");cout<<endl;c

5、out<<"tt-. fflush(stdin);return choose;添加同學(xué):add_person()cout<<endl<<"根據(jù)下面 . .save_new()ofstream outData("pClassmates.txt", ios:app);if(!outData) outData.close();cout<<endl<<"新同學(xué)信息已經(jīng)保存好!"<<endl<<endl;system("pause");刪除同

6、學(xué)信息del_person()ofstream outData("temp.txt", ios:out); cout<<endl<<"這個(gè)人的信息已經(jīng)從你的同學(xué)錄中刪除!"<<endl<<endl;system("pause");顯示所有同學(xué)信息:show_all()ifstream inData("pClassmates.txt",ios:in); cout<<"所有同學(xué)信息已經(jīng)全部顯示出來(lái)!"<<endl;system(

7、"pause");修改同學(xué)信息alter()ifstream inData("pClassmates.txt", ios:in); cout<<endl<<"信息已經(jīng)修改完成!"<<endl<<endl;system("pause");查詢同學(xué)信息select()ifstream inData("pClassmates.txt",ios:in); system("pause");5. 詳細(xì)設(shè)計(jì) 詳細(xì)功能如下:A,添加:系統(tǒng)將提示

8、用戶輸入新添加人員信息,輸入到文件中,人員信息數(shù)據(jù)包括姓名,電話號(hào)碼,QQ號(hào),郵箱,郵編,地址.B,刪除:首先由用戶輸入要?jiǎng)h除的人員的姓名或者電話號(hào)碼,然后調(diào)用刪除函數(shù),刪除該人員的所有相關(guān)資料.C,顯示所有人員信息:該功能將顯示已經(jīng)保存的所有人員的姓名,電話,QQ號(hào),郵編及地址.D,修改:首先由用戶輸入要修改的人員姓名或者電話號(hào)碼,然后系統(tǒng)用修改函數(shù)查找,顯示該名同學(xué)的資料,然后系統(tǒng)提示用戶輸入需要修改的人員的相關(guān)信息.并用雙向鏈表來(lái)實(shí)現(xiàn)修改功能E,查詢:可由用戶輸入要查找的人員姓名或電話號(hào)碼,然后系統(tǒng)用查找函數(shù)查找,接著系統(tǒng)使用相關(guān)文件命令輸出所查找的人員的全部信息.F,退出系統(tǒng)關(guān)閉同學(xué)錄

9、管理系統(tǒng).菜單用于選擇各項(xiàng)功能:其中包括:.a:添加新同學(xué); .b:刪除同學(xué);.c:顯示所有人員信息;.d:修改人員信息;.e: 查詢同學(xué); .f:關(guān)閉同學(xué)錄.采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,a,b,c,d,e,這五項(xiàng)菜單都調(diào)用一個(gè)函數(shù)來(lái)實(shí)現(xiàn). void Classmates:alter() ifstream inData("pClassmates.txt", ios:in); /打開文件pClassmates.txt,進(jìn)行讀操作 if(!inData)/判斷文件打開是否成功 cout<<endl<<"對(duì)不起不能打開文件!"<&

10、lt;endl<<endl; /如果打開失敗,輸出 “對(duì)不起不能打開文件!” system("pause");/屏幕暫停 return; string sign;/定義字符串變量sign cout<<endl<<"請(qǐng)輸入你想要修改的同學(xué)的姓名或電話號(hào)碼:" cin>>sign;/輸入變量sign fflush(stdin);/清空緩沖區(qū) record *H=new record;/新建結(jié)構(gòu)體指針變量H,并為其分配空間 record *p=H;/使p指針指向指針H record *q=H;/使q指針也指向指針

11、H bool flag=true;/定義布爾型變量flag. while(inData>>p->>>p->object.number>>p->object.qq >>p->object.post>>p->object.address)/讀取文件中一個(gè)人的信息 p->next=new record; /建立雙向鏈表 p=p->next; p->prior=q; q->next=p; q=p; p->next=NULL;/使p的next成員指向NULL. i

12、nData.close();/關(guān)閉pClassmates.txt文件 p=H;/使指針變量P指向結(jié)構(gòu)指針H的頭節(jié)點(diǎn) while(p)/當(dāng)p不為空時(shí) if(p->=sign)|(p->object.number=sign)/判斷輸入是否為空. if(flag) cout<<endl<<"你想修改你同學(xué)的信息如下:"<<endl<<endl; cout<<setiosflags(ios:left)<<setw(17) <<p-><

13、;<""<<setw(16)<<p->object.number<<" "<<setw(18)<<p->object.qq <<" "<<setw(14)<<p->object.post<<""<<setw(20)<<p->object.address<<endl;/輸出要修改的人的信息 flag=false; cout<<endl

14、<<"請(qǐng)根據(jù)下面提示修改信息 : "<<endl; cout<<"姓名 :" ; cin>>p->; fflush(stdin); cout<<"電話號(hào):" cin>>p->object.number; fflush(stdin); cout<<"QQ :" cin>>p->object.qq; fflush(stdin); cout<<"郵編 :"

15、 cin>>p->object.post; fflush(stdin); cout<<"地址 :" cin>>p->object.address; fflush(stdin); break;/根據(jù)提示進(jìn)行修改 p=p->next;/使結(jié)構(gòu)體指針p指向該指針的末尾 if(flag) cout<<endl<<"你的同學(xué)錄中沒(méi)有你找的聯(lián)人!"cout<<endl<<endl; system("pause"); return; else of

16、stream out("pClassmates.txt",ios:out); /打開文件pClassmates.txt,進(jìn)行寫操作 if (!out)/判斷文件打開是否成功打開 cout <<endl <<"對(duì)不起!不能打開文件!" <<endl; system("pause"); return; p=H; /使結(jié)構(gòu)體指針p指向被修改的人的記錄的首地址. while(p)/如果p不為空,則執(zhí)行以下語(yǔ)句 out<<setiosflags(ios:left)<<setw(17)&

17、lt;<p-> <<" "<<setw(16)<<p->object.number <<" "<<setw(18)<<p->object.qq <<" "<<setw(14)<<p->object.post <<" "<<setw(20)<<p->object.address<<endl;將修改后的信息保存到原來(lái)位置 p=p-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論