C語言課程設(shè)計(jì) 通訊錄管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì) 通訊錄管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì) 通訊錄管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì) 通訊錄管理系統(tǒng)_第4頁
C語言課程設(shè)計(jì) 通訊錄管理系統(tǒng)_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

集團(tuán)文件發(fā)布號:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-本科生課程論文封面類別:評語對課程論文的評語:思路根據(jù)題目的要求,程序應(yīng)該采用結(jié)構(gòu)體數(shù)組和文件系統(tǒng)實(shí)現(xiàn)。應(yīng)該有動(dòng)態(tài)的存儲空間和文件輸入、輸出等操作功能;在程序中應(yīng)該包括添加、顯示、刪除、查詢數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)是全局變量MAXmeaddrphnumemail,只提供輸入,功能處理和輸出部分的函數(shù)調(diào)用ain********主函數(shù)*****************/*變量保存選擇菜單數(shù)子***************/printfntn;printfnnt***********WELCOMETOUSE!***************\n");printfnt*******************************************\n");printfnntt****Pleasemakeachoicebelow*****\n");printfntapieceofmeg");printfntallthemeg");printfntapieceofmeg");printfntapieceofmeg");printfntapieceofmeg");printfntandQuit");printfntanaddressbook");printfnnn;printft****InputYourChoice:****************\n");switchn***輸入n的在1-6之間執(zhí)行switch***/kcaseList/*顯示模塊*/kcaseDelete刪除模塊*/kd/*查詢模塊:分為名字查詢(0)和電話號碼查詢(1)*/kr/*修改模塊:分為修改名字(0)和修改電話號碼(1)*/kxitkeat*/default***輸入的n不在1-6之間執(zhí)行default***/printfnt*****************************************\n");printfntThenumshouldbe1-6!!!printfnt*****************************************\n");k}}模塊設(shè)計(jì)mail以采用字符型數(shù)組;可以采用結(jié)構(gòu)體的形式,把各信息作為結(jié)構(gòu)的成找、和刪除的功能,所以整個(gè)通訊錄采用鏈表比較變量作為鏈表中的接點(diǎn)是最合適的。結(jié)構(gòu)體變量可指針類型的成員來存放下一個(gè)結(jié)點(diǎn)的地址。結(jié)構(gòu)體enuml*****定義頭指針和尾指針*************/psp*p1,*p2,*p3,*p4,*p5;echcharstr;ILEfp***********定義文件指針***********************/voidcreat/*將文件的信息讀入結(jié)構(gòu)體數(shù)組在轉(zhuǎn)存入鏈表中*/fpfopenr************打開文件**********************/k=i-1;kfpksizeofstructpersons***讀取一個(gè)人的信息***************/readpersonsisizeofstructpersonsfpocsizeofp*****裝存入鏈表中***********/rsonsinamepersonsiaddrersonsiphnumilpersonsiemailifheadNULL用尾插法將其插入鏈表中**********/}}voidAdd()/*******向通訊錄中添加(或輸入)一個(gè)人的信息*********/printfnnt*******Pleaseinputthesb'smessage:**********");printfnnttname");eprintfnnttAddr");rprintfnnttphnum");mprintfnnttemai");lL訊錄為空則添加在頭指針之后相當(dāng)于輸入信息*********/t=s;}}定義了頭指針,則所有的信息就很容易的找到,指針會一環(huán)ist********顯示所有的信息*******************/pheadp****/whilep!=NULL)/****************通訊錄不為空******************/printftaddrs",p0->addr);printftphnums",p0->phnum);printftemails\n",p0->email);ppnext/**************p0向后移一個(gè)位置*****************/}}于是刪除鏈表中的一個(gè)結(jié)點(diǎn)。在刪除后又要保證鏈表不間斷動(dòng)地把手牽起來,保證lete***定義一個(gè)刪除的函數(shù)***************/dprintfnt******Pleaseinputaname:*************\n");名*/printfnttname");while(strcmp(name0,p1->name)!=0)&&(p1!=NULL))可能性*/ppnext;}******指針向后移一個(gè)位置****************/ifstrcmpnamepname除的位置*******/tnextpnextprintfnt***********Deletesuccessn);}printfnt**********Deletefail!******************\n");置*/}為姓名查詢和電話號碼查詢voidFind***********定義一個(gè)查詢的函數(shù)**************/rphnumnameprintf"\n\t*******Searchbynameorphpnumnamen0)\phnum(n=1)*********\n");printf**Inputthenumberof'n':*************\n");**********選擇查詢方式******************/ifn***********姓名查詢***************/dscanfsname*********輸入姓名***************/while(strcmp(name1,p3->name)!=0)&&(p3!=NULL))可能性*/ppnext;ifpnameNULL沒有找到**************/dthemessageseifstrcmpnamepname息并輸出******/nprintfntname%s",p3->name);printftaddresss",p3->addr);printftemail%s",p3->email);printftphnum%s",p3->phnum);}}******電話號碼查詢***************/d*******輸入電話號碼***************/while(strcmp(phnum1,p3->phnum)!=0)&&(p3!=NULL))可能性*/ppnext;ifpphnumNULL***沒有找到**************/dthemessageseifstrcmpphnumpphnum息并輸出******/printfntname%s",p3->name);修改姓名和修改電話號碼,修改模塊的設(shè)計(jì)思路ter******定義一個(gè)修改的函數(shù)*****************/輸入新的電話號 printf("\n\n\t****Whichmessagedoyouwantto輸入新的電話號 alternamem\phnum(m=1)*********\n");printf*******Inputthenumberof'm':******************\n");**********選擇修改內(nèi)容******************/************修改姓名*********************/*****輸入要修改的姓名***************/dwhile(strcmp(name2,p4->name)!=0)&&(p4!=NULL))可能性*/ppnext;ifpNULLprintfntCannotfindthemame********\n");}seifstrcmpnamepname到要修改的姓名********/nessagenprintfnnnttname:");canfsname/**********輸入新的信息**********/strcpypnamename*****新的姓名修改成功*******/printfnnt**********Alteredsuccess!************\n");}}******修改電話號碼***************/***輸入要修改的電話號碼***************/dwhile(strcmp(phnum2,p4->phnum)!=0)&&(p4!=NULL))可能性*/ppnext;hephnumnseifstrcmpphnumpphnum修改的電話號碼*****/ssagenprintfnnnttphnum:");*輸入新的信息**********/hnum電話號碼修改成功*******/printfnnt**********Alteredsuccess!************\n");}}}ave***定義一個(gè)保存信息的函數(shù)************/enwforpheadjpNULLj+,p5=p5->next)體數(shù)組在出入鏈表中*/sonsjaddrpaddronsjphnumpphnumonsjemailpemailwritepersonsjsizeofstructpersonsfp}}include<>include<>include<>#defineMAX100{luctplpsp*p1,*p2,*p3,*p4,*p5;echcharstr;ILEfpcreatpenrk=i-1;kfpksizeofstructpersonsreadpersonsisizeofstructpersonsfpocsizeofprsonsinamepersonsiaddrersonsiphnumilpersonsiemailLprintfnnttAddr");}}}}}dprintfnnt******Pleaseinputthesb'smessage:**********");printfnnttname");erprintfnnttphnum");mprintfnnttemai");lL}}ist{dwhilep0!=NULL)printftaddrs",p0->addr);printftphnums",p0->phnum);printftemails\n",p0->email);ppnext;}}lete{dprintfnt*******Pleaseinputaname:**************\n");printfnttname");while(strcmp(name0,p1->name)!=0)&&(p1!=NULL))ppnext;}ametnextpnextprintfnt***********Deletesuccess!******************\n");}elseprintfnt***Deletefail!******************\n");}nd{rphnumnameprintf"\n\t*******Searchbynameorphpnumnamen0)\phnum(n=1)*********\n");printf**Inputthenumberof'n':*************\n");dwhile(strcmp(name1,p3->name)!=0)&&(p3!=NULL))ppnext;{printfnt***********Cannotfindthemessage!**********");}seifstrcmpnamepname{printfnt*****Foundthemessage:**********************\n");printfntname%s",p3->name);printftaddresss",p3->addr);printftemail%s",p3->email);printftphnum%s",p3->phnum);}}dwhile(strcmp(phnum1,p3->phnum)!=0)&&(p3!=NULL))ppnext;hemessageseifstrcmpphnumpphnumgeprintfntname%s",p3->name);printftaddresss",p3->addr);printftemail%s",p3->email);printftphnums",p3->phnum);}}}ter{mnameprintf("\n\n\t****Whichmessagedoyouwanttoalternamemphnumm1)*********\n");printf******Inputthenumberof'm':***********************\n");dwhile(strcmp(name2,p4->name)!=0)&&(p4!=NULL))ppnext;ifpNULLprintfntCannotfindthemame********\n");}seifstrcmpnamepnameewnessagenprintfnnnttname:");ameprintfnnt**********Alteredsuccess!************\n");}}numpheadwhile(strcmp(phnum2,p4->phnum)!=0)&&(p4!=NULL))ppnext;hephnumnseifstrcmpphnumpphnumnessagenprintfnnnttphnum:");hnumprintfnnt**********Alteredsuccess!************\n");}}}aveenwforpheadjpNULLj+,p5=p5->next)sonsjaddrpaddronsjphnumpphnumonsjemailpemailwritepersonsjsizeofstructpersonsfp}}ainprintfntn;printfnnt***********WELCOMETOUSE!***************\n");printfnt*******************************************\n");printfnntt****Pleasemakeachoicebelow*****\n");printfntapieceofmeg");prin

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論