




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言課程設(shè)計(jì)論文學(xué)生姓名:幽1學(xué)生學(xué)號(hào):所在班級(jí):信息與計(jì)算科學(xué)一班任課教師:馬老師通訊錄治理系統(tǒng)【設(shè)計(jì)目的】設(shè)計(jì)“通訊錄治理系統(tǒng)使其具有數(shù)據(jù)插入、修改、刪除、顯示和查詢等功能.1數(shù)據(jù)包括:人名、工作單位、 號(hào)和E-mail地址.2可對(duì)記錄中的姓名和 號(hào)進(jìn)行修改.3可增加或刪除記錄.4可顯示所有保存的記錄.5可按人名或 號(hào)進(jìn)行查洵.【設(shè)計(jì)思路】根據(jù)要求, 簿數(shù)據(jù)以文本文件存放在文件中,故需要提供文件的輸入、輸出等操作:還 需要保存記錄以進(jìn)行修改,刪除,查找等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇.【總體設(shè)計(jì)】圖1系統(tǒng)功能模塊圖【詳細(xì)設(shè)計(jì)】1.主函數(shù)主函數(shù)設(shè)計(jì)要求簡(jiǎn)潔,只提供局部提示語和
2、函數(shù)的調(diào)用【程序】圖2.主函數(shù)流程圖Void menu()/*主界而/int n, v/1;void enter(); void add(); void modify();void browse(); void deleter(); voidsearch();dopjji* Uj; *p|HJ.puts(Mtttt1.新建聯(lián)系人);puts ("tttt2 .添加聯(lián)系人");puts(Mtttt3.修改);puts("tttt4.刪除);puts("tttt5.瀏覽“);puts(tttt6.查找);puts(Mtttt7.退出);puts(Mnnt*
3、訊錄W);printfC請(qǐng)選擇效勞種類(17) : bbM);scanf(,%d,&n);if(n<11 |n>7)v/1=1;getchar();) else vv1=0;v/hile(v/1=1);sv/itch(n)/輸入模塊/(case 1: enter(); break;case 2: add(); break;添加模塊*/附錄:源代碼define N 50#include<stdio.h>#include<string.h>struct people(char name20; char company50; char num15; cha
4、r mail20;peopN;void printf_face() printf("nt姓名t單位t 號(hào)t郵箱n"); void printf_one(int i) printf(t%st%st%st%srT,,peopi pany,peopi.num,peopi.mail); void printf_n(int n)intj;for(j=0;j<n;j+) if(j!=0)&&(j%10=0) printf(HnnPress any key to continue.:"); getchar(); putsCXnXn&qu
5、ot;);printf_one(j); getchar();int load.( FILE *fp;int i;if(fp=fopen(l,file,rb,l)=NULL) printf("nCan not open filen");exit(O);for(i=0; !feof(fp);i+)fread(&peopi,sizeof(struct people),1 ,fp);fclose(fp);return(i-l);int niodify_data(int i,int n) int c,v/1; void input(int i); void menu();do
6、 putsf'Xn修改選項(xiàng)=>nn 1). 2).單位3). 號(hào)4). 5).所有數(shù)據(jù)6).取消并 返回);pnntf(,請(qǐng)選擇?: bb");scanf(d,&c);if(c>6| |c<1) (putsfXnChoose error! Please again!1'); getchar();v/hile(c>6| |c<1);do( switch(c) case 1: printfCname:"); ); break;case 2: printf(''company:;
7、scanf("%s",peopi pany); break;case 3: printfCnumber:11); scanf("%<',peopi.num); break;case 4: printf(M:"); scanf(n%sM,peopi.mail); break;case 5: input(i); break;case 6: menu();puts(nNow:n");printf_face(); printf_one(i);printf("n確定Annt1).是2).不,重新修改3).返回不保存bb"
8、);scanf (H%dM,&v/1);v/hile(v/1=2);retum(wl);void input(int i) pnntf_face(); printf(l,t1');scanf(st%st%st%s“,,peopi pany,peopi.num,peopi.mail); void save(int n)( FILE *fp; int i;if(fp=fopen(wfileVbr,)=NULL) printffXnCan not open filenH);exit(O);)for(i=0;i<n;i+)if(peopi. nanie0 !=
9、'0)if(fvrite(&peopi,sizeof(struct people),1,fp)!=1)printf(file write errornM);fclose(fp);void printf_back()int w; void browse(); void menu();printf(,nntA_A.Successful. A_AnnM);printf("What do you want to do?nnt1).瀏覽所有t2).返回:bb");scanfif(w=1) brov/se();else menu();void main()void me
10、nu();menu();void menu()int n, v/1;void enter(); void add(); void modify(); void browse(); void deleter(); void search();dopUts't/mumm菜單 * )pUts(tt*mmm2 添加I聯(lián) 系 y*«»puts(Mtt*3.>*» pputs(Htt*M.刪|J*n j.puts(Htt*5.yiiJ*'» J.pUts(ttmmm*6j*n j.puts(tt"55f"7 .退t| * J
11、.pjj«pp*j|g |_L* )printf(請(qǐng)選擇效勞種類(17) : bbM);scanf(d,&n);if(n<11 |n>7)(v/1=1;getchar(); else <v1 =0;v/hile(v/1=1);svzitch(n)case 1: enter(); break;case 2: add(); break;case 3: modify(); break;case 4: deleter(); break;case 5: brov/se(); break;case 6: search(); break;case 7: exit(O);v
12、oid enter()int i,n;printf("How many people(0d)?:",N1);scanf(垸d'&n);printf("請(qǐng)輸入數(shù)據(jù):n");for(i=0;i<n;i+)(printf("n 輸入第 %d 個(gè)記錄.n",i+1);input ;)if(i!=0) save(n);printf_back();void add()int i,n,k,t;n=load();pnntf(HHov/ many people do you v/ant to add(0-%d)?:",N
13、-n-1);scanf (垸d'&t);k=n+t;for(i=n;i<k;i+)( printf('n 輸入第 d 個(gè)記錄.n",i-n+1); input(i); save(k); printf_back();void modify() struct people s; int i,n,k,v/0=1,v/1,v/2=0;n=load();dok=-1; printf_face(); printf_n(n);do printf(AnnEnter name that you v/ant to modify!nName:M);scanf(s,
14、);for(i=0;i<n;i+)if(strcmp(,)=0) (k=i; s=peopi;)if(k=-1) printf("nn沒有記錄請(qǐng)重新輸入!");v/hile(k=-1);printf_face(); printf_one(k);v/1=modify_data(k,n);if(v/1=1) pnntf("ntA_A.Successful A_A.nn 是否繼續(xù)?nnt1).是 2).保存返回 t bb);scanf(d,&vO); v/2=1;)elsev/0=0; if(v/2=O) peopk=s;)
15、if(v/0!=1 )&&(v/2=1) save(n);v/hile(v/0=1); menu();void brov/se()int n;n=load();pri n tf_f ace ();pri n tf_n (n);printf("t 共有 %d 記錄.n",n);pnntf(nnPress any key to back.);getchar();menu();void search() int w0,k,i,n,w1,w2; struct people s; n=load();doprintff請(qǐng)選擇查找類別:1). 2). 號(hào) bb"
16、);scanf(d,&v1); if(v1<11 |v/1>2) printf(H輸入錯(cuò)誤!請(qǐng)重新輸入!n"); v/2=1;v/hile(v/2=1);if(w1=1)dok=-1;do printffAnXnEnter name that tou v/ant to search!nName:");scanf(s,);for(i=0;i<n;i+)if(strcmp(,)=O) (k=i; s=peopi;)if(k=-1) printfC'nn沒有記錄請(qǐng)重新輸入!");v/hile(
17、k=-1);printf_face(); printf_one(k);pnntf("nV/hat do you v/ant to do?nt1).繼續(xù)2).返回菜單bb“);scanf("%d",&wO);v/hile(v/0=1);menu();else dok=-1;do pnntf(nnnEnter number that tou v/ant to search!nNum:");scanf(s,s.num);for(i=0;i<n;i+)if(strcmp(s.num,peop1.num)=0) k=i; s=peopi;)if(k=
18、-1) pnntf(nnn沒有記錄請(qǐng)重新輸入!);v/hile(k=-1);printf_face(); printf_one(k);printf("nWhat do you v/ant to do?nt1).繼續(xù)2).返回菜單bbu);scanf(d",&wO);v/hile(v/0=1);menu();)void deleter()(struct people s; int i,n,k,v/0,v/1;n=load();dok=-1; printf_face(); printf_n(n);do printf(AnnEnter name that you v/an
19、t to delete!nName:M);scanf(s,);for(i=0;i<n;i+)if(strcmp(s. name,)=O) (k=i; s=peopi;)if(k=-1) printf("nn沒有記錄清重新輸入!");v/hile(k=-1);printf_face(); printf_one(k);printf("n 確定?nt1).是 2).返回bb");scanf(,l%dH,&vO);if(w0=1) 0='0' save(n); else break;printf(,ntA_A. SuccessfulA_A An11);pnntf(HWhat do you v/ant to do?nt1).繼續(xù)2).返回bb);scanf(d,&v1);v/hile(v/1=1);menu();【設(shè)計(jì)體會(huì)】通過為期一周的課程設(shè)計(jì),我們對(duì)?C語言?這門課程有了更深一步的了解.它是計(jì)算機(jī)程 序設(shè)計(jì)的重要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提供材料合同范本
- 租賃合同范本押金
- 5風(fēng)兒輕輕吹(教學(xué)設(shè)計(jì))-2023-2024學(xué)年道德與法治一年級(jí)下冊(cè)統(tǒng)編版
- 6 綜合與實(shí)踐(教學(xué)設(shè)計(jì))-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 煤炭訂貨合同范本
- 2024-2025學(xué)年高中英語選修課趣味英語教學(xué)設(shè)計(jì)
- 3《我們班 他們班》第二課時(shí)(教學(xué)設(shè)計(jì))-部編版道德與法治四年級(jí)上冊(cè)
- 9 這些是大家的(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版道德與法治二年級(jí)上冊(cè)
- 噴泉采購合同范本
- 擔(dān)保公司融資合同范本
- 律師事務(wù)所案件管理手冊(cè)
- 《節(jié)水評(píng)價(jià)技術(shù)導(dǎo)則》
- 簡(jiǎn)單酒店裝修合同書范本(30篇)
- 安全、環(huán)境、職業(yè)健康安全目標(biāo)、指標(biāo)及管理方案
- 《地理信息系統(tǒng)GIS》全套教學(xué)課件
- 技術(shù)序列學(xué)習(xí)地圖(2023年)
- 2024年高考政治考試題海南卷及參考答案
- 絕經(jīng)后無癥狀子宮內(nèi)膜增厚診療中國(guó)專家共識(shí)(2024年版)解讀
- 15萬噸水廠安裝工程施工組織設(shè)計(jì)方案
- 結(jié)婚轉(zhuǎn)戶口委托書
- 超級(jí)蘆竹種植項(xiàng)目可行性研究報(bào)告-具有高經(jīng)濟(jì)價(jià)值和廣泛應(yīng)用前景
評(píng)論
0/150
提交評(píng)論