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

下載本文檔

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

文檔簡介

重慶科技學(xué)院(個人通訊錄管理系統(tǒng))課程設(shè)計報告PAGEPAGE22重慶科技學(xué)院《C語言程序設(shè)計》課程設(shè)計報告學(xué)院:_電氣與信息工程學(xué)院_專業(yè)班級:學(xué)生姓名:學(xué)號:設(shè)計地點(單位)________I515__________

設(shè)計題目:_________個人通訊錄管理系統(tǒng)________________完成日期:指導(dǎo)教師評語:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________成績(五級記分制):________________

指導(dǎo)教師(簽字):________________ 摘要利用VisualC++6.0這個軟件來實現(xiàn)個人通訊錄管理系統(tǒng)的功能,可以運用多函數(shù)模塊來實現(xiàn)。個人通訊錄管理系統(tǒng)的功能有:1.增加聯(lián)系人;2.查詢聯(lián)系人,即分別可以利用姓名或號碼進行查詢聯(lián)系人;3.讀出所有聯(lián)系人;4.修改聯(lián)系人的信息;5.刪除聯(lián)系人的信息。在利用軟件進行編輯時,對個人通訊系統(tǒng)的功能進行實現(xiàn),嚴(yán)格按照功能的目的來編寫,對各個函數(shù)模塊要盡可能的優(yōu)化。關(guān)鍵字:函數(shù)模塊、結(jié)構(gòu)流程、個人通訊錄管理系統(tǒng)

