C語言課程設(shè)計報告_第1頁
C語言課程設(shè)計報告_第2頁
C語言課程設(shè)計報告_第3頁
C語言課程設(shè)計報告_第4頁
C語言課程設(shè)計報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言課程設(shè)計論文學(xué)生姓名:陳丹學(xué)生學(xué)號:所在班級:信息與計算科學(xué)一班任課教師:馬老師通訊錄管理系統(tǒng)【設(shè)計目的】設(shè)計“通訊錄管理系統(tǒng)”使其具有數(shù)據(jù)插入、修改、刪除、顯示和查詢等功能。(1) 數(shù)據(jù)包括:人名、工作單位、電話號碼和E-mail地址。(2) 可對記錄中的姓名和電話號碼進(jìn)行修改。(3) 可增加或刪除記錄。(4) 可顯示所有保存的記錄。(5) 可按人名或電話號碼進(jìn)行查詢?!驹O(shè)計思路】根據(jù)要求,電話簿數(shù)據(jù)以文本文件存放在文件中,故需要提供文件的輸入、輸出等操作;還需要保存記錄以進(jìn)行修改, 刪除,查找等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇?!究傮w設(shè)計】圖1系統(tǒng)功能模塊圖【詳細(xì)設(shè)計】1

2、.主函數(shù)主函數(shù)設(shè)計要求簡潔,只提供部分提示語和函數(shù)的調(diào)用【程序】Void menu()int n, w1;void enter();do圖2.主函數(shù)流程圖/*主界面*/void add(); void modify();void browse();void deleter。;void search。;puts("t*菜單 *所坨");puts("tttt1.puts("tttt2.puts("tttt3.puts("tttt4.puts("tttt5.puts("tttt6.puts("tttt7.新建聯(lián)

3、系人");添加聯(lián)系人");修改 刪除 瀏覽 查找 退出) ) )通訊錄 *tn");puts("nnt* *printf("請選擇服務(wù)種類(1-7) : bb");scanf("%d",&n);if(n<1|n>7)w1=1;getchar();else w1=0;while(w1=1);switch(n)/*輸入模塊*/ /*添加模塊*/case 1: enter(); break;case 2: add(); break;附錄:源代碼#define N 50#include<stdio

4、.h>#include<string.h>struct peoplechar name20; char company50; char num15; char mail20;peopN;void printf_face() printf("nt 姓名 t 單位 t 電話號碼t 郵箱 n"); void printf_one(int i) printf("t%st%st%st%sn",,pany,peopi.num,peopi.mail); void printf_n(int n) int j;for

5、(j=0;j<n;j+) if(j!=0)&&(j%10=0) printf("nnPress any key to continue.:"); getchar(); puts("nn"); printf_one(j); getchar();int load() FILE *fp;int i;if(fp=fopen("file","rb")=NULL) printf("nCan not open filen");exit(0);for(i=0;!feof(fp);i+)fr

6、ead(&peopi,sizeof(struct people),1,fp);fclose(fp);return(i-1);int modify_data(int i,int n) int c,w1; void input(int i); void menu();do puts("n 修改選項=>nn1).姓名2).單位3).電話號碼4).郵箱5).所有數(shù)據(jù)6).取消并返回");printf(" 請選擇 ?: bb");scanf("%d",&c);if(c>6|c<1) puts("nCh

7、oose error! Please again!"); getchar();while(c>6|c<1);do switch(c) case 1: printf("name:"); scanf("%s",); break;case 2: printf("company:"); scanf("%s",pany); break;case 3: printf("number:"); scanf("%s",peopi.nu

8、m); break;case 4: printf("e-mail:"); scanf("%s",peopi.mail); break;case 5: input(i); break;case 6: menu();puts("nNow:n");printf_face(); printf_one(i);printf("n 確定 ?nnt1). 是 2).不,重新修改3).返回不保存 bb");scanf("%d",&w1);while(w1=2);return(w1);void input(

9、int i) printf_face(); printf("t");scanf("%st%st%st%s",,pany,peopi.num,peopi.mail); void save(int n) FILE *fp; int i;if(fp=fopen("file","wb")=NULL) printf("nCan not open filen");exit(0);for(i=0;i<n;i+)if(0!='0')

