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頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 信息科學(xué)與工程學(xué)院課程設(shè)計報告書課程名稱: c程序課程設(shè)計 班 級: 自動化2010級1002班 學(xué) 號: 201004134061 課程設(shè)計報告書(一) 需求分析 設(shè)計題目:通訊錄管理系統(tǒng) 設(shè)計要求:1.建立通訊錄信息,信息至少包含編號、姓名、年齡、電話、通訊地址、電子郵箱等;2.能夠提供添加、刪除和修改通訊錄信息的功能,并給出確認是否保存或刪除記錄的提示信息;3.能夠提供按姓名或電話等查詢并顯示相應(yīng)記錄信息;4.將通訊錄保存在文件中;5.能夠按表格方式輸出通訊錄信息。系統(tǒng)功能需求分析: 包括添加,顯示,查詢,修改,刪除,保存,退出等功能(二)概要設(shè)計 整體設(shè)計框架:通訊錄添加顯示查詢修改

2、刪除保存退出(三)詳細設(shè)計 主要功能模塊的算法設(shè)計思路及對應(yīng)的工作流程圖: 1添加模塊: 2.顯示模塊: 3查詢模塊4. 修改模塊 5. 刪除模塊6. 保存模塊 (四)主要源程序代碼#include #include #include #include 控制臺輸入輸出struct contacks 定義通訊錄結(jié)構(gòu)體char name100; char num100; char sex100; char age100; char tel100; char address100; char e_mail100; con100;int b=0;void add(); 聲明添加函數(shù)void show(

3、); 聲明顯示函數(shù)void search(); 聲明查詢函數(shù)void correct(); 聲明修改函數(shù)void del(); 聲明刪除函數(shù) void save(); 聲明保存函數(shù)void main() 主函數(shù)輸出選擇菜單system(cls); int a; char i=1;while(a!=0)printf(tn);printf(t n);printf(t n);printf(t 歡迎使用通信錄管理系統(tǒng) n);printf(t n);printf(t n);printf(t no.1 添加通信錄信息 n);printf(t n);printf(t no.2 顯示通信錄信息 n);prin

4、tf(t n);printf(t no.3 查詢通信錄信息 n);printf(t n);printf(t no.4 修改通信錄信息 n);printf(t n);printf(t no.5 刪除通訊錄信息 n);printf(t n);printf(t no.6 保存通訊錄 n);printf(t n);printf(t no.0 退出系統(tǒng) n);printf(t n);printf(t n);printf(tn);printf(n 請選擇(0-6):);scanf(%d, &a);switch(a)case 0:exit(0);break;case 1:add(); break;case

5、2:show();break;case 3:search(); break;case 4:correct(); break;case 5:del();break;case 6:save();break;default:printf( 您的輸入有誤!n);i=getchar();void add() 定義添加函數(shù)char ch100;system(cls);printf(n 請輸入相關(guān)聯(lián)系人的信息:n);printf(n 姓名: );scanf(%s,);printf(n 編號:);scanf(%s,conb.num);printf(n 性別:);scanf(%s,conb.s

6、ex);printf(n 年齡:);scanf(%s,conb.age);printf(n 電話:);scanf(%s,conb.tel);printf(n 地址:);scanf(%s,conb.address);printf(n e_mail:);scanf(%s,conb.e_mail);b+;printf(nn 您的信息輸入已完成,輸入y繼續(xù)添加,輸入任意鍵返回: );scanf(%s,ch);system(cls);if(strcmp(y,ch)=0|strcmp(y,ch)=0)add ();elsemain();void show() 定義顯示函數(shù) system(cls);int

7、i;char a100;for(i=0;ib;i+) printf(n 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%sn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); printf(nn 以上是您所輸入的信息,輸入y以表格顯示,輸入任意鍵返回:);scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)system(cls);printf(nn); printf( 姓名 編號 性別 年齡 電話 地址 電子郵件 )

8、; for(i=0;ib;i+) printf();printf( %-9s%-9s%-9s%-9s%-12s%-12s%-12s ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); printf();printf(nn 請按任意鍵返回主界面:);getch(); main(); elsemain();printf(nn 以上是您所輸入的信息,請按任意鍵返回主界面:);getch(); main(); void search() 定義查詢函數(shù)system(cls);int i,k=1;char a1

9、00;printf(nn 請輸入您想要查詢的方式:nn);printf( no.1 按姓名查找nn);printf( no.2 按編號查找nn);printf( no.3 按電話查找nn);printf( no.4 返回主菜單nn);printf(n 請輸入1-4:);scanf(%s,a);if(strcmp(a,1)=0)system(cls);printf(nn 請輸入姓名:);scanf(%s,a);for(i=0;ib;i+)if(strcmp(a,)=0)printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵

10、件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)查找,輸入任意鍵返回: );scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 對不起,您所查找的聯(lián)系人不存在,請按任意鍵返回);getch();search();else if(strcmp(a,2)=0)system(cls);printf(nn 請輸入編號:);scanf(%s,a);fo

11、r(i=0;ib;i+)if(strcmp(a,coni.num)=0)printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)查找,輸入任意鍵返回: );scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 對不起,您所查找的聯(lián)系人不存在,請