課程設(shè)計任務(wù)書設(shè)計題目:個人通訊錄管理系統(tǒng)學(xué)生姓名向陽課程名稱C語言程序設(shè)計課程設(shè)計專業(yè)班級電自專2011地點I515起止時間2012年12月17日-12月28日設(shè)計內(nèi)容及要求建立一通訊錄,輸入姓名、電話號碼、住址等信息,然后對通信簿進行顯示、查找、添加、修改及刪除。進一步掌握利用C語言進行程序設(shè)計的能力;進一步理解和運用結(jié)構(gòu)化程序設(shè)計的思想和方法;初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;學(xué)會調(diào)試一個較長程序的基本方法;學(xué)會利用流程圖表示算法。根據(jù)題目要求,運用所學(xué)知識,完成設(shè)計和實現(xiàn)工作,并按照書寫規(guī)范,撰寫課程設(shè)計報告。設(shè)計參數(shù)(1)系統(tǒng)分析、設(shè)計正確。(2)結(jié)果以圖表方式顯示。(3)界面簡潔、美觀。(4)報告格式規(guī)范。進度要求周一:明確設(shè)計任務(wù),學(xué)習(xí)相關(guān)基礎(chǔ)知識周二:熟悉各知識點,進行基礎(chǔ)練習(xí)周三:根據(jù)題目要求,進行設(shè)計和實現(xiàn)周四:根據(jù)題目要求,進行設(shè)計和實現(xiàn)周五:撰寫報告,進行答辯參考資料[1]何欽銘顏暉.《C語言程序設(shè)計》.高等教育出版社.2008年[2]譚浩強張基溫.《C語言程序設(shè)計教程》.高等教育出版社.2006年其它說明1.本表應(yīng)在每次實施前一周由負責(zé)教師填寫二份,院系審批后交院系辦備案,一份由負責(zé)教師留用。2.若填寫內(nèi)容較多可另紙附后。3.一題多名學(xué)生共用的,在設(shè)計內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。教研室主任:指導(dǎo)教師:雷亮2012年12月10日目錄摘要 1課程設(shè)計任務(wù)書 2第一章 軟件需求分析說明書 11.1.設(shè)計題目的分析 11.2.詳細的功能分析 11.3.軟件的界面要求 11.4.?dāng)?shù)據(jù)結(jié)構(gòu)要求 1第二章系統(tǒng)分析與設(shè)計 22.1.程序的系統(tǒng)界面分析 22.2.程序的數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)設(shè)計 2第三章軟件的實現(xiàn) 63.1.程序預(yù)處理 63.2.main()主函數(shù)的實現(xiàn) 73.3.menu()主菜單的實現(xiàn) 73.4.output(int*len)輸出函數(shù)的實現(xiàn) 83.5.zengjia(&len)增加聯(lián)系人函數(shù)的實現(xiàn) 83.6.chaxun(int*len)查詢聯(lián)系人的函數(shù)的實現(xiàn) 93.6.1.sname()姓名查詢函數(shù)的實現(xiàn) 103.6.2.snumber()電話查詢函數(shù)的實現(xiàn) 113.7.xiugai(&len)修改聯(lián)系人的函數(shù)的實現(xiàn) 123.7.1.xname()修改聯(lián)系人姓名函數(shù)的實現(xiàn) 143.7.2.xnumber()修改聯(lián)系人電話函數(shù)的實現(xiàn) 143.7.3.xname()修改聯(lián)系人地址函數(shù)的實現(xiàn) 143.8.shanchu(int*len)刪除聯(lián)系人的函數(shù)的實現(xiàn) 14第四章軟件測試 174.1.主界面的測試 174.2.增加聯(lián)系人的測試 174.3.讀取聯(lián)系人的測試 174.4.查找聯(lián)系人的測試 184.5.修改聯(lián)系人的測試 184.6.刪除聯(lián)系人的測試 18第五章 總結(jié) 22致謝 23參考文獻 24第一章 軟件需求分析說明書1.1.設(shè)計題目的分析根據(jù)需設(shè)計的個人通訊錄管理系統(tǒng)這個題目可以得知如下的信息:①.建立通訊錄信息,信息包含姓名、電話、通訊地址等;②.能夠提供添加、刪除通訊錄信息的功能;③.能夠提供按不同方式查詢的功能;如按姓名、電話等查詢;④.能夠提供按不同方式修改通訊錄里聯(lián)系人的信息的功能;如對姓名、電話、地址等進行修改;⑤.將通訊錄保存在文件中;⑥能夠按表格方式輸出通訊錄信息。1.2.詳細的功能分析增加:可以添加通訊錄記錄,在輸入添加的個數(shù)后,依次完成輸入姓名、電話號碼、通訊地址后,會提示你是否已添加成功,最后再在屏幕上顯示出來;讀?。嚎梢砸员砀裥问捷敵鏊型ㄓ嶄浝锏挠涗?;刪除:輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄內(nèi)容,之后會提示你是否刪除成功,最后在輸出刪除后通訊錄里所有的記錄;查詢:可以選擇用姓名、電話兩種方式查詢;修改:輸入欲修改的那個人的名字后,再選擇是需要更改輸入聯(lián)系人的什么信息后,再輸入修改的姓名或電話號碼或通訊地址,這樣便可以可完成修改聯(lián)系人得信息;退出:,即將通訊錄信息保存到文件后,再退出通訊管理系統(tǒng)。1.3.軟件的界面要求在界面需要一個提示你執(zhí)行什么操作的標(biāo)語,且在增加、修改、刪除聯(lián)系人后,需要提示是否已成功的完成該任務(wù),之后需要將通訊錄讀取出來,檢查是否與界面提示的一致,最后再返回首頁面。1.4.?dāng)?shù)據(jù)結(jié)構(gòu)要求每一個功能利用多函數(shù)模塊來實現(xiàn),并且為了避免程序的繁瑣,可以將每個大模塊再劃分為多個小的模塊來實現(xiàn),盡可能的優(yōu)化程序的模塊。

