




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
/計算機科學與工程學院課程設計報告題目全稱:通訊錄管理軟件題目難度等級:2指導老師:盧光輝職稱:副教授學生姓名:楊玉芳學號:班號:信安四班平時〔上機〔10分計算機使用技能〔10分課程設計報告〔20分計算機專業(yè)技能〔60分加分項〔不超過5分總分備注:如參加答辯,請答辯老師給出計算機專業(yè)技能〔60分的分數(shù)。請指導教師給出除計算機專業(yè)技能〔60分以外的其他分數(shù)。如參加答辯,請答辯老師簽字:主要任務:設計一個基于PC的通訊錄管理軟件,具有圖形用戶界面,能增/刪/改/查找通訊記錄,并存儲為文件。詳細功能描述:設計一個基于PC的通訊錄管理軟件,具有用戶界面,能增/刪/改/查找通訊記錄,并存儲為文件。預期成果或目標:通訊錄管理軟件。指導老師評語:指導教師簽字:摘要通信錄信息管理系統(tǒng)是計算機管理電子通信錄的一種計算機應用技術的創(chuàng)新,在計算機還未普及之前通信管理都是由聯(lián)系人采用名片,筆錄手工記帳的方式來操作的.現(xiàn)在一般的通信錄管理都是采用計算機作為工具的實用的計算機通信錄管理程序來幫助人們進行更有效的通信錄信息管理。通信錄管理系統(tǒng)是典型的信息管理系統(tǒng)<MIS>,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫;而對于后者則要求應用程序功能完備,易使用等特點。
經(jīng)過分析,我們使用MICROSOFT公司的VISUALC++6.0開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。關鍵字:通信錄信息管理,管理信息系統(tǒng),VisualC++6.0,Access,數(shù)據(jù)庫AbstractThedirectoryinformationmanagementsystemsusingelectronicdirectoryofacomputermanagementcomputerapplicationtechnologyinnovationinthecomputercommunicationsmanagementarenotpopularbeforetheintroductionofbusinesscontacts,Theaccountingapproachtotheoperationmanualtranscription.generaldirectorymanagementarenowusingthecomputerasatoolforcomputerdirectorymanagementprocedurestohelppeoplemoreeffectivelydirectoryinformationmanagement.Directorymanagementsystemisatypicalmanagementinformationsystem<MIS>,includingitsmaindevelopmentbackgroundtotheestablishmentandmaintenanceofthedatabaseandfront-endapplicationdevelopment2.Therequestfortheestablishmentofstrongdataconsistencyandintegrity,goodforthesecurityofthedata.Forthelatterrequestapplicationsfunctions,suchaseasytousefeatures.
Afteranalysis,weuseMicrosoftVisualC++6.0developmenttoolcompanies,theuseofitsvariousobject-orienteddevelopmenttools,especiallydatathatcanbeeasilyaccessibleandconcisewindowmanipulationdatabaseintelligentobjects,thefirstprototypeapplicationsysteminashorttimeandthen,computationoftheinitialprototypesystemneedstoconstantlyreviseandimproveuntiltheformationofaviablesystemofusersatisfaction.keyword:directoryinformationmanagement,managementinformationsystems,VisualC++6.0,Access,SQL.目錄緒論第一章.設計系統(tǒng)的必要性和可行性第二章.系統(tǒng)總體設計2.1題目要求2.2需求分析2.3總體設計2.31系統(tǒng)總體功能單元2.32系統(tǒng)總體流程圖2.33系統(tǒng)運行總體界面預覽第三章.詳細設計3.1通訊錄信息輸入模塊3.2信息瀏覽與排序模塊3.3通訊錄查詢模塊3.4通訊錄更改3.5通訊錄文件操作第四章.調(diào)試與測試4.1數(shù)據(jù)錄入4.2測試瀏覽排序功能4.3測試查詢功能4.4測試通訊錄的更改操作4.5測試通訊錄文件操作功能4.6測試通訊錄其他功能第五章.課程設計心得第六章.總結與展望第七章.參考文獻緒論當今時代是飛速發(fā)展的的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統(tǒng)的原因。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。隨著市場經(jīng)濟的發(fā)展和人們生活水平的提高,隨著科學技術的發(fā)展,計算機領域不斷取得新的研究成果。計算機在代替和延伸腦力勞動方面發(fā)揮越來越重要的作用,不僅在工業(yè)方面而且在日常生活中也越來越離不開計算機。本文論述了通訊錄系統(tǒng)的整個開發(fā)過程,包括系統(tǒng)分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)等方面。實現(xiàn)對通訊錄信息的增、刪、改、查等功能,以多文檔界面形式實現(xiàn)。該軟件具有方便性、可靠性、壽命長、可行性、安全性的優(yōu)點。一個學校,單位,企業(yè)的通信錄管理是一項重要工作。計算機管理通信檔案,日常辦公,實現(xiàn)現(xiàn)代化辦公,分析通信現(xiàn)狀通過強大的查詢和索檢高效的索檢出數(shù)據(jù),提高辦事效率。第一章、設計系統(tǒng)的必要性和可行性:管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關重要,所以人事勞資管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長對于查找、更新和維護都帶來了不少的困難。1.1管理信息系統(tǒng)是企業(yè)的信息系統(tǒng),它具備數(shù)據(jù)處理、計劃、控制、預測和輔助決策功能,具體作用如下:〔1用統(tǒng)一標準處理和提供信息,排除使用前后矛盾的不完整的數(shù)據(jù)。〔2完整、及時提供在管理及決策中需要的數(shù)據(jù)。〔3利用指定的數(shù)據(jù)關系式分析數(shù)據(jù),客觀預測未來?!?向各級管理機構提供不同詳細程度的報告,縮短分析和解釋時間?!?向各級管理機構提供不同詳細程度的報告,縮短分析和解釋時間。管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關重要,所以人事勞資管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難??尚行匝芯渴窃谲浖_發(fā)前對軟件項目的可行性做出細致而謹慎的評估。在定義階段及早發(fā)現(xiàn)將來可能在開發(fā)過程中遇到的問題,及早做出決定,可以避免大量的人力、財力、時間上的浪費。因此,盡早對軟件項目的可行性做出細致而謹慎的評估是十分必要的。1.2經(jīng)濟可行性進行開發(fā)成本的估算及可能取得效益的評估,確定待開發(fā)系統(tǒng)是否值得投資開發(fā)。經(jīng)濟可行性研究涉及范圍較廣,包括成本-效益分析、開發(fā)所需的成本和資源,以及潛在的市場前景。新生報到系統(tǒng)開發(fā)成本低,面向的是學校內(nèi)的各個系,有一定的使用價值,所以該軟件經(jīng)濟上可行。第二章、系統(tǒng)總體設計:2.1題目要求〔1所有記錄保存在一個數(shù)據(jù)文件中,具有用戶界面;〔2具備記錄添加功能;〔3記錄查詢功能〔如按姓名,電話號碼查詢;〔4記錄修改功能;〔5記錄刪除和顯示功能。2.2需求分析根據(jù)題目要求,對通訊錄管理功能進行分析,按照要求提供顯示、查詢、修改、刪除和添加等功能,在主菜單中進行操作使用。2.3總體設計通訊錄總體上分為5個功能模塊,包括通訊錄信息輸入,通訊錄信息顯示與刪除,通訊錄信息查詢,通訊錄信息修改,通訊錄及文件操作等五部分。2.31系統(tǒng)總體功能單元圖:通訊錄信息通訊錄信息管理系統(tǒng)通訊錄信息輸入通訊錄信息顯示及刪除通訊錄信息查詢通訊錄信息修改通訊錄及文件操作系統(tǒng)總體功能單元圖2.32系統(tǒng)總體設計流程圖:開始開始intchoiceintchoice;choice=1choice=1 Y Nchoice=2信息輸入choice=2信息輸入 N choice=3 Ychoice=3=4信息刪除=4信息刪除結束信息更改信息查詢結束信息更改信息查詢系統(tǒng)總體設計流程圖2.33系統(tǒng)運行總體界面預覽圖:系統(tǒng)運行總體界面圖第三章.詳細設計:3.1通訊錄信息輸入模塊:概述:主要使用if循環(huán)完成對通訊錄的原始數(shù)據(jù)錄入。包括姓名,電話號碼,住址,生日,郵箱,關系等。代碼:voidadd<structtongxunlurecode[]>{ intn,count=0,t,i,m;/*變量n作為是否保存判斷,t判斷是否繼續(xù)添加,i循環(huán)判斷,m記還可添加數(shù)目*/ FILE*fp; structtongxunlus,p;/*定義新結構s保存新輸入信息,新結構p保存原來已經(jīng)保存在文件的信息*/ if<<fp=fopen<"f:\\project.txt","a+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } while<!feof<fp>>{/*計算文件中已有記錄數(shù)count*/ fscanf<fp,"%s%s%s%s%s%s\n",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ count++; } printf<"|*****************開始添加****************|\n">; printf<"|*******************注意:地址不要超過十個字*******************|\n">; for<i=0;i<200;i++>{ printf<"姓名:">; scanf<"%s",&>; printf<"電話號碼:">; scanf<"%s",&s.phonenumber>; printf<"住址:">; scanf<"%s",&s.address>; printf<"生日:">; scanf<"%s",&s.birthday>; printf<"郵箱:">; scanf<"%s",&s.mail>; printf<"關系:">; scanf<"%s",&s.relation>; printf<"保存記錄請按1,否則按其他數(shù)字!\n">; printf<"輸入您的選擇:">; scanf<"%d",&n>; if<n==1>{ fprintf<fp,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,s.phonenumber,s.address,s.birthday,s.mail,s.relation>; printf<"保存成功!\n">; count++; system<"pause">; system<"cls">; } elseif<n!=1>{ system<"cls">; break; } if<count<=200>{ system<"cls">;/*一次記錄保存后清屏*/ m=200-count; printf<"您已經(jīng)輸入了%d個記錄,還可以輸入%d個!\n",count,m>; } else{ printf<"您的通訊錄已滿!\n">; system<"cls">; } printf<"按0退出添加,按其他數(shù)字繼續(xù)添加!\n">; scanf<"%d",&t>; if<t==0>{ system<"cls">; break; } } if<fclose<fp>>{ printf<"cannotclocethefile!">; exit<0>; }}3.2信息顯示及刪除模塊:概述:本模塊主要完成對已輸入的通訊錄信息進行顯示及刪除,再利用函數(shù)調(diào)用來完成按照姓名,電話號碼等進行查看的工作。信息顯示代碼:voidshow<structtongxunlurecode[]>{ structtongxunlup;/*定義新結構變量保存要顯示的信息*/ intl,i,j,n=0,m; FILE*fp; if<<fp=fopen<"f:\\project.txt","r+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } for<j=0;j<200;j++>{ if<feof<fp>> break; fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ n++; } if<n==1>{ printf<"###################################\n">; printf<"###您還沒有添加任何聯(lián)系人!###\n">; printf<"###################################\n">; } else{ m=ftell<fp>;/*用while〔!feof〔fp直接循環(huán)會是最后一條信息顯示兩次,此處解決此問題*/ fseek<fp,-m,1>;/*將文件指針移向開頭*/ printf<"##################################\n">; printf<"###您總共有以下%d個聯(lián)系人!###\n",n-1>; printf<"##################################\n">; printf<"||\n">; printf<"|***************通訊錄**************|\n">; printf<"||\n">; printf<"|姓名號碼地址生日郵箱關系|\n">; printf<"||\n">; for<j=0;j<n-1;j++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>;/*輸出新結構中項目*/ printf<"||\n">; } } printf<"按0退出查看!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; if<fclose<fp>>{ printf<"cannotclocethefile!">; exit<0>; }}信息刪除代碼:voidomit<structtongxunlurecode[]>{ structtongxunlus,p;/*定義兩個新結構變量,s用來保存要查詢的某個項目,p用來保存查詢到需輸出結構各項目*/ intflag,a,l,n,i,m=0,q,x=0;/*flag作為判斷查詢開始,a為判斷查詢方式,l為判斷是否退出查詢,n是fteel返回值*/ FILE*fp,*fpz; if<<fp=fopen<"f:\\project.txt","a+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } if<<fpz=fopen<"f:\\recode.txt","w+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } printf<"按0選擇姓名查詢刪除,按1選擇號碼查詢刪除!\n">; printf<"輸入您的選擇:">; scanf<"%d",&a>; if<a==0>{/*用姓名查詢刪除*/ printf<"輸入要刪除的記錄姓名:">; scanf<"%s",&>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ x++; } fseek<fp,0L,0>; for<i=0;i<x-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ n=ftell<fp>; if<strcmp<,>!=0> fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; if<strcmp<,>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>;/*輸出新結構中項目*/ printf<"||\n">; printf<"是否要刪除這條記錄!\n">; printf<"確認按1,退出按0\n">; printf<"輸入您的選擇:">; scanf<"%d",&l>; if<l==1>{ fseek<fp,n,0>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;m++; } fseek<fp,n,0>; for<i=0;i<m-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; } printf<"刪除成功!\n">; system<"pause">; system<"cls">; } if<l==0> system<"cls">; } else{ printf<"您的通訊錄中沒有此記錄!\n">; printf<"按0退出刪除!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } } elseif<a==1>{/*用號碼查詢刪除*/ printf<"輸入要刪除的記錄號碼:">; scanf<"%s",&s.phonenumber>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ x++; } fseek<fp,0L,0>; for<i=0;i<x-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ n=ftell<fp>; if<strcmp<s.phonenumber,p.phonenumber>!=0> fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; if<strcmp<s.phonenumber,p.phonenumber>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; /*輸出新結構中項目*/ printf<"||\n">; printf<"是否要刪除這條記錄!\n">; printf<"按1確認,按0退出!\n">; printf<"輸入您的選擇:">; scanf<"%d",&l>; if<l==1>{ fseek<fp,n,0>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;m++; } fseek<fp,n,0>; for<i=0;i<m-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; } printf<"刪除成功!\n">; system<"pause">; system<"cls">; } if<l==0> system<"cls">; } else{ printf<"您的通訊錄中沒有此記錄!\n">; printf<"按0退出刪除!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } } if<fclose<fp>>{ printf<"cannotclocethefile!">; exit<0>; } if<fclose<fpz>>{ printf<"cannotclocethefile!">; exit<0>; } remove<"f:\\project.txt">; shanjia<recode>;}3.3通訊錄查詢模塊:概述:通過用For循環(huán)構造查詢函數(shù)來完成查找功能。代碼:voiddemand<structtongxunlurecode[]>{ structtongxunlus,p;/*定義兩個新結構變量,s用來保存要查詢的某個項目,p用來保存查詢到需輸出結構各項目*/ intflag,a,l;/*flag作為判斷查詢開始,a為判斷查詢方式,l為判斷是否退出查詢*/ FILE*fp; if<<fp=fopen<"f:\\project.txt","r+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } printf<"按0選擇姓名查詢,按1選擇號碼查詢!\n">; printf<"輸入您的選擇:">; scanf<"%d",&a>; if<a==0>{/*用姓名查詢*/ printf<"輸入要查詢的姓名:">; scanf<"%s",&>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ if<strcmp<,>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|姓名號碼地址生日郵箱關系|\n">; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>;/*輸出新結構中項目*/ printf<"||\n">; printf<"按0退出查詢!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } else{ printf<"您的通訊錄中沒有此記錄!\n">; printf<"按0退出查詢!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } } elseif<a==1>{/*用號碼查詢*/ printf<"輸入要查詢的號碼:">; scanf<"%s",&s.phonenumber>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ if<strcmp<s.phonenumber,p.phonenumber>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|姓名號碼地址生日郵箱關系|\n">; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; /*輸出新結構中項目*/ printf<"||\n">; printf<"按0退出查詢!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } else{ printf<"您的通訊錄中沒有此記錄!\n">; printf<"按0退出查詢!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } } if<fclose<fp>>{ printf<"cannotclocethefile!">; exit<0>; } }3.4通訊錄的修改:概述:本模塊主要通過編寫并調(diào)用調(diào)用rewrite<>,add<>,delete<>函數(shù)對通訊錄進行修改操作。代碼:voidrevamp<structtongxunlurecode[]>{ FILE*fp,*fpz; structtongxunlus,p,m,z;/*定義兩個新結構變量,s用來保存要查詢的某個項目,p用來保存查詢到需輸出結構各項目*/ intflag,a,l,choice,n,d=0,i,x=0;/*flag作為判斷查詢開始,a為判斷查詢方式,l為判斷是否退出查詢,choice作為判斷刪除項目,d記錄原有文件數(shù),i循環(huán)判斷*/ if<<fp=fopen<"f:\\project.txt","a+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } if<<fpz=fopen<"f:\\recode.txt","w+">>==NULL>{ printf<"Fileopenerror!">; exit<0>; } printf<"按0選擇姓名查詢修改,按1選擇號碼查詢修改!\n">; printf<"輸入您的選擇:">; scanf<"%d",&a>; if<a==0>{/*用姓名查詢修改*/ printf<"輸入要修改記錄的姓名:">; scanf<"%s",&>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ x++; } fseek<fp,0L,0>;/*將文件指針定向開頭*/ for<i=0;i<x-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ n=ftell<fp>; if<strcmp<,>!=0> fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; if<strcmp<,>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>;/*輸出新結構中項目*/ printf<"||\n">; m=p; fseek<fp,n,0>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; d++; } fseek<fp,n,0>;/*用while〔!feof〔fp直接循環(huán)會是最后一條信息保存兩次,此處解決此問題*/ for<i=0;i<d-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; } printf<"是否要修改這條記錄?\n">; printf<"確認請按1,退出請按0!\n">; printf<"輸入您的選擇:">; scanf<"%d",&l>; system<"cls">; if<l==1>{ printf<"||\n">; printf<"|修改項目|\n">; printf<"||\n">; printf<"|choice[1]:修改姓名|\n">; printf<"|choice[2]:修改號碼|\n">; printf<"|choice[3]:修改地址|\n">; printf<"|choice[4]:修改生日|\n">; printf<"|choice[5]:修改郵箱|\n">; printf<"|choice[6]:修改關系|\n">; printf<"||\n">; printf<"輸入您的選擇:">; scanf<"%d",&choice>; switch<choice>{ case1: printf<"%s",>; printf<"改成:">; scanf<"%s",&>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case2: printf<"%s",m.phonenumber>; printf<"改成:">; scanf<"%s",&m.phonenumber>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case3: printf<"%s",m.address>; printf<"改成:">; scanf<"%s",&m.address>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case4: printf<"%s",m.birthday>; printf<"改成:">; scanf<"%s",&m.birthday>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case5: printf<"%s",m.mail>; printf<"改成:">; scanf<"%s",&m.mail>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case6: printf<"%s",m.relation>; printf<"改成:">; scanf<"%s",&m.relation>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; default: break; } } elseif<l==0> system<"cls">; } else{ printf<"您的通訊錄中沒有此記錄!\n">; printf<"按0退出修改!\n">; scanf<"%d",&l>; if<l==0> system<"cls">; } } elseif<a==1>{/*用號碼查詢修改*/ printf<"輸入要修改記錄的號碼:">; scanf<"%s",&s.phonenumber>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ x++; } fseek<fp,0L,0>; for<i=0;i<x-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>;/*將數(shù)據(jù)保存在新結構變量中*/ n=ftell<fp>; if<strcmp<s.phonenumber,p.phonenumber>!=0> fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; if<strcmp<s.phonenumber,p.phonenumber>==0>{ flag=1; break; } } if<flag==1>{ printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>;/*輸出新結構中項目*/ printf<"||\n">; m=p; fseek<fp,n,0>; while<!feof<fp>>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; d++; } fseek<fp,n,0>;/*用while〔!feof〔fp直接循環(huán)會是最后一條信息保存兩次,此處解決此問題*/ for<i=0;i<d-1;i++>{ fscanf<fp,"%s%s%s%s%s%s",&,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation>; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,p.phonenumber,p.address,p.birthday,p.mail,p.relation>; } printf<"是否要修改這條記錄?\n">; printf<"確認請按1,退出請按0!\n">; printf<"輸入您的選擇:">; scanf<"%d",&l>; system<"cls">; if<l==1>{ printf<"||\n">; printf<"|修改項目|\n">; printf<"||\n">; printf<"|選擇[1]:修改姓名|\n">; printf<"|選擇[2]:修改號碼|\n">; printf<"|選擇[3]:修改地址|\n">; printf<"|選擇[4]:修改生日|\n">; printf<"|選擇[5]:修改郵箱|\n">; printf<"|選擇[6]:修改關系|\n">; printf<"||\n">; printf<"輸入您的選擇:">; scanf<"%d",&choice>; switch<choice>{ case1: printf<"%s",>; printf<"改成:">; scanf<"%s",&>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case2: printf<"%s",m.phonenumber>; printf<"改成:">; scanf<"%s",&m.phonenumber>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case3: printf<"%s",m.address>; printf<"改成:">; scanf<"%s",&m.address>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case4: printf<"%s",m.birthday>; printf<"改成:">; scanf<"%s",&m.birthday>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case5: printf<"%s",m.mail>; printf<"改成:">; scanf<"%s",&m.mail>; printf<"||\n">; printf<"|%-7s%-12s%-22s%-10s%-20s%-3s|\n",,m.phonenumber,m.address,m.birthday,m.mail,m.relation>; printf<"||\n">; fprintf<fpz,"%-7s%-12s%-22s%-10s%-20s%-3s\n",,m.phonenumber,m.address,m.birthday,m.mail,z.relation>; printf<"修改成功!\n">; system<"pause">; system<"cls">; break; case6: printf<"%s",m.relation>; printf<"改成:">; scanf<"%s",&m.rel
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《安全工程師》2024年遵義縣臨考沖刺試題含解析
- 2025年童書項目投資風險評估報告
- 河南省輝縣市一高2025屆高考化學倒計時模擬卷含解析
- 供應鏈智能化技術分析試題及答案
- 2024年CPSM考試提高自信試題及答案
- 物流人才培養(yǎng)方向試題與答案
- 2025年陶瓷分離膜及功能隔膜項目合作計劃書
- 植物繁殖方式的多樣性:試題及答案
- 學習方法:高效復習CPMM的技巧及試題及答案
- 大連市第九中學2025年高三二診模擬考試化學試卷含解析
- 盤筑成型專題知識培訓
- (完整版)CST使用教程
- Q∕SY 02098-2018 施工作業(yè)用野營房
- 六年級下冊心理健康教案-第三十一課 為升學做準備 釋放壓力 輕松迎考|北師大版
- 浙教版勞動五年級下冊 項目三 任務三 環(huán)保小車我來造 教案
- 山東大學畢業(yè)論文答辯通用ppt模板
- 35kV高壓電纜敷設專項施工方案(完整版)
- 天井施工方法及安全管理建議
- 隔膜壓縮機(課堂PPT)
- 失效模式分析報告范例
- 風電齒輪箱結構原理及維護知識
評論
0/150
提交評論