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)

文檔簡介

...25/26...***科技大學(xué)本科生課程設(shè)計說明書題目:C語言課程設(shè)計——通訊錄管理系統(tǒng)學(xué)生姓名:**學(xué)號:***專業(yè):軟件工程班級:1指導(dǎo)教師:**XX科技大學(xué)課程設(shè)計任務(wù)書課程名稱C語言課程設(shè)計設(shè)計題目通訊錄管理系統(tǒng)指導(dǎo)教師***時間——一、教學(xué)要求1.鞏固和加深學(xué)生對C語言課程的基本知識的理解和掌握

2.掌握C語言編程和程序調(diào)試的基本技能

3.利用C語言進行基本的軟件設(shè)計

4.掌握書寫程序設(shè)計說明文檔的能力

5.提高運用C語言解決實際問題的能力二、設(shè)計資料及參數(shù)每個學(xué)生在教師提供的課程設(shè)計題目中任意選擇一題,獨立完成,題目選定后不可更換。通訊錄管理系統(tǒng)現(xiàn)有一批通訊錄的數(shù)椐,要求輸入計算機并存放在內(nèi)存中,然后增加若干個新通訊錄的記錄,并可輸出通訊錄清單,實現(xiàn)文件存盤和讀入文件進行修改的功能。通訊錄的基本信息包括編號,姓名,電話號碼,QQ號碼,電子郵件,通訊地址。要求設(shè)計菜單來調(diào)用其各功能模塊:新建文件、打開文件、保存信息到文件輸入記錄、輸出記錄查詢記錄〔至少具有兩種查詢方式,例如以姓名查詢和以電話號碼查詢修改、插入和刪除記錄三、設(shè)計要求及成果1.分析課程設(shè)計題目的功能需求〔可選用數(shù)組或鏈表實現(xiàn),可多人〔最多3人協(xié)作完成一個題目

2.寫出詳細設(shè)計說明〔至少包括功能實現(xiàn)分析和模塊流程圖

3.編寫程序代碼,調(diào)試程序使其能正確運行〔代碼書寫要規(guī)范,標示符要見名知意,要有必要的注釋,每人至少3個函數(shù),每人至少200行代碼,不包括注釋和花括號

4.設(shè)計完成的軟件要便于操作和使用

5.設(shè)計完成后提交課程設(shè)計報告〔請嚴格按照模板進行排版四、進度安排第一天

選擇課程設(shè)計題目,分析課題的要求

第二天

編程

第三天

編程及調(diào)試

第四天

寫課程設(shè)計報告

第五天

提交課程設(shè)計報告〔打印稿及電子稿五、評分標準1.根據(jù)平時上機考勤、表現(xiàn)和進度,教師將每天點名和檢查2.根據(jù)課程設(shè)計完成情況,必須有可運行的軟件。

