版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 YangtzeUniversityCollege of Arts and Science(課程設(shè)計(jì)報(bào)告)學(xué) 部:理工學(xué)部專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí):姓 名:學(xué) 號(hào):課程名稱: C語(yǔ)言課程設(shè)計(jì) 指導(dǎo)教師:?jiǎn)J明輝摘要:紙質(zhì)的通訊錄已經(jīng)不能滿足我們的要求,更新麻煩,查詢困難等缺點(diǎn)是紙質(zhì)通訊錄所不能克服的。在此情況下,迫切需要一個(gè)電子版的通訊錄來(lái)滿足我們的需求。這次課程設(shè)計(jì)的通訊錄采用了二叉搜索樹這一數(shù)據(jù)結(jié)構(gòu),并完成了添加、查找、刪除、保存等功能。在TC2.0平臺(tái)下實(shí)現(xiàn)了人機(jī)交互界面上的圖形化設(shè)計(jì),其中菜單的顯示為逐楨動(dòng)畫,在等待用戶按鍵輸入時(shí)設(shè)計(jì)了友好的系統(tǒng)。關(guān)鍵字:數(shù)組,結(jié)構(gòu)體,指針,函
2、數(shù),文件 summary:paper's address book can't meet our requirements, update the trouble, inquires the difficulty is the disadvantages such as paper address book can't overcome. In this case, the urgent need to a version of the address book to meet our needs. The course design of the address bo
3、ok adopted binary search trees the data structure, and completed add, delete, save search, etc. Function. In TC2.0 the workbench realized on the man-machine interface graphical design, including the menu that by standard for animation, waiting for the user input buttons when the friendly system desi
4、gn.Key words:arrays, structures, pointer, function, file目錄一、設(shè)計(jì)題目與要求1二、概要設(shè)計(jì)2三、詳細(xì)設(shè)計(jì)23.1 通訊錄:23.2 工作流程圖:4四、源程序代碼8五、用戶手冊(cè)16六、課程設(shè)計(jì)總結(jié)和心得體會(huì)16七、參考文獻(xiàn)16一、設(shè)計(jì)題目與要求:建立通訊錄信息,信息至少包含編號(hào)、年齡、通訊地址、電子等;能夠提供添加、刪除和修改通訊錄信息的功能;能夠提供安不同方式查詢的功能;如按或年齡、等查詢;將通訊錄保存在文件中;能夠按表格方式輸出通訊錄信息。系統(tǒng)功能需求分析:主要包含一下多種功能:添加:添加通訊錄記錄顯示:顯示通訊錄記錄刪除:刪除通訊錄
5、記錄查詢:查詢通訊錄記錄修改:修改通訊錄記錄保存:將信息保存到文件本文檔,極大的方便了用戶的使用。 二、概要設(shè)計(jì)系統(tǒng)功能模塊圖:添加:可以添加通訊錄記錄,依次輸入編號(hào)、年齡、通訊地址、電子后,會(huì)提示是否繼續(xù)添加。顯示:可以以表格形式輸出所有通訊錄里的記錄。刪除:輸入欲刪除的那個(gè)人的名字后,會(huì)自動(dòng)刪除他(她)的記錄容。查詢:可以選擇用、地址三種方式查詢。修改:輸入欲修改的那個(gè)人的名字后,再依次輸入編號(hào)、年齡、通訊地址、電子即可完成修改。保存:輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件。運(yùn)行所需環(huán)境:win7與以下各版本windows,visual C+6.0。三、詳細(xì)設(shè)計(jì)3.1 通訊錄
6、:typedef struct char score; /*編號(hào)*/char name10; /*/ char num15; /*/ char email20;/*/char age8;/*年齡*/char adds20;/*住址*/Person;void main() /*主函數(shù)*/ int n=0; for(;) switch(menu_select() case 1: printf("nt添加記錄到通訊錄n"); /*添加記錄*/ n=Input(pe,n); break; case 2: printf("nttt 通訊錄記錄表n"); /*顯示記
7、錄*/ Display(pe,n); break;case 3: printf("nt從通訊錄中刪除記錄n"); n=Delete_a_record(pe,n); /*刪除記錄*/ printf("t"); system("pause"); break; case 4: printf("nt在通訊錄中查找記錄n"); Query_a_record(pe,n); /*查找記錄*/ printf("t"); system("pause"); break;case 5: print
8、f("nt修改通訊錄中的記錄n"); Change(pe,n); /*修改數(shù)據(jù)*/ printf("t"); system("pause"); break; case 6: printf("nt保存功能n"); WritetoText(pe,n); /*保存數(shù)據(jù)*/ printf("t"); system("pause"); break; case 0: printf("ntt使用,再見!n"); /*結(jié)束程序*/ printf("ntt&quo
9、t;); system("pause"); exit(0); 3.2 工作流程圖:添加:添加通訊錄記錄顯示:顯示通訊錄記錄刪除:刪除通訊錄記錄查詢:查詢通訊錄記錄先選擇查詢方式,以查詢方式為例修改:修改通訊錄記錄四、源程序代碼#include<stdio.h> #include<stdlib.h>#include<string.h> typedef struct char score; /*編號(hào)*/char name10; /*/ char num15; /*/ char email20;/*/char age8;/*年齡*/char a
10、dds20;/*住址*/Person; Person pe80; int menu_select() char c; do system("cls"); printf("tt *通訊錄* n"); printf("ttn"); printf("tt 1. 添加記錄 n"); printf("tt 2. 顯示記錄 n"); printf("tt 3. 刪除記錄 n"); printf("tt 4. 查詢記錄 n"); printf("tt 5. 修
11、改記錄 n"); printf("tt 6. 保存記錄 n");printf("tt 0. 退出程序 n"); printf("ttn"); printf("tt請(qǐng)您選擇(0-6):"); c=getchar(); while(c<'0'|c>'6'); return(c-'0'); int Input(Person per,int n) int i=0; char sign,x10; while(sign!='n'&&a
12、mp;sign!='N') printf("t編號(hào):"); scanf("t%d",&pern+i.score); printf("t:"); scanf("t%s",pern+); printf("t年齡:"); scanf("t%s",pern+i.age);printf("t:"); scanf("t%s",pern+i.num); printf("t通訊住址:"); sca
13、nf("t%s",pern+i.adds);printf("t電子:");scanf("t%s",pern+i.email);gets(x); printf("nt是否繼續(xù)添加?(Y/N)"); scanf("t%c",&sign); i+; return(n+i); void Display(Person per,int n) int i; printf("-n"); /*格式*/ printf("編號(hào) 年齡 通訊地址 電子n"); printf
14、("-n"); for(i=1;i<n+1;i+) printf("%-5d%-8s%-6s%-13s%-15s%-15sn",peri-1.score,,peri-1.age,peri-1.num,peri-1.adds,peri-1.email); if(i>1&&i%10=0) printf("t-n"); printf("t"); system("pause"); printf("t-n"); printf("
15、;-n");system("pause"); int Delete_a_record(Person per,int n) char s20; int i=0,j; printf("t請(qǐng)輸入想刪除記錄中的名字:"); scanf("%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒(méi)有此人!n"); return(n); for(j=i;j<n-1;j+) strcpy(perj.num,per
16、j+1.num); strcpy(,perj+1.name); strcpy(perj.age,perj+1.age);strcpy(perj.adds,perj+1.adds);strcpy(perj.email,perj+1.email);perj.score=perj+1.score; printf("ttt已經(jīng)成功刪除!n"); return(n-1); void Query_a_record(Person per,int n) int m;printf("tn請(qǐng)選擇查詢方式:n"); printf("tn"
17、); printf("t1- n"); printf("t2- n"); printf("t3-地址 n"); printf("t4-返回 n"); printf("tn"); printf("請(qǐng)選擇:"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3&&m!=4) printf("輸入錯(cuò)誤,請(qǐng)重新選擇:");scanf("%d"
18、;,&m);if(m=1)char s20; int i=0; printf("t請(qǐng)輸入想查詢的:"); scanf("t%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒(méi)有此人!n"); return; printf("t此人編號(hào): %dn",peri.score);printf("t此人年齡: %sn",peri.age); printf("t: %sn"
19、,peri.num); printf("t通訊地址: %sn",peri.adds);printf("t電子: %sn",peri.email); ;if(m=2)char s20; int i=0; printf("t請(qǐng)輸入想查詢的:"); scanf("t%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒(méi)有此人!n"); return; printf("t此人編號(hào): %dn&
20、quot;,peri.score);printf("t此人: %sn",);printf("t此人年齡: %sn",peri.age); printf("t通訊地址: %sn",peri.adds);printf("t電子: %sn",peri.email); ;if(m=3)char s20; int i=0; printf("t請(qǐng)輸入想查詢的地址:"); scanf("t%s",s); while(strcmp(peri.adds,s)!=0&&
21、amp;i<n) i+; if(i=n) printf("t通訊錄中沒(méi)有此人!n"); return; printf("t此人編號(hào): %dn",peri.score);printf("t此人: %sn",);printf("t此人年齡: %sn",peri.age); printf("t: %sn",peri.num); printf("t電子: %sn",peri.email); ;void Change(Person per,int n) char
22、 s20; int i=0; printf("t請(qǐng)輸入想修改的記錄中的名字:"); scanf("%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒(méi)有此人!n"); return; printf("t編號(hào):"); scanf("t%d",&peri.score); printf("t:"); scanf("t%s",);
23、printf("t年齡:"); scanf("t%s",peri.age);printf("t:"); scanf("t%s",peri.num); printf("t通訊住址:"); scanf("t%s",peri.adds);printf("t電子:");scanf("t%s",peri.email);printf("t修改成功!");void WritetoText(Person per,int n) int
24、 i=0; FILE *fp; /*定義文件指針*/ char filename20; /*定義文件名*/ printf("t保存到文件n"); /*輸入文件名*/ printf("t請(qǐng)輸入所保存的文件名:"); scanf("t%s",filename); if(fp=fopen(filename,"w")=NULL) printf("t無(wú)法打開文件n"); system("pause"); return; fprintf(fp,"*通訊錄*n");fp
25、rintf(fp,"編號(hào) 年齡 通訊地址 電子n");fprintf(fp,"-n");while(i<n) fprintf(fp,"%-3dt%-6st%-3st%-13st%-20st%-20sn",peri.score,,peri.age,peri.num,peri.adds,peri.email); i+; fprintf(fp,"-n");fprintf(fp,"*共有%d條記錄*n",n); fclose(fp); /*關(guān)閉文件*/ printf("
26、保存成功!n"); void main() /*主函數(shù)*/ int n=0; for(;) switch(menu_select() case 1: printf("nt添加記錄到通訊錄n"); /*添加記錄*/ n=Input(pe,n); break; case 2: printf("nttt 通訊錄記錄表n"); /*顯示記錄*/ Display(pe,n); break;case 3: printf("nt從通訊錄中刪除記錄n"); n=Delete_a_record(pe,n); /*刪除記錄*/ printf("t"); system("pause"); break; case 4: printf("nt在通訊錄中查找記錄n"); Query_a_record(pe,n); /*查找記錄*/ printf("t"); system("pause&q
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型農(nóng)村宅基地使用權(quán)轉(zhuǎn)讓合同范本
- 二零二五年度噴漆作業(yè)場(chǎng)所職業(yè)健康監(jiān)護(hù)與疾病預(yù)防合同
- 二零二五年度企業(yè)VI系統(tǒng)全案定制合同3篇
- 二零二五年度戶外噴泉節(jié)能改造專項(xiàng)合同
- 二零二五年度土地整治土石方運(yùn)輸及土壤改良合同6篇
- 2025年度智能車展合作項(xiàng)目合作協(xié)議書范本4篇
- 2025版中學(xué)校園食品安全供應(yīng)與配送合作協(xié)議3篇
- 二零二五年度工業(yè)用地土地廠房轉(zhuǎn)讓與產(chǎn)業(yè)升級(jí)合同
- 二零二五年度農(nóng)產(chǎn)品供應(yīng)鏈合作協(xié)議書2篇
- 二零二五年度醫(yī)療保健機(jī)構(gòu)醫(yī)護(hù)人員聘用合同范本4篇
- 安全常識(shí)課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 小王子-英文原版
- 新版中國(guó)食物成分表
- 2024年山東省青島市中考生物試題(含答案)
- 河道綜合治理工程技術(shù)投標(biāo)文件
- 專題24 短文填空 選詞填空 2024年中考英語(yǔ)真題分類匯編
- 再生障礙性貧血課件
- 產(chǎn)后抑郁癥的護(hù)理查房
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 電能質(zhì)量與安全課件
評(píng)論
0/150
提交評(píng)論