第二章系統(tǒng)分析與設(shè)計2.1.程序的系統(tǒng)界面分析①主菜單選擇的界面,選擇需要的服務(wù),如:輸入1,即進入增加聯(lián)系人的界面;②增加聯(lián)系人的界面,按提示進行輸入,即進入輸出界面;③通訊錄的輸出界面,即將按任意鍵返回主菜單界面;④在主菜單中選擇查找聯(lián)系人的功能,如:輸入3后進入查詢界面,再按姓名或電話查詢,如:輸入2按姓名查詢,輸入查詢的姓名為xiangyang,即若又該聯(lián)系人則顯示出來,反之則提示你沒有該聯(lián)系人;⑤刪除聯(lián)系人界面,即輸入刪除人的姓名,再提示你刪除成功后緊接著就顯示出刪除后的所有聯(lián)系人;⑥修改聯(lián)系人的界面,即在主菜單中輸4,進入修改界面,即輸入修改人的姓名即可;⑦退出程序的界面,不需要訪問個人通訊錄管理系統(tǒng)時,在返回主菜單界面輸入0退出程序。2.2.程序的數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)設(shè)計2.2.1.整個軟件使用的文件功能、內(nèi)部的數(shù)據(jù)格式在通訊管理系統(tǒng)中的文件內(nèi)部的數(shù)據(jù)均為文本文件類型的,并且在文本文件里的數(shù)據(jù)均以一組一組的存放。2.2.2.系統(tǒng)界面結(jié)構(gòu)的設(shè)計①畫出整個軟件的模塊圖(如圖2.1所示)、并對每一個模塊圖的算法用程序流程圖來具體描述。②增加聯(lián)系人的程序流程圖(如圖2.2所示);③查詢聯(lián)系人的流程圖(如圖2.3所示);④讀取聯(lián)系人的流程圖(如圖2.4所示);⑤修改聯(lián)系人的流程圖(如圖2.5所示);⑥刪除聯(lián)系人的流程圖(如圖2.6所示)。增加增加查詢個人通訊錄管理系統(tǒng)讀取刪除修改退出姓名查詢電話查詢姓名修改電話修改地址修改圖2.1.系統(tǒng)的整體模塊圖圖2.3查詢聯(lián)系人的流程圖YY圖2.3查詢聯(lián)系人的流程圖YYNNNY圖2.2增加聯(lián)系人的流程圖輸出修改后輸出修改后所有聯(lián)系人i=4xiugai(&len)輸入修改人的姓名開始判斷有無此人return0Y修改姓名修改電話修改地址b==1?b==2?b==3?沒有此人的信息圖2.5修改聯(lián)系人的流程圖-輸出輸出刪除后所有聯(lián)系人i=5shanchu(&len)輸入刪除人的姓名執(zhí)行刪除指定的聯(lián)系人開始判斷有無此人return0NY圖2.6刪除聯(lián)系人的流程圖開始開始i=2duqu(&len)輸出信息return0