3.根據(jù)課程設(shè)計報告的質(zhì)量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1.《C語言程序設(shè)計》,譚浩強,清華大學(xué)出版社2.《C語言程序設(shè)計課程設(shè)計》,劉振安,機械工業(yè)出版社。目錄XX科技大學(xué)課程設(shè)計任務(wù)書I目錄III第一章需求分析31.1引言31.2任務(wù)概述31.3數(shù)據(jù)描述31.4功能需求31.5性能需求41.6運行需求41.7任務(wù)計劃4第二章概要設(shè)計112.1總體設(shè)計112.2數(shù)據(jù)類型設(shè)計〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計112.3接口設(shè)計122.4運行界面設(shè)計12第三章詳細設(shè)計173.1輸入模塊設(shè)計173.2輸出模塊設(shè)計183.3查找模塊設(shè)計193.4刪除模塊設(shè)計243.5保存及讀取模塊設(shè)計25第四章測試分析374.1測試程序執(zhí)行情況374.2出現(xiàn)的問題和解決的方法54第五章課程設(shè)計總結(jié)56附錄:程序代碼57參考文獻86致謝87第一章需求分析引言通過程序設(shè)計,達到理論與實際應(yīng)用相結(jié)合,提高對信息管理系統(tǒng)的分析能力,能夠根據(jù)實際應(yīng)用,初步實現(xiàn)系統(tǒng)功能模塊及算法的設(shè)計,通過編程基本實現(xiàn)信息管理系統(tǒng)。任務(wù)概述采用結(jié)構(gòu)體的形式對數(shù)據(jù)進行輸入輸出??梢詫νㄓ嶄涍M行簡單的排序,篩選,刪除??梢詫θ我庑畔⒕托行薷???梢园褦?shù)據(jù)已文件的形式輸入輸出。任意瀏覽信息。數(shù)據(jù)描述以所示的文本數(shù)據(jù)位初始數(shù)據(jù)進行簡單操作,也可另行添加。功能需求實現(xiàn)以上功能需求。性能需求能夠進行簡單的數(shù)據(jù)處理。具有對新信息處理打印打能力。運行需求輸入個人信息時以例如按照"編號、姓名、年齡、電話號碼、通訊地址、電子郵箱"的順序輸入。輸入時編號年齡、電話號碼、通訊地址、電子郵箱以數(shù)字格式輸入,輸入姓名以文字輸入。以〔Y/N形式判斷時,僅限N或者n為否,其他字符真。進入排序功能后,要想見排序信息,到主菜單下見瀏覽信息功能。任務(wù)計劃1.樣例輸入和輸出2.本通訊錄管理程序,可以對數(shù)據(jù)進行輸入輸出,集排序,修改,打印,刪除等功能。下面以上述數(shù)據(jù)描述的數(shù)據(jù)為測試數(shù)據(jù)進行簡單輸入輸出。——1.未排序前的信息4.刪除界面:刪除后,通訊錄里的顯示記錄:5.查詢界面:以姓名查詢方式為例:6.修改界面:修改后,通訊錄里的顯示記錄:7.保存界面:tongxunlu.txt文件截圖:概要設(shè)計總體設(shè)計添加:可以添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱后,會提示是否繼續(xù)添加。顯示:可以以表格形式輸出所有通訊錄里的記錄刪除:輸入欲刪除的那個人的名字后,會自動刪除他〔她的記錄內(nèi)容查詢:可以選擇用姓名、電話、地址三種方式查詢修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改保存:,輸入文件名〔帶后綴名后,即可將通訊錄信息保存到文件數(shù)據(jù)類型設(shè)計〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計typedefstruct { charscore;/*編號*/ charname[10];/*姓名*/ charnum[15];/*號碼*/ charemail[20]; /*郵箱*/ charage[8]; /*年齡*/ charadds[20]; /*住址*/ }Person;以結(jié)構(gòu)體數(shù)組類型輸入數(shù)據(jù)。接口設(shè)計表2.1:函數(shù)列表函數(shù)名函數(shù)首部函數(shù)功能intmenu_select<>void運行界面intInput<Personper[],intn>int輸入函數(shù)voidDisplay<Personper[],intn>Void輸出函數(shù)intDelete_a_record<Personper[],intn>int刪除數(shù)據(jù)voidQuery_a_record<Personper[],intn>void查詢數(shù)據(jù)voidChange<Personper[],intn>void更改數(shù)據(jù)voidWritetoText<Personper[],intn>void把數(shù)據(jù)寫到文件運行界面設(shè)計voidmain<>/*主函數(shù)*/{ intn=0; for<;;> { switch<menu_select<>> { case1: printf<"\n\t添加記錄到通訊錄\n">;/*添加記錄*/ n=Input<pe,n>; break; case2: printf<"\n\t\t\t通訊錄記錄表\n">;/*顯示記錄*/ Display<pe,n>; break; case3: printf<"\n\t從通訊錄中刪除記錄\n">; n=Delete_a_record<pe,n>; /*刪除記錄*/ printf<"\t">; system<"pause">; break; case4: printf<"\n\t在通訊錄中查找記錄\n">; Query_a_record<pe,n>; /*查找記錄*/ printf<"\t">; system<"pause">; break; case5: printf<"\n\t修改通訊錄中的記錄\n">; Change<pe,n>; /*修改數(shù)據(jù)*/ printf<"\t">; system<"pause">; break; case6: printf<"\n\t保存功能\n">; WritetoText<pe,n>; /*保存數(shù)據(jù)*/ printf<"\t">; system<"pause">; break; case0: printf<"\n\t\t謝謝使用,再見!\n">;/*結(jié)束程序*/ printf<"\n\t\t">; system<"pause">; exit<0>; } }}以switch為關(guān)鍵控制選著要調(diào)用函數(shù)的開關(guān),然后以主菜單為主界面,其他功能為擴展界面來運行通訊錄管理系統(tǒng)。主菜單代碼為:intmenu_select<> { charc; do{ system<"cls">; printf<"\t\t*****通訊錄*****\n">; printf<"\t\t||\n">; printf<"\t\t│1.添加記錄│\n">; printf<"\t\t│2.顯示記錄│\n">; printf<"\t\t│3.刪除記錄│\n">; printf<"\t\t│4.查詢記錄│\n">; printf<"\t\t│5.修改記錄│\n">; printf<"\t\t│6.保存記錄│\n">; printf<"\t\t│0.退出程序│\n">; printf<"\t\t\||n">; printf<"\t\t請您選擇<0-6>:">; c=getchar<>; }while<c<'0'||c>'6'>; return<c-'0'>; }如圖所示為主要運行界面:詳細設(shè)計輸入模塊設(shè)計intInput<Personper[],intn>{ inti=0; charsign,x[10]; while<sign!='n'&&sign!='N'> { printf<"\t編號:">; scanf<"\t%d",&per[n+i].score>; printf<"\t姓名:">; scanf<"\t%s",per[n+i].name>; printf<"\t年齡:">; scanf<"\t%s",per[n+i].age>; printf<"\t電話號碼:">; scanf<"\t%s",per[n+i].num>; printf<"\t通訊住址:">; scanf<"\t%s",per[n+i].adds>; printf<"\t電子郵箱:">; scanf<"\t%s",per[n+i].email>; gets<x>; printf<"\n\t是否繼續(xù)添加?<Y/N>">; scanf<"\t%c",&sign>; i++; } return<n+i>;}輸出模塊設(shè)計voidDisplay<Personper[],intn>{ inti; printf<"\n">;/*格式*/ printf<"編號姓名年齡電話號碼通訊地址電子郵箱\n">; printf<"\n">; for<i=1;i<n+1;i++> { printf<"%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email>; if<i>1&&i%10==0> { printf<"\t\n">; printf<"\t">; system<"pause">; printf<"\t\n">; } } printf<"\n">; system<"pause">;}查找模塊設(shè)計voidQuery_a_record<Personper[],intn>{ intm; printf<"\t\n請選擇查詢方式:\n">;printf<"\t┌──────┐\n">;printf<"\t│1姓名│\n">;printf<"\t│2電話│\n">;printf<"\t│3地址│\n">;printf<"\t│4返回│\n">;printf<"\t└──────┘\n">;printf<"請選擇:">;scanf<"%d",&m>;while<m!=1&&m!=2&&m!=3&&m!=4>{ printf<"輸入錯誤,請重新選擇:">; scanf<"%d",&m>; } if<m==1> { chars[20]; inti=0; printf<"\t請輸入想查詢的姓名:">; scanf<"\t%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t電話號碼:%s\n",per[i].num>; printf<"\t通訊地址:%s\n",per[i].adds>; printf<"\t電子郵箱:%s\n",per[i].email>; }; if<m==2> { chars[20]; inti=0; printf<"\t請輸入想查詢的電話:">; scanf<"\t%s",s>; while<strcmp<per[i].num,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人姓名:%s\n",per[i].name>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t通訊地址:%s\n",per[i].adds>; printf<"\t電子郵箱:%s\n",per[i].email>; }; if<m==3> { chars[20]; inti=0; printf<"\t請輸入想查詢的地址:">; scanf<"\t%s",s>; while<strcmp<per[i].adds,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人姓名:%s\n",per[i].name>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t電話號碼:%s\n",per[i].num>; printf<"\t電子郵箱:%s\n",per[i].email>; };}刪除模塊設(shè)計intDelete_a_record<Personper[],intn>{ chars[20]; inti=0,j; printf<"\t請輸入想刪除記錄中的名字:">; scanf<"%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return<n>; } for<j=i;j<n-1;j++> { strcpy<per[j].num,per[j+1].num>; strcpy<per[j].name,per[j+1].name>; strcpy<per[j].age,per[j+1].age>; strcpy<per[j].adds,per[j+1].adds>; strcpy<per[j].email,per[j+1].email>; per[j].score=per[j+1].score; } printf<"\t\t\t已經(jīng)成功刪除!\n">; return<n-1>;}更改模塊設(shè)計voidChange<Personper[],intn>{ chars[20]; inti=0; printf<"\t請輸入想修改的記錄中的名字:">; scanf<"%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t編號:">; scanf<"\t%d",&per[i].score>; printf<"\t姓名:">; scanf<"\t%s",per[i].name>; printf<"\t年齡:">; scanf<"\t%s",per[i].age>; printf<"\t電話號碼:">; scanf<"\t%s",per[i].num>; printf<"\t通訊住址:">; scanf<"\t%s",per[i].adds>; printf<"\t電子郵箱:">; scanf<"\t%s",per[i].email>; printf<"\t修改成功!">;}3.6保存模塊設(shè)計voidWritetoText<Personper[],intn>{ inti=0; FILE*fp;/*定義文件指針*/ charfilename[20];/*定義文件名*/ printf<"\t保存到文件\n">;/*輸入文件名*/ printf<"\t請輸入所保存的文件名:">; scanf<"\t%s",filename>; if<<fp=fopen<filename,"w">>==NULL> { printf<"\t無法打開文件\n">; system<"pause">; return; } fprintf<fp,"******************************************通訊錄******************************************\n">; fprintf<fp,"編號姓名年齡電話號碼通訊地址電子郵箱\n">; fprintf<fp,"\n">; while<i<n> { fprintf<fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email>; i++; } fprintf<fp,"\n">; fprintf<fp,"***************************************共有%d條記錄****************************************\n",n>; fclose<fp>;/*關(guān)閉文件*/ printf<"保存成功!\n">;}voidmain<>/*主函數(shù)*/{ intn=0; for<;;> { switch<menu_select<>> { case1: printf<"\n\t添加記錄到通訊錄\n">;/*添加記錄*/ n=Input<pe,n>; break; case2: printf<"\n\t\t\t通訊錄記錄表\n">;/*顯示記錄*/ Display<pe,n>; break; case3: printf<"\n\t從通訊錄中刪除記錄\n">; n=Delete_a_record<pe,n>; /*刪除記錄*/ printf<"\t">; system<"pause">; break; case4: printf<"\n\t在通訊錄中查找記錄\n">; Query_a_record<pe,n>; /*查找記錄*/ printf<"\t">; system<"pause">; break; case5: printf<"\n\t修改通訊錄中的記錄\n">; Change<pe,n>; /*修改數(shù)據(jù)*/ printf<"\t">; system<"pause">; break; case6: printf<"\n\t保存功能\n">; WritetoText<pe,n>; /*保存數(shù)據(jù)*/ printf<"\t">; system<"pause">; break; case0: printf<"\n\t\t謝謝使用,再見!\n">;/*結(jié)束程序*/ printf<"\n\t\t">; system<"pause">; exit<0>; } }}測試分析測試程序執(zhí)行情況1.顯示的主菜單界面2.添加界面:3.顯示界面:4.刪除界面:刪除后,通訊錄里的顯示記錄:5.查詢界面:以姓名查詢方式為例:6.修改界面:修改后,通訊錄里的顯示記錄:7.保存界面:大部分功能以按上面圖文描述,有不足的地方請老師批評指正。您的建議將幫我走得更好。出現(xiàn)的問題和解決的方法1.當我在進行刪除、查詢、修改、保存等功能時,以查詢?yōu)槔?輸入名字按回車后,雖然會顯示該人的所有記錄,但是顯示后,它馬上自動消失了,還沒來得及等我看內(nèi)容。因此,向別人請教后,在一些地方加入了system<"pause">;這個語言,用來對某項操作完成后進行暫停。課程設(shè)計總結(jié)這次的程序?qū)嵲O(shè)計實驗是對我們進入大學(xué)以來學(xué)習程序設(shè)計語言結(jié)果的一次大檢驗。自己動手,自己發(fā)現(xiàn)和解決問題。發(fā)現(xiàn)了自己的許多不足。平時沒有掌握好的知識在這次實驗中徹底暴露出來,經(jīng)過不斷思考,不斷查閱資料和上機運行,解決其中大部分問題,當然還存在一些問題沒有解決。我相信在以后的學(xué)習能夠解決好它們。但是,收獲還是不小的,我不僅對C的操作有了進一步的掌握,還了解到了程序設(shè)計的書寫風格及其注釋的格式。當我選擇通訊錄這個題目時,一開始想運用大量鏈表及指針來完成,但是在慢慢琢磨之后,覺得這個不一定要用鏈表,于是改變了編程思路。當然還有不少文件的讀寫問題,不過還是通過不斷測試之后順利解決了。另外一點要說的就是這個程序用了很多的循環(huán),因此對于循環(huán)的控制要十分小心,有時while和do-while的區(qū)別也是十分重要的。還有一點體會就是,書上和老師教的內(nèi)容是有限的,我們需要不斷地靠自己去學(xué)習,向他人請教,了解和掌握更多的知識,這樣我們才能編出更好的C程序??傮w來說,這次C語言程序設(shè)計實驗還是比較成功的,雖然最終程序還存在一些不足,但能取得這樣的成績我還是比較高興的。最后,要感謝學(xué)校為我們提供這次實驗機會,也要感謝老師的教導(dǎo)和好心人對我的幫助與支持。附錄:程序代碼#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct { charscore;/*編號*/ charname[10];/*姓名*/ charnum[15];/*號碼*/ charemail[20]; /*郵箱*/ charage[8]; /*年齡*/ charadds[20]; /*住址*/ }Person;Personpe[80];intmenu_select<> { charc; do{ system<"cls">; printf<"\t\t*****通訊錄*****\n">; printf<"\t\t||\n">; printf<"\t\t│1.添加記錄│\n">; printf<"\t\t│2.顯示記錄│\n">; printf<"\t\t│3.刪除記錄│\n">; printf<"\t\t│4.查詢記錄│\n">; printf<"\t\t│5.修改記錄│\n">; printf<"\t\t│6.保存記錄│\n">; printf<"\t\t│0.退出程序│\n">; printf<"\t\t\||n">; printf<"\t\t請您選擇<0-6>:">; c=getchar<>; }while<c<'0'||c>'6'>; return<c-'0'>; }intInput<Personper[],intn>{ inti=0; charsign,x[10]; while<sign!='n'&&sign!='N'> { printf<"\t編號:">; scanf<"\t%d",&per[n+i].score>; printf<"\t姓名:">; scanf<"\t%s",per[n+i].name>; printf<"\t年齡:">; scanf<"\t%s",per[n+i].age>; printf<"\t電話號碼:">; scanf<"\t%s",per[n+i].num>; printf<"\t通訊住址:">; scanf<"\t%s",per[n+i].adds>; printf<"\t電子郵箱:">; scanf<"\t%s",per[n+i].email>; gets<x>; printf<"\n\t是否繼續(xù)添加?<Y/N>">; scanf<"\t%c",&sign>; i++; } return<n+i>;}voidDisplay<Personper[],intn>{ inti; printf<"\n">;/*格式*/ printf<"編號姓名年齡電話號碼通訊地址電子郵箱\n">; printf<"\n">; for<i=1;i<n+1;i++> { printf<"%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email>; if<i>1&&i%10==0> { printf<"\t\n">; printf<"\t">; system<"pause">; printf<"\t\n">; } } printf<"\n">; system<"pause">;}intDelete_a_record<Personper[],intn>{ chars[20]; inti=0,j; printf<"\t請輸入想刪除記錄中的名字:">; scanf<"%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return<n>; } for<j=i;j<n-1;j++> { strcpy<per[j].num,per[j+1].num>; strcpy<per[j].name,per[j+1].name>; strcpy<per[j].age,per[j+1].age>; strcpy<per[j].adds,per[j+1].adds>; strcpy<per[j].email,per[j+1].email>; per[j].score=per[j+1].score; } printf<"\t\t\t已經(jīng)成功刪除!\n">; return<n-1>;}voidQuery_a_record<Personper[],intn>{ intm; printf<"\t\n請選擇查詢方式:\n">;printf<"\t┌──────┐\n">;printf<"\t│1姓名│\n">;printf<"\t│2電話│\n">;printf<"\t│3地址│\n">;printf<"\t│4返回│\n">;printf<"\t└──────┘\n">;printf<"請選擇:">;scanf<"%d",&m>;while<m!=1&&m!=2&&m!=3&&m!=4>{ printf<"輸入錯誤,請重新選擇:">; scanf<"%d",&m>; } if<m==1> { chars[20]; inti=0; printf<"\t請輸入想查詢的姓名:">; scanf<"\t%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t電話號碼:%s\n",per[i].num>; printf<"\t通訊地址:%s\n",per[i].adds>; printf<"\t電子郵箱:%s\n",per[i].email>; }; if<m==2> { chars[20]; inti=0; printf<"\t請輸入想查詢的電話:">; scanf<"\t%s",s>; while<strcmp<per[i].num,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人姓名:%s\n",per[i].name>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t通訊地址:%s\n",per[i].adds>; printf<"\t電子郵箱:%s\n",per[i].email>; }; if<m==3> { chars[20]; inti=0; printf<"\t請輸入想查詢的地址:">; scanf<"\t%s",s>; while<strcmp<per[i].adds,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t此人編號:%d\n",per[i].score>; printf<"\t此人姓名:%s\n",per[i].name>; printf<"\t此人年齡:%s\n",per[i].age>; printf<"\t電話號碼:%s\n",per[i].num>; printf<"\t電子郵箱:%s\n",per[i].email>; };}voidChange<Personper[],intn>{ chars[20]; inti=0; printf<"\t請輸入想修改的記錄中的名字:">; scanf<"%s",s>; while<strcmp<per[i].name,s>!=0&&i<n>i++; if<i==n> { printf<"\t通訊錄中沒有此人!\n">; return; } printf<"\t編號:">; scanf<"\t%d",&per[i].score>; printf<"\t姓名:">; scanf<"\t%s",per[i].name>; printf<"\t年齡:">; scanf<"\t%s",per[i].age>; printf<"\t電話號碼:">; scanf<"\t%s",per[i].num>; printf<"\t通訊住址:">; scanf<"\t%s",per[i].adds>; printf<"\t電子郵箱:">; scanf<"\t%s",per[i].email>; printf<"\t修改成功!">;}voidWritetoText<Personper[],intn>{ inti=0; FILE*fp;/*定義文件指針*/ charfilename[20];/*定義文件名*/ printf<"\t保存到文件\n">;/*輸入文件名*/ printf<"\t請輸入所保存的文件名:">; scanf<"\t%s",filename>; if<<fp=fopen<filename,"w"

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論