12、按任意鍵返回);getch();search();else if(strcmp(a,3)=0)system(cls);printf(nn 請輸入電話:);scanf(%s,a);for(i=0;ib;i+)if(strcmp(a,coni.tel)=0)printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)查找,輸入任意鍵返回: );scanf(%s,

13、a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 對不起,您所查找的聯(lián)系人不存在,請按任意鍵返回);getch();search();else if(strcmp(a,4)=0)system(cls);main();else printf(nn 您的輸入有誤,請按任意鍵返回);getch();search();void correct() 定義修改函數(shù) system(cls);char q100;int i,k=1;printf(nn 請輸入你想更改的聯(lián)系人的姓名、編號或電話(填寫其中一個即可):

14、);scanf(%s,q);for(i=0;ib;i+) if(strcmp(q,coni.tel)=0|strcmp(q,)=0|strcmp(q,coni.num)=0)printf(n 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(n 您想修改的是:nn);printf( no.1 姓名n);printf( no.2 編號n);printf( no.3 性

15、別n);printf( no.4 年齡n);printf( no.5 電話n);printf( no.6 地址n);printf( no.7 電子郵件n);printf(n 請輸入1-7:);scanf(%s,q);if(strcmp(q,1)=0)system(cls);printf(nn 請輸入新姓名:);scanf(%s,);system(cls);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.se

16、x,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,2)=0)system(cls);printf(nn 請輸入新編號:);scanf(%s,coni.num);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:

17、%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,2)=0)system(cls);printf(nn 請輸入新性別:);scanf(%s,coni.sex);printf(nn 聯(lián)系人信息已

18、更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,4)=0)system(cls);printf

19、(nn 請輸入新年齡:);scanf(%s,coni.age);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls)

20、;main();else if(strcmp(q,5)=0)system(cls);printf(nn 請輸入新電話:);scanf(%s,coni.tel);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strc

21、mp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,6)=0)system(cls);printf(nn 請輸入新地址:);scanf(%s,coni.address);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn

22、輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,7)=0) system(cls);printf(nn 請輸入新e_mail:);scanf(%s,coni.e_mail);system(cls);printf(nn 聯(lián)系人信息已更改成功!);printf(nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni

23、.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 輸入y繼續(xù)修改,輸入任意鍵返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else printf(nn 您的輸入有誤,請按任意鍵返回);getch();search();k=0;if(k)printf(nn 對不起,沒有找到相關(guān)聯(lián)系人的信息,是否繼續(xù)修改?nn 輸入y繼續(xù),輸入任意鍵返回: );scanf(%s,q);i

24、f(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();elsesystem(cls);main();void del() 定義刪除函數(shù) int i,j,flag=1;char q100,ch20;system(cls);printf(nn 請輸入您要刪除聯(lián)系人的姓名、編號或電話(填寫其中一個即可): ) ;scanf(%s,q);for(i=0;ib;i+)if(strcmp(q,coni.tel)=0|strcmp(q,)=0|strcmp(q,coni.num)=0) printf(nn 姓名:%sn 編號:%sn 性別:

25、%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);flag=0;break;if(flag)printf(nn 對不起,您所輸入的此聯(lián)系人不存在!n); printf(nn 輸入y繼續(xù)進行刪除操作,輸入任意鍵返回主菜單: );scanf(%s,ch);if(strcmp(y,ch)=0|strcmp(y,ch)=0) system(cls);del(); else main();printf(nn 您確定要刪除該聯(lián)系人嗎? y/n

26、 : );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,y)=0)for(j=i;j=b;j+)conj=conj+1; b-; printf(n 您已成功刪該聯(lián)系人 n);printf(n 輸入y繼續(xù)進行刪除操作,輸入任意鍵返回主菜單: );scanf(%s,ch);if(strcmp(y,ch)=0|strcmp(y,ch)=0) system(cls);del();else main();printf(n 聯(lián)系人未刪除n);printf(n 輸入y繼續(xù)進行刪除操作,輸入任意鍵返回主菜單: );scanf(%s,ch);if(strcmp(y,ch)=0

27、|strcmp(y,ch)=0) system(cls);del();else main();void save() 定義保存函數(shù) system(cls);file *fp; int i;fp=fopen(通訊錄.doc,w); if(fp=null) printf(cannot write the file.n); exit(0);for(i=0;ib;i+)fprintf(fp,nn 姓名:%sn 編號:%sn 性別:%sn 年齡:%sn 電話:%sn 地址:%sn 電子郵件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.

28、address,coni.e_mail);fprintf(fp,nn); fprintf(fp, 姓名 編號 性別 年齡 電話 地址 電子郵件 ); for(i=0;ib;i+) fprintf(fp,);fprintf(fp, %-9s%-9s%-9s%-9s%-12s%-12s%-12s ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); fprintf(fp,);fclose(fp); printf(nnn 您輸入的信息已保存!nn);printf( 按任意鍵返回主界面:);getch();

29、system(cls); main();(五)調(diào)試分析過程描述: 1. 程序開始主界面 源程序編譯完成后運行程序,就會出現(xiàn)以下界面,主菜單有7個選項,用來添加,顯示,查詢,修改,刪除,保存和退出,采用switch函數(shù)進行選擇 2. 添加模塊 輸入1即可進入添加信息界面,按照提示我們可以依次輸入姓名,編號,性別,年齡,電話,地址,以及電子郵件,采用scanf鍵盤輸入 3顯示模塊 輸入2可以進入顯示界面,我們可以看到自己輸入的信息,都是分開顯示的,這里還有一個選擇就是輸入y以表格輸出,這樣顯示會清晰很多,用戶可以依照自己的喜好選擇適合自己顯示方式,顯示模塊采用的for循環(huán)函數(shù),依次進行輸出。下面就是以表格形式輸出,簡潔明了。4.查詢模塊 查詢

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論