C語言課程設(shè)計—電話薄管理系統(tǒng)方案_第1頁
C語言課程設(shè)計—電話薄管理系統(tǒng)方案_第2頁
C語言課程設(shè)計—電話薄管理系統(tǒng)方案_第3頁
C語言課程設(shè)計—電話薄管理系統(tǒng)方案_第4頁
C語言課程設(shè)計—電話薄管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 YangtzeUniversityCollege of Arts and Science(課程設(shè)計報告)學 部:理工學部專 業(yè): 計算機科學與技術(shù) 班 級:姓 名:學 號:課程名稱: C語言課程設(shè)計 指導教師:咼明輝摘要:紙質(zhì)的通訊錄已經(jīng)不能滿足我們的要求,更新麻煩,查詢困難等缺點是紙質(zhì)通訊錄所不能克服的。在此情況下,迫切需要一個電子版的通訊錄來滿足我們的需求。這次課程設(shè)計的通訊錄采用了二叉搜索樹這一數(shù)據(jù)結(jié)構(gòu),并完成了添加、查找、刪除、保存等功能。在TC2.0平臺下實現(xiàn)了人機交互界面上的圖形化設(shè)計,其中菜單的顯示為逐楨動畫,在等待用戶按鍵輸入時設(shè)計了友好的系統(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è)計題目與要求1二、概要設(shè)計2三、詳細設(shè)計23.1 通訊錄:23.2 工作流程圖:4四、源程序代碼8五、用戶手冊16六、課程設(shè)計總結(jié)和心得體會16七、參考文獻16一、設(shè)計題目與要求:建立通訊錄信息,信息至少包含編號、年齡、通訊地址、電子等;能夠提供添加、刪除和修改通訊錄信息的功能;能夠提供安不同方式查詢的功能;如按或年齡、等查詢;將通訊錄保存在文件中;能夠按表格方式輸出通訊錄信息。系統(tǒng)功能需求分析:主要包含一下多種功能:添加:添加通訊錄記錄顯示:顯示通訊錄記錄刪除:刪除通訊錄

5、記錄查詢:查詢通訊錄記錄修改:修改通訊錄記錄保存:將信息保存到文件本文檔,極大的方便了用戶的使用。 二、概要設(shè)計系統(tǒng)功能模塊圖:添加:可以添加通訊錄記錄,依次輸入編號、年齡、通訊地址、電子后,會提示是否繼續(xù)添加。顯示:可以以表格形式輸出所有通訊錄里的記錄。刪除:輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄容。查詢:可以選擇用、地址三種方式查詢。修改:輸入欲修改的那個人的名字后,再依次輸入編號、年齡、通訊地址、電子即可完成修改。保存:輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件。運行所需環(huán)境:win7與以下各版本windows,visual C+6.0。三、詳細設(shè)計3.1 通訊錄

6、:typedef struct char score; /*編號*/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; /*編號*/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請您選擇(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編號:"); 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("編號 年齡 通訊地址 電子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請輸入想刪除記錄中的名字:"); scanf("%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒有此人!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請選擇查詢方式:n"); printf("tn"

17、); printf("t1- n"); printf("t2- n"); printf("t3-地址 n"); printf("t4-返回 n"); printf("tn"); printf("請選擇:"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3&&m!=4) printf("輸入錯誤,請重新選擇:");scanf("%d"

18、;,&m);if(m=1)char s20; int i=0; printf("t請輸入想查詢的:"); scanf("t%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒有此人!n"); return; printf("t此人編號: %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請輸入想查詢的:"); scanf("t%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒有此人!n"); return; printf("t此人編號: %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請輸入想查詢的地址:"); scanf("t%s",s); while(strcmp(peri.adds,s)!=0&&

21、amp;i<n) i+; if(i=n) printf("t通訊錄中沒有此人!n"); return; printf("t此人編號: %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請輸入想修改的記錄中的名字:"); scanf("%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t通訊錄中沒有此人!n"); return; printf("t編號:"); 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請輸入所保存的文件名:"); scanf("t%s",filename); if(fp=fopen(filename,"w")=NULL) printf("t無法打開文件n"); system("pause"); return; fprintf(fp,"*通訊錄*n");fp

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

評論

0/150

提交評論