10、if(fwrite(&peopi,sizeof(struct people),1,fp)!=1)printf("file write errorn");fclose(fp);void printf_back()int w; void browse(); void menu();printf("nntA_A.Successful. A_Ann");printf("What do you want to do?nnt1). 瀏覽所有t2). 返回 : bb");scanf("%d",&w);if(w=1

11、) browse();else menu();void main()void menu();menu();void menu()int n, w1;void enter(); void add(); void modify(); void browse(); void deleter(); void search(); doputs("t*菜單 * ")puts("tt*1.新建聯(lián)系人*");puts("tt*2.添加聯(lián)系人*");puts("tt*3.修改 *");puts("tt*4.刪除 *&quo

12、t;);puts("tt*5.瀏覽 *");puts("tt*6.查找 *");puts("tt*7.退出 *");puts("nnt*通訊錄* ");printf(" 請選擇服務(wù)種類(1-7) : bb");scanf("%d",&n);if(n<1|n>7)w1=1;getchar();else w1=0;while(w1=1);switch(n)case 1: enter(); break;case 2: add(); break;case 3: m

13、odify(); break;case 4: deleter(); break;case 5: browse(); break;case 6: search(); break;case 7: exit(0);void enter() int i,n;printf("How many people(0-%d)?:",N-1);scanf("%d",&n);printf(" 請輸入數(shù)據(jù):n");for(i=0;i<n;i+)printf("n 輸入第 %d 個記錄.n",i+1);input(i);if(

14、i!=0) save(n);printf_back();void add() int i,n,k,t;n=load();printf("How many people do you want to add(0-%d)?:",N-n-1);scanf("%d",&t); k=n+t;for(i=n;i<k;i+) printf("n 輸入第 %d 個記錄 .n",i-n+1); input(i); save(k); printf_back();void modify() struct people s; int i,n,k

15、,w0=1,w1,w2=0;n=load();do k=-1; printf_face(); printf_n(n);do printf("nnEnter name that you want to modify!nName:");scanf("%s",);for(i=0;i<n;i+)if(strcmp(,)=0) k=i; s=peopi;if(k=-1) printf("nn 沒有記錄請重新輸入!");while(k=-1);printf_face(); printf_one(k

16、);w1=modify_data(k,n);if(w1=1) printf("ntA_A.Successful A_A.nn是否繼續(xù)?nnt1).是 2).保存返回 t bb");scanf("%d",&w0);w2=1;elsew0=0;if(w2=0) peopk=s;if(w0!=1)&&(w2=1) save(n);while(w0=1); menu();void browse() int n;n=load();printf_face(); printf_n(n);printf("t 共有 %d 記錄 .n&qu

17、ot;,n);printf("nPress any key to back.");getchar();menu();void search() int w0,k,i,n,w1,w2; struct people s; n=load();doprintf(" 請選擇查找類別:1).姓名2).電話號碼 bb");scanf("%d",&w1); if(w1<1|w1>2) printf(" 輸入錯誤! 請重新輸入!n"); w2=1;while(w2=1);if(w1=1)do k=-1;do pr

18、intf("nnEnter name that tou want to search!nName:");scanf("%s",);for(i=0;i<n;i+)if(strcmp(,)=0) k=i; s=peopi;if(k=-1) printf("nn 沒有記錄請重新輸入!");while(k=-1);printf_face(); printf_one(k);printf("nWhat do you want to do?nt1). 繼續(xù) 2).返回菜單 bb"

19、);scanf("%d",&w0);while(w0=1);menu();else do k=-1;do printf("nnEnter number that tou want to search!nNum:");scanf("%s",s.num);for(i=0;i<n;i+)if(strcmp(s.num,peopi.num)=0) k=i; s=peopi;if(k=-1) printf("nn 沒有記錄請重新輸入!");while(k=-1);printf_face(); printf_on

20、e(k);printf("nWhat do you want to do?nt1). 繼續(xù) 2).返回菜單 bb");scanf("%d",&w0);while(w0=1);menu();void deleter()struct people s; int i,n,k,w0,w1;n=load();do k=-1; printf_face(); printf_n(n);do printf("nnEnter name that you want to delete!nName:");scanf("%s",s.

21、name);for(i=0;i<n;i+)if(strcmp(,)=0) k=i; s=peopi;if(k=-1) printf("nn 沒有記錄請重新輸入!");while(k=-1);printf_face(); printf_one(k);printf("n 確定?nt1).是 2).返回 bb");scanf("%d",&w0);if(w0=1) 0='0' save(n); else break;printf("ntA_A.SuccessfulA_A.n");printf("What do you want to do?nt1).繼續(xù) 2).返回 bb");scanf("%d",&w1);while(w1=1);menu();【設(shè)計體

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論