




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 課 程 設(shè) 計 QQ好友管理系統(tǒng)課程設(shè)計名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 專 業(yè) 班 級 : 16機(jī)電二班 小組成員 :王守鋒 石松軼 陸永斌 張智斌 李浩明指 導(dǎo) 教 師 : 徐麗萍 課程設(shè)計時間: 2017年5月30日 計算機(jī)應(yīng)用技術(shù) 專業(yè)課程設(shè)計任務(wù)書學(xué)生姓名專業(yè)班級學(xué)號題 目 QQ好友中通訊錄管理系統(tǒng)課題性質(zhì)工程設(shè)計課題來源自擬課題指導(dǎo)教師同組姓名無主要內(nèi)容運(yùn)用C語言和數(shù)據(jù)結(jié)構(gòu)知識設(shè)計QQ好友管理系統(tǒng)QQ不僅僅是個社交平臺,還應(yīng)是個工作平臺,將通訊錄保存在QQ用時更加方便。通過QQ可以直接呼叫聯(lián)系人。任務(wù)要求 1 添加好友信息 2 顯示好友信息 3 刪除好友信息 4 更改好友信息 5 查詢好
2、友信息 參考文獻(xiàn)數(shù)據(jù)結(jié)構(gòu)(C語言版)嚴(yán)蔚敏 清華大學(xué)出版社C語言程序設(shè)計(第三版)譚浩強(qiáng) 清華大學(xué)出版社審查意見指導(dǎo)教師簽字:教研室主任簽字: 年 月 日 目 錄1 需求分析32概要設(shè)計33 詳細(xì)設(shè)計54 運(yùn)行環(huán)境55 開發(fā)工具和編程語言66 程序設(shè)計67 調(diào)試分析128 測試結(jié)果129參考文獻(xiàn)1710心得體會1811 成績評價表181 需求分析 QQ的普及度越來越高,其功能也需要加強(qiáng)。將通訊錄的功能添加到QQ好友管理系統(tǒng)中,使其在聊天中就可以呼叫聯(lián)系人,并且將通訊錄的信息可以QQ中長期保存,在無手機(jī)的情況下也查找好友手機(jī)號。從而使QQ功能更加完善,使用起來更加方便和快捷。2概要設(shè)計(1)實(shí)現(xiàn)
3、功能: 菜 單 推出系統(tǒng)查找好友刪除好友顯示好友添加好友修改信息(2)序中各函數(shù)程簡單說明見下:返回值函數(shù)名參數(shù)表函數(shù)說明提供客戶intmainvoid主函數(shù)是voidmenuvoid顯示功能是intreadsHaoyou stuN讀取否voidsavehaoyou stuN,n保存是voidaddvoid添加是voiddelvoid刪除否voidqueryvoid查找是voidchangvoid修改否voidshowvoid信息顯示是(3) 對程序中的各個函數(shù)功能的描述1主函數(shù)main 系統(tǒng)開始、結(jié)束界面的顯示、各個功能函數(shù)的調(diào)用、轉(zhuǎn)換以及參數(shù)的傳遞、定義QQ頭結(jié)點(diǎn)并傳遞給各個功能函數(shù)2功能
4、顯示menu 介紹程序的功能,按那些鍵實(shí)現(xiàn)其特點(diǎn)功能。3讀取函數(shù)reads 讀取用戶輸入的信息,將其按線性表的形式呢存儲, 聯(lián)系人的編號為其頭結(jié)點(diǎn)。4保存函數(shù)save 將輸入的信息保存,若失敗返回保持失敗。5添加聯(lián)系人函數(shù)add 增加聯(lián)系人到QQ通訊錄的尾部,返回增加是否成功。6刪除函數(shù)del按照用戶指定的聯(lián)系人編號刪除相應(yīng)聯(lián)系人信息,返回刪除是否成功。7查找函數(shù)query 按照用戶提供的聯(lián)系人姓名查找第一個合法姓名對應(yīng)的信息,查找成功則顯示信息,失敗則提示無此聯(lián)系人,返回是否查找到。8修改函數(shù)chang 按照用戶提供的聯(lián)系人姓名修改聯(lián)系人所有信息,返回修改是否 成功。9顯示信息函數(shù)show
5、顯示當(dāng)前通訊錄中所有聯(lián)系人的信息,若為空通訊錄,則顯示無聯(lián) 系人。 主函數(shù)main3 詳細(xì)設(shè)計顯示功能show修改功能chang查找功能query刪除功能del添加功能add保存功能save讀取功能reads顯示功能menu4 運(yùn)行環(huán)境1) 軟件環(huán)境操作系統(tǒng):Windows7,Windows82) 硬件環(huán)境處理器:Intel Pentium 166MX 或更高內(nèi)存:32MB以上硬盤空間:1GB以上顯卡:SVGA 顯示適配 5 開發(fā)工具和編程語言Microsoft visual C+C語言6 程序設(shè)計#include#include#include#includeconio.h/*conio.h
6、主要做圖形圖像,例如說設(shè)置背景色的函數(shù),字體顏色的 函數(shù)、輸出格式的函數(shù)等*/#define N 30typedef struct haoyou/*typedef是類型定義的意思。typedef struct 是為了使用這個結(jié)構(gòu)體方便。 具體區(qū)別在于:若struct node 這樣來定義結(jié)構(gòu)體的話。在申請node 的變量時,需要這樣寫,struct node n;若用typedef,可以這樣寫,typedef struct nodeNODE; 。在申請變量時就可以這樣寫,NODE n; 區(qū)別就在于使用時,是否可以省去struct這個關(guān)鍵字*/char num20;char name10;cha
7、r adress50;char QQ15;char tel15;haoyou;void menu();int reads(haoyou stuN); /讀取void save(haoyou stuN,int n); /保存void add(); /添加void del(); /刪除void query(); /查詢void change(); /修改void show(); /信息顯示void main()int n; while(1)/*while(1)其中1代表一個常量表達(dá)式,他永遠(yuǎn)不會等于0。所以,循環(huán)會一直執(zhí)行下去。除非你設(shè)置break等類似的跳出循環(huán)語句循環(huán)才會中止*/ menu()
8、;printf(n); printf( 您現(xiàn)在看到的是QQ中的通訊錄 n);printf(n);printf(n); printf( 請輸入您要選擇的操作編號,按回車鍵確認(rèn):n);printf(n); scanf(%d,&n); switch(n)case 1: add();break;case 2: show();break;case 3: del();break;case 4: change();break;case 5: query();break;case 0: exit(0);default: printf(*n); printf( 輸入錯誤,請輸入列表中存在的編號 n );prin
9、tf(*n);printf(*n);printf( 按任意鍵返回n);printf(*n);getch(); /*getch();或ch=getch(); 用getch();會等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句;用ch=getch();會等待你按下任意鍵之后,把該鍵字符所對應(yīng)的ASCII碼賦給ch,再執(zhí)行下面的語句。*/void menu()system(color 1f);/顏色system(cls);/清屏printf(*xxx好友信息管理系統(tǒng)*n); printf(* 1 添加好友信息 *n); printf(* 2 顯示好友信息 *n); printf(* 3 刪除好友信息 *n)
10、; printf(* 4 更改好友信息 *n); printf(* 5 查詢好友信息 *n); printf(* 0 退出 *n); printf(*n);int reads(haoyou stuN) / 讀取好友文件中的內(nèi)容FILE *fp; int i=0; if(fp=fopen(d:haoyou.txt,r)=NULL) printf(文件打開失??!n); return 0; else for(i=0;!feof(fp);i+) fscanf(fp,%s %s %s %s %sn,stui.num,,stui.adress,stui.QQ,stui.tel); fcl
11、ose(fp); return i;void save(haoyou stuN,int n) / 好友信息改變后更新文件FILE *fp; int i=0; if(fp=fopen(d:haoyou.txt,w)=NULL) printf(文件打開失??!n); return ; else for(i=0;in;i+)fprintf(fp,%s %s %s %s %sn,stui.num,,stui.adress,stui.QQ,stui.tel); fclose(fp);void add()/*添加好友信息*/FILE *fp; int n,i; haoyou stu; if
12、(fp=fopen(d:haoyou.txt,a)=NULL) /*如果文件已經(jīng)存在,可以追 加好友信息*/if(fp=fopen(d:haoyou.txt,w)=NULL) /* 文件不存在時,創(chuàng)建新文件,輸入好友信息*/ printf(文件打開失??!n); return;printf(*n); printf( 請輸入要添加的好友數(shù)量,按回車鍵確認(rèn):n);printf(*n); scanf(%d,&n); for(i=1;i=n;i+) printf(*n);printf( 請輸入第%d個好友的編號、姓名,用空格分開,并按回車鍵確認(rèn):n,i); printf(*n);scanf(%s%s,s
13、tu.num,);printf(*n); printf( 請輸入第%d個好友的地址、QQ號和電話,用空格分開,并按回車鍵確認(rèn):n,i);printf(*n); scanf(%s%s%s,stu.adress,stu.QQ,stu.tel); fprintf(fp,%s %s %s %s %sn,stu.num,,stu.adress,stu.QQ,stu.tel); fclose(fp);void show() / 好友信息顯示函數(shù)haoyou stuN; int i,n; n=reads(stu); printf(*所有的好友信息如下*nn);printf(
14、序號 編號 姓名 地址 QQ號 電話 n); printf(*n); for(i=0;in;i+)printf(n%3d %s %s %s %s %sn,i+1,stui.num,,stui.adress,stui.QQ,stui.tel);printf(*n); getch();void del() /*好友信息刪除函數(shù)*/haoyou stuN; char number20; int n,i,j; n=reads(stu);printf(*n); printf(請輸入要刪除信息的好友編號,按回車鍵確認(rèn):n);printf(*n); scanf(%s,number); fo
15、r(i=0;i=n)printf(沒有找到該好友信息!n);return;elsefor(j=i+1;jn;j+)stuj-1=stuj;save(stu,n-1);printf(刪除成功!n);void change() /好友信息更改haoyou stuN; int n,i;char number20;printf(*n); printf(請輸入要更改信息的好友編號,按回車鍵確認(rèn):n);printf(*n); scanf(%s,number); n=reads(stu); for(i=0;i=n)printf(無此好友信息!);return;printf(*n); printf(請輸入更改
16、后好友的編號,姓名,地址,QQ號,電話,按回車鍵確認(rèn):n);printf(*n);scanf(%s%s%s%s%s,stui.num,,stui.adress,stui.QQ,stui.tel);save(stu,n);void query() / 按編號對好友信息查詢 haoyou stuN; char number20; int i,n; n=reads(stu);printf(*n); printf(請輸入待查詢的好友編號,按回車鍵確認(rèn):n);printf(*n); scanf(%s,number); for(i=0;i=n)printf(沒有找到該好友信息!n);re
17、turn;elseprintf(*n);printf( 編號 姓名 地址 QQ號 電話 n);printf(*n);printf(n%s %s %s %s %sn,stui.num,,stui.adress,stui.QQ,stui.tel);printf(*n);7 調(diào)試分析1 在測試刪除QQ聯(lián)系人函數(shù)時發(fā)現(xiàn)無論通訊錄中現(xiàn)存多少條記錄只 要刪除一條測試中的問題舉例:之后,通訊錄就會被清空,經(jīng)過檢查發(fā)現(xiàn)是刪除函數(shù)中的條件控制設(shè)置有錯,導(dǎo)致只要一刪除一個聯(lián)系人就會事頭結(jié)點(diǎn)與尾結(jié)點(diǎn)指向同一個,導(dǎo)致再顯示聯(lián)系人時顯示無聯(lián)系人。經(jīng)過調(diào)整已 處理好。算法改進(jìn)設(shè)想舉例:2 程序中還有很多
18、地方不能很好的模擬QQ通訊錄的功能,比如在增肌聯(lián)系人時,不管原來新聯(lián)系人姓名是否已存在,都會被加入通訊錄,這樣一來就有可能重復(fù)記錄。此外在查找聯(lián)系人時只要查找到一個合法記錄就會中斷查找操作,如此有可能導(dǎo)致記錄的漏查。結(jié)合以上兩點(diǎn)應(yīng)優(yōu)化增加查找聯(lián)系人算法,在存入之間進(jìn)行防重判斷。8 測試結(jié)果1 測試數(shù)據(jù)舉例編號姓名地址QQ號手機(jī)號1duanbaohenan16338837683882xiaominghenan37838282832638483xiaowanghenan672847844748473822 按如下順序進(jìn)行測試: 1) 顯示各個功能所對應(yīng)的建 2) 添加好友信息 3) 顯示好友信息
19、4) 刪除好友信息 5) 更改好友信息 6) 查詢好友信息 7) 退出系統(tǒng)3 按照如上提供的測試步驟得出以下結(jié)果運(yùn)行圖: 1) 顯示各個功能所對應(yīng)的建如圖1 圖1 運(yùn)行實(shí)例2) 添加好友信息如圖2 圖2 運(yùn)行實(shí)例3) 顯示好友信息如圖3 圖3 運(yùn)行實(shí)例3) 刪除好友信息如圖4 圖4 運(yùn)行實(shí)例 5) 更改好友信息如圖 圖5 運(yùn)行實(shí)例6) 查詢好友信息如圖6 圖6 運(yùn)行實(shí)實(shí)例 7) 退出系統(tǒng)如圖7 圖7 運(yùn)行實(shí)例9參考文獻(xiàn)1嚴(yán)蔚敏,數(shù)據(jù)結(jié)構(gòu)(C語言版) 清華大學(xué)出版社2譚浩強(qiáng).C語言程序設(shè)計(第三版) 清華大學(xué)出版社3Peter Van Der Linden ,C專家編程,人民郵電出版社4Kenneth A.Reek C和指針 ,人民郵電出版社10心得體會通過這次數(shù)據(jù)結(jié)構(gòu)實(shí)踐作業(yè),我更深刻的體會到了C語言的語句簡潔性、緊湊性,將文件與結(jié)構(gòu)體結(jié)合可以實(shí)現(xiàn)好多功能。語言是程序的骨肉
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程借用資質(zhì)協(xié)議范本
- 狙擊精英4 1.03版switch大氣層系統(tǒng)游戲修改代碼
- 年產(chǎn)100萬平方米玻璃生產(chǎn)加工基地建設(shè)項目環(huán)境影響報告表環(huán)評報告表
- 鄧州鋼結(jié)構(gòu)彩鋼棚施工方案
- 門店返利活動方案
- 2025北京石景山七年級(上)期末生物(教師版)
- 漢中庭院假山工程施工方案
- 四層樓房基礎(chǔ)施工方案
- 2024-2025學(xué)年下學(xué)期高二語文第三單元B卷
- 現(xiàn)代林木樟子松苗木的繁育造林技術(shù)與病蟲害防治措施探討
- 山地回憶-完整版獲獎?wù)n件
- 吸煙有害健康-完整版PPT
- 《結(jié)構(gòu)力學(xué)(2)》課程教學(xué)大綱(本科)
- 《中華傳統(tǒng)文化》第1課-炎黃始-華夏悠遠(yuǎn)教學(xué)課件
- 國家體育館QC成果之提高鋼結(jié)構(gòu)現(xiàn)場焊縫的一次合格率
- 隊列訓(xùn)練教程ppt課件(PPT 86頁)
- 國際商務(wù)(International Business)英文全套完整課件
- 《麻精藥品培訓(xùn)》ppt課件
- JMP操作簡要培訓(xùn)
- 立方智能停車場管理系統(tǒng)解決方案(課堂PPT)
- 員工廉潔協(xié)議
評論
0/150
提交評論