第三章軟件的實現(xiàn)本程序主要由14個自定義函數(shù)和一個主函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其它函數(shù)來實現(xiàn)要求的所有功能。在這些函數(shù)當(dāng)中,按顯示菜單的函數(shù)、添加聯(lián)系人函數(shù)、讀取全部信息函數(shù)、查詢函數(shù)(按姓名查詢、按電話查詢)、修改聯(lián)系人函數(shù)(姓名修改、電話修改、地址修改)、刪除聯(lián)系人信息函數(shù)等是程序中較為核心的部分,下面分別進行說明。3.1.程序預(yù)處理包括加載頭文件,定義結(jié)構(gòu)體、常量和變量,并對它們進行初始化工作。#include"stdio.h"#include<stdlib.h>#include"string.h"#defineheader1"|電話簿|\n"#defineheader2"|name|phonenum|adress|\n"#defineheader3"||||\n"#defineend"|結(jié)束|"typedefstruct_CStudent{ charszName[20];/*學(xué)生姓名*/doublenumber; /*電話*/ charadress[100]; /*地址*/}CStudent;voidmenu();intduqu(int*len);intzengjia(int*k,int*len);intchaxun(int*len);intxiugai(int*len);intshanchu(int*len);intinput(CStudent*p);/*從鍵盤輸入*/intoutput(int*len);/*向屏幕輸出*/intsearch(CStudentp,int*j,CStudentc[3],int*len); intsname(CStudentp,int*len); /*姓名查詢*/intsnumber(CStudentp,int*len); /*電話查詢*/voidxname(CStudentq[100],inti); /*姓名修改*/voidxnumber(CStudentq[100],inti); /*號碼修改*/voidxadress(CStudentq[100],inti); /*地址修改*/ intsput(int*len,CStudentq[100]);/*刪除的處理模塊*/3.2.main()主函數(shù)的實現(xiàn)main()函數(shù)主要實現(xiàn)對整個程序的運行控制,以及相關(guān)功能模塊的調(diào)用。main(){ staticintlen=0; inti,j=0,k=0; while(j==0) { menu(); do { printf("請選擇你需要的服務(wù):\n"); scanf("%d",&i); } while(i<0||i>5); switch(i) { case1:{j=zengjia(&k,&len);break;}/*增加*/ case2:{j=duqu(&len);break;} /*讀取*/ case3:{j=chaxun(&len);break;} /*查找*/ case4:{j=xiugai(&len);break;} /*修改*/ case5:{j=shanchu(&len);break;}/*刪除*/ default:{printf("|**歡迎下次使用電話薄管理系統(tǒng)!**|\n");j=1;break;} } }}3.3.menu()主菜單的實現(xiàn)用戶進入通訊錄管理系統(tǒng)時,需要顯示主菜單,提示用戶進行選擇,完成相應(yīng)任務(wù)。此代碼被main()函數(shù)調(diào)用。voidmenu(){ system("cls"); system("color1F"); printf("\n\n\n"); /*輸出主菜單*/ printf("\t\t|*****歡迎進入電話薄管理系統(tǒng)!*****|\n"); printf("\t\t|********************menu********************|\n"); printf("\t\t||\n"); printf("\t\t|1增加2讀取|\n"); printf("\t\t||\n"); printf("\t\t|3查找4修改|\n"); printf("\t\t||\n"); printf("\t\t|5刪除0退出|\n"); printf("\t\t||\n"); printf("\t\t|********************************************|\n");}3.4.output(int*len)輸出函數(shù)的實現(xiàn)在被其它函數(shù)模塊調(diào)用時,執(zhí)行intoutput(int*len)函數(shù)對數(shù)據(jù)文件中的所有聯(lián)系人進行輸出在屏幕上。intoutput(int*len)/*向屏幕輸出*/{ CStudentp[100]; inti; FILE*fp; if((fp=fopen("e://file3","r"))==NULL) { printf("error!\n"); return-1; } printf("%s%s%s",header1,header2,header3); for(i=0;i<*len;i++) { fscanf(fp,"%s%lf%s",p[i].szName,&p[i].number,p[i].adress); printf("|%s|%.0lf|%s|\n",p[i].szName,p[i].number,p[i].adress); } printf("%s",end); printf("\n"); system("pause"); return0;}3.5.zengjia(&len)增加聯(lián)系人函數(shù)的實現(xiàn)調(diào)用zengjia(&len)函數(shù),完成在文件中添加新聯(lián)系人。在剛進入通訊錄管理系統(tǒng)時,若默認的數(shù)據(jù)文件為空,在增加新聯(lián)系人后,利用intoutput(int*len)函數(shù)輸出數(shù)據(jù)文件中的所有聯(lián)系人。intzengjia(int*k,int*len){ CStudentp[100]; inti,j; FILE*fp;system("cls"); printf("\n\t\t|*****歡迎進入刪除聯(lián)系人界面!*****|\n\n"); printf("請輸入增加的個數(shù):\n"); scanf("%d",&j); k=&j; (*len)+=j; //system("cls"); if((fp=fopen("e://file3","a+"))==NULL) { printf("error!\n"); return-1; } for(i=0;i<j;i++) { printf("姓名:"); scanf("%s",&p[i].szName); printf("電話:"); scanf("%lf",&p[i].number); printf("地址:"); scanf("%s",p[i].adress); } for(i=0;i<j;i++) fprintf(fp,"\n%s%lf%s",p[i].szName,p[i].number,p[i].adress); fclose(fp); system("cls"); output(len); return0;}3.6.chaxun(int*len)查詢聯(lián)系人的函數(shù)的實現(xiàn)調(diào)用intchaxun(int*len)函數(shù),完成在snumber(cc,len)或sname(aa,len)函數(shù)中對聯(lián)系人進行查找,如果在數(shù)據(jù)文件中找到所要查找的聯(lián)系人時,則將該聯(lián)系人輸出到屏幕;若在數(shù)據(jù)文件中沒有此聯(lián)系人時,則同樣會在屏幕上提醒。intchaxun(int*len){ inti; CStudentaa,cc; system("cls"); printf("\n\t\t|*****歡迎進入刪除聯(lián)系人界面!*****|\n\n"); do { printf(" |查找功能|\n"); printf(" ||\n"); printf(" |1按電話號碼查找|\n"); printf(" ||\n"); printf(" |2按姓名查找|\n"); printf(" ||\n"); printf(" |0退出|\n"); printf(" ||\n"); printf("請輸入:\n"); scanf("%d",&i); } while(i>2||i<0); if(i==2) { printf("請輸入姓名:\n"); scanf("%s",&aa.szName); sname(aa,len); } elseif(i==1) { printf("請輸入號碼:\n"); scanf("%lf",&cc.number); snumber(cc,len); } else printf("歡迎下次使用電話薄管理系統(tǒng)!\n"); return0;}3.6.1.sname()姓名查詢函數(shù)的實現(xiàn)用戶在進入查詢聯(lián)系人的界面后,可以根據(jù)提示選擇按哪種方式進行查詢,若選擇2則按姓名進行查詢,即會在判斷該聯(lián)系人存在于通訊錄中后調(diào)用sname()姓名查詢函數(shù);如下為函數(shù)的源代碼:intsname(CStudentp,int*len){ CStudentc[100]; inti,flag; flag=search(p,&i,c,len);if(flag==1) { printf("%s%s%s",header1,header2,header3); printf("|%s|%.0lf|%s|\n",c[i].szName,c[i].number,c[i].adress); printf("%s",end); printf("\n"); } else printf("NotFound\n"); system("pause");return0;}3.6.2.snumber()電話查詢函數(shù)的實現(xiàn)用戶在進入查詢聯(lián)系人的界面后,可以根據(jù)提示選擇按哪種方式進行查詢,若選擇1則按姓名進行查詢,即會在判斷該聯(lián)系人存在于通訊錄中后調(diào)用snumber()電話查詢函數(shù);如下為函數(shù)的源代碼:intsnumber(CStudentp,int*len){ CStudentc[100]; inti,flag; flag=search(p,&i,c,len);if(flag==2) { printf("%s%s%s",header1,header2,header3); printf("|%s|%.0lf|%s|\n",c[i].szName,c[i].number,c[i].adress); printf("%s",end); printf("\n"); } else printf("NotFound\n"); system("pause");return0;}search(CStudentp,int*j,CStudentc[100],int*len) /*查詢*/{FILE*fp; inti,flag=0; if((fp=fopen("e:\\file3","r"))==NULL) { printf("cannotwritefile\n"); return-1; }for(i=0;i<*len;i++) { fscanf(fp,"%s%lf%s",c[i].szName,&c[i].number,c[i].adress);if(strcmp(c[i].szName,p.szName)==0) {flag=1;break;} if(c[i].number==p.number) {flag=2;break;}} *j=i; fclose(fp); returnflag;}3.7.xiugai(&len)修改聯(lián)系人的函數(shù)的實現(xiàn)調(diào)用xiugai(&len)函數(shù),完成在輸入需要修改的聯(lián)系人后,進行判斷是否有此人,若沒有則會有提示,若有則會提示你完成該聯(lián)系人的信息修改,待輸入了修改信息后,會利用intsput(int*len,CStudentq[100])函數(shù)將修改的文件數(shù)據(jù)保存到文件中。在完成保存修改聯(lián)系人后,會利用intoutput(int*len)函數(shù)將修改后數(shù)據(jù)文件中的所有聯(lián)系人輸出到屏幕上。intxiugai(int*len){ CStudentp[100],q[100],a; inti,j,b; FILE*fp; system("cls"); printf("\n\t\t|*****歡迎進入修改聯(lián)系人界面!*****|\n\n"); printf("請輸入修改人的姓名:\n"); scanf("%s",a.szName); if((fp=fopen("e://file3","r+"))==NULL) { printf("error!\n"); return-1; } for(i=0;i<*len;i++) fscanf(fp,"%s%lf%s",p[i].szName,&p[i].number,p[i].adress); for(i=0;i<*len;i++) { strcpy(q[i].szName,p[i].szName); strcpy(q[i].adress,p[i].adress); q[i].number=p[i].number;} for(i=0;i<*len;i++) { if(strcmp(p[i].szName,a.szName)==0) { j=1; break; } } if(j==1) { printf(" |修改功能|\n"); printf(" ||\n"); printf(" |1修改姓名|\n"); printf(" ||\n"); printf(" |2修改號碼|\n"); printf(" ||\n"); printf(" |3修改地址|\n"); printf(" ||\n"); do { printf("請輸入:\n"); scanf("%d",&b); if(b==1) xname(q,i); if(b==2) xnumber(q,i); if(b==3) xadress(q,i);} while(b>3||b<1); printf("修改的聯(lián)系人重新保存!\n"); sput(len,q); } else { printf(" |*****通訊錄中沒有該人的信息!******|\n"); system("pause"); } fclose(fp); output(len); return0;}intsput(int*len,CStudentq[100]){ inti; FILE*fp; if((fp=fopen("e://file3","w"))==NULL) { printf("error!\n"); return-1; } for(i=0;i<*len;i++) fprintf(fp,"%s%lf%s",q[i].szName,q[i].number,q[i].adress); fclose(fp); return0;}3.7.1.xname()修改聯(lián)系人姓名函數(shù)的實現(xiàn)用戶在進入修改聯(lián)系人的信息的界面后,可以根據(jù)提示選擇進行修改聯(lián)系人的哪樣信息,若選擇1則修改聯(lián)系人的姓名,即會在判斷該聯(lián)系人存在于通訊錄中后調(diào)用xname()姓名修改函數(shù)。voidxname(CStudentq[100],inti){ printf("姓名重置:"); scanf("%s",q[i].szName);}3.7.2.xnumber()修改聯(lián)系人電話函數(shù)的實現(xiàn)用戶在進入修改聯(lián)系人的信息的界面后,可以根據(jù)提示選擇進行修改聯(lián)系人的哪樣信息,若選擇2則修改聯(lián)系人的電話,即會在判斷該聯(lián)系人存在于通訊錄中后調(diào)用xnumber()電話修改函數(shù)。voidxnumber(CStudentq[100],inti) /*號碼修改*/{ printf("電話重置:"); scanf("%lf",&q[i].number);}3.7.3.xname()修改聯(lián)系人地址函數(shù)的實現(xiàn)用戶在進入修改聯(lián)系人的信息的界面后,可以根據(jù)提示選擇進行修改聯(lián)系人的哪樣信息,若選擇3則修改聯(lián)系人的地址,即會在判斷該聯(lián)系人存在于通訊錄中后調(diào)用xadress()地址修改函數(shù)。voidxadress(CStudentq[100],inti) /*地址修改*/{ printf("地址重置:"); scanf("%s",q[i].adress);}3.8.shanchu(int*len)刪除聯(lián)系人的函數(shù)的實現(xiàn)調(diào)用intshanchu(int*len)函數(shù),完成輸入的需要刪除的聯(lián)系人,待輸入后,程序會自動判斷數(shù)據(jù)文件中是否有此人的信息,若沒有,則會有提示,結(jié)束該功能的運用;反之,有該聯(lián)系人的話,會將其刪除后在保存到數(shù)據(jù)文件中,待保存成功后,調(diào)用intoutput(int*len)函數(shù)將刪除后的所有聯(lián)系人輸出到屏幕上。intshanchu(int*len){ CStudentp[100],q[100],a; inti,j; FILE*fp;system("cls"); printf("\n\t\t|*****歡迎進入刪除聯(lián)系人界面!*****|\n\n"); printf("請輸入刪除人的姓名:\n"); scanf("%s",a.szName); if((fp=fopen("e://file3","r+"))==NULL) { printf("error!\n"); return-1; } for(i=0;i<*len;i++) fscanf(fp,"%s%lf%s",p[i].szName,&p[i].number,p[i].adress); for(i=0;i<*len;i++) { strcpy(q[i].szName,p[i].szName); strcpy(q[i].adress,p[i].adress); q[i].number=p[i].number;} for(i=0;i<*len;i++) { if(strcmp(p[i].szName,a.szName)==0) { j=1; break; } } if(j==1) { for(;i<*len-1;i++) { strcpy(q[i].szName,q[i+1].szName); strcpy(q[i].adress,p[i].adress); q[i].number=q[i+1].number; } printf("刪除成功!\n"); (*len)--; sput(len,q); for(i=0;i<*len;i++) fscanf(fp,"%s%lf%s",q[i].szName,&q[i].number,q[i].adress); output(len); } else printf(" |*****通訊錄中沒有該人的信息!******|\n");

溫馨提示

  • 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

提交評論