【正文】
if(fp==NULL) { printf(\n=====can not open file!\n)。 exit(0)。 } while(!feof(fp)) { if(fread(amp。tele[count],sizeof(TELEBOOK),1,fp)==1)/*一次從此文件讀取一條電話簿記錄*/ count++。 } fclose((fp))。 printf(\n==open file succcess,the total records number is:%d.\n,count)。 getchar()。 menu()。 while(1) { system(cls)。 menu()。 printf(\n Please Enter your choice(0~4):)。/*顯示提示信息*/ scanf(%d,amp。select)。 if(select==0) { if(saveflag==1) /*若對(duì)數(shù)組的數(shù)據(jù)有修改切未進(jìn)行存盤操作,則此標(biāo)志為1*/ { getchar()。 printf(\n==Whether save the modified record to file?(y\n):)。 scanf(amp。c,amp。ch)。 if(ch==39。y39。||ch==39。Y39。) save(tele,count)。 } printf(\n===thank you for useness!)。 getchar()。 break。} switch(select) { case 1:count=Add(tele,count)。break。/*增加電話簿記錄*/ case 2:clrscr()。Disp(tele,count)。break。/*顯示電話簿記錄*/ case 3:modify(tele,count)。break。/*修改電話簿記錄*/ case 4:save(tele,count)。break。/*保存*/ default:wrong ()。getchar()。break。/*按鍵有誤,必須為數(shù)值0~4*/ } } }五、結(jié)果及討論:(一)主菜單界面:用戶進(jìn)入電話簿管理系統(tǒng)時(shí),通過主函數(shù)調(diào)用菜單函數(shù),屏幕上顯示主菜單界面,指示用戶按對(duì)應(yīng)的數(shù)字進(jìn)行選擇,完成相應(yīng)的任務(wù)。圖3 系統(tǒng)運(yùn)行時(shí)的初始界面(二)格式化輸入數(shù)據(jù):在該電話簿管理系統(tǒng)中,輸入的只有字符型數(shù)據(jù),該功能用一個(gè)函數(shù)stringinput(char *t,int lens,char *notice)單獨(dú)實(shí)現(xiàn),該函數(shù)將提示用戶輸字符串,并對(duì)用戶輸入的字符串進(jìn)行長度驗(yàn)證(長度必須小于lens)。 輸入界面如下圖所示。圖4 數(shù)據(jù)輸入后顯示的界面(三)數(shù)據(jù)顯示:圖5 數(shù)據(jù)顯示界面(四)修改記錄顯示:當(dāng)輸入幾組數(shù)據(jù)后,系統(tǒng)中就有了剛才從外界輸入的信息。通過主菜單中給出的提示輸入相應(yīng)的數(shù)字通過主函數(shù)來調(diào)用Modify ()函數(shù)。當(dāng)執(zhí)行此修改任務(wù)時(shí),系統(tǒng)提示用戶進(jìn)行修改字段的選擇。輸入響應(yīng)的字符,得到如下界面:圖6 數(shù)據(jù)修改完后的界面(五)保存記錄顯示保存記錄顯示界面如下圖:這次我們組接到的課程設(shè)計(jì)題目——電話簿管理系統(tǒng)的修改電話薄記錄的部分相對(duì)來說比較難,所以在完成題目的過程中遇到了許多困難,但經(jīng)過努力,終于完成了這個(gè)課程設(shè)計(jì)。在大家有順序的瀏覽設(shè)計(jì)說明之后,根據(jù)個(gè)人的特長和選擇進(jìn)行了任務(wù)分配進(jìn)行課程設(shè)計(jì)。我們首先對(duì)電話薄管理系統(tǒng)的公共部分進(jìn)行了準(zhǔn)確錄入,然后大家一起進(jìn)行了分析研究,了解了電話薄管理系統(tǒng)的運(yùn)行過程,使大家對(duì)設(shè)計(jì)對(duì)象有了一定的了解。之后,我組將任務(wù)分配后,集大家的意見和設(shè)計(jì)方案設(shè)計(jì)出了電話薄管理系統(tǒng)的排序記錄部分。在多次的失敗和老師不倦的幫助下完成了整個(gè)排序記錄部分。在這次課程設(shè)計(jì),我們學(xué)到了曾經(jīng)不知道的函數(shù)或不會(huì)的函數(shù)用法,特別是文件的開啟和關(guān)閉。在編寫過程中遇到了兩個(gè)比較深刻的問題,一個(gè)是我們發(fā)現(xiàn)排序完之后直接跳轉(zhuǎn)回MENU界面,使我們很困惑,之后在老師的幫助之下,我們通過加入getchar()來解決了問題;另一個(gè)是我們總是遇到執(zhí)行完兩部分過程之后內(nèi)容重疊的問題,最后在老師的指導(dǎo)之下,我們將system(“cls”)修改成clrscr來進(jìn)行清屏修改。通過本課程設(shè)計(jì)的實(shí)踐提高了發(fā)現(xiàn)問題、分析問題、以及解決問題特別是用計(jì)算機(jī)編程解決實(shí)際問題的能力。這次程序設(shè)計(jì)讓我們對(duì)知識(shí)進(jìn)行了一次總結(jié)和鞏固,而通過這次做課程設(shè)計(jì),也使我們明白了實(shí)踐的重要性,我現(xiàn)在也很愿意做一些實(shí)踐活動(dòng),來提高自己的能力。這次做課程設(shè)計(jì)使我搞清楚許多程序上的知識(shí),受益非淺,我以后會(huì)多參與這種活動(dòng)來鍛煉自己的。六、指導(dǎo)教師的意見:簽名:年 月 日成績評(píng)定:學(xué)生姓名成績學(xué)生姓名成績學(xué)生姓名成績森陽雪