C語(yǔ)言程序的設(shè)計(jì)小組_第1頁(yè)
C語(yǔ)言程序的設(shè)計(jì)小組_第2頁(yè)
C語(yǔ)言程序的設(shè)計(jì)小組_第3頁(yè)
C語(yǔ)言程序的設(shè)計(jì)小組_第4頁(yè)
C語(yǔ)言程序的設(shè)計(jì)小組_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.高級(jí)語(yǔ)言(C)課程設(shè)計(jì)題目:小型通訊錄設(shè)計(jì)院(系、部): 信息完生 名:海霞(5120110752)琳(5120110723)班 級(jí):電112指導(dǎo)教師簽名:2012年7月4日nn艸 一 -A.f J 、/茜咼su珮崗關(guān)*關(guān)關(guān)關(guān)*關(guān)*關(guān)關(guān)關(guān)*關(guān)關(guān)*2、鄉(xiāng) 轉(zhuǎn)萍斗 關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)關(guān)關(guān)*關(guān)*2肅潔乂二対淖然關(guān)關(guān)關(guān)關(guān)關(guān)*關(guān)關(guān)*關(guān)*關(guān)*關(guān)關(guān)關(guān)丿 HrTAv Avvv Av Av Av Avv Av Av Avv Av Av Av Av Av Avvvv Av Av y2 V7 V74/4#A44 V7 V74/4/4/A/A/4V7 v74/4/4/44 V7 V7 V7 V74/A/4/4

2、44v74/4rf、廠、 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一fIF5- M)(* *-x-x-x-x-)(-)(-x-x-x-x-x-)(-x-x-x-)(-)(*-x-x-x-)(-)(-x-x*o爺議豪 廡也 *關(guān)關(guān)關(guān)關(guān)* * *關(guān)關(guān)關(guān)*關(guān)*12議遍潸二 克關(guān)關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)關(guān)關(guān)*關(guān)*26Z時(shí)寺/ 坯眇対凝 1Z關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)關(guān)*關(guān)32弄:梆味刈建灤章*關(guān)關(guān)關(guān)*關(guān)關(guān)*關(guān)關(guān)*33一、任務(wù)書題目6:小型通訊錄設(shè)計(jì)功能:實(shí)現(xiàn)簡(jiǎn)單的通訊錄信息管理,基本信息包括編號(hào)、手機(jī)、郵編、地

3、址、 關(guān)系、性別、生日、QQ、.基本要求:1. 設(shè)計(jì)簡(jiǎn)單的菜單,能夠進(jìn)行系統(tǒng)功能選擇。2. 實(shí)現(xiàn)信息的錄入功能。3. 在已有信息的基礎(chǔ)上添加新的記錄。4. 刪除指定編號(hào)的記錄。5. 復(fù)制指定編號(hào)的記錄6. 實(shí)現(xiàn)信息的瀏覽功能7. 按編號(hào)查詢功能8. 按手機(jī)號(hào)排序功能二. 小組成員情況組長(zhǎng):海霞 學(xué)號(hào):5120110752 負(fù)責(zé):文件導(dǎo)出、刪除、排序、復(fù)制、輸 出組員:琳 學(xué)號(hào):5120110723 負(fù)責(zé):主菜單、添加、查詢、保存退岀另外:主函數(shù),結(jié)構(gòu)體定義,函數(shù)聲明,文件及實(shí)驗(yàn)報(bào)告,雖有分工,但是大多 數(shù)容是有兩人討論后共同完成的。期間各自編寫函數(shù)的過(guò)程中遇到的問(wèn)題 均由兩人共同商討,以及詢問(wèn)

4、老師后,一起解決的。三、總體設(shè)計(jì)利用struct record定義數(shù)據(jù)結(jié)構(gòu),用void聲明函數(shù),用開關(guān)語(yǔ)句switch, case分開事件進(jìn)行程序,實(shí)現(xiàn)系統(tǒng)功能選擇,利用辻,while語(yǔ)句判斷函數(shù),for 語(yǔ)句實(shí)現(xiàn)循環(huán),利用printf和scanf進(jìn)行輸岀與輸入,用getchO輸入字符串,最 終實(shí)現(xiàn)通訊錄功能。通訊錄中的記錄項(xiàng)用結(jié)構(gòu)體record表示,包含10個(gè)屬性:id、name、phone、 address, postcode、relation. QQ、sex、birthday分別代表用戶的編號(hào)、 地址、郵編、e_mail.關(guān)系、QQ、性別、生日。1、結(jié)構(gòu)體坂組:struct record

5、 /定義一個(gè)結(jié)構(gòu)體數(shù)組char id10; 編號(hào)char name20:/ char phone20;/ char adress40 ; /地址 char postcode10: /郵編 char e_mail30; /e-mail char relation20;/關(guān)系 char QQ20;/QQ char sex10 ;/性別 char birthday 20 ; /生日 student500:2、包括的函數(shù):void mainmenuO ;/主菜單 void readfromfileO ;/讀取文件 void newrecordO ; /新添紀(jì)錄 void showall () ; /輸

6、出記錄 void searchmenu () ; /查詢菜單 void searchbyidO ;/按編號(hào)查詢 void searchbyname() ; /按查詢 void searchbyphone () ; /按查詢 void deletemenu () ; /刪除菜單 void deleteall () ;/刪除所有 void deleteoneO ;/刪除單個(gè) void deletebyidO ;/按編號(hào)刪除 void deletebyname() ;/按刪除 void listmenu();/排序菜單 void listbyidO ;/按編號(hào)排序 void listbyname (

7、) ; /按排序 void copy() ;/復(fù)制菜單 void writetofile() ;/保存退出四、模塊劃分及功能主模塊:mainO/主函數(shù) 其他模塊:/主菜單模塊一:void maininenu();模塊二:void readfromfile () ;/讀取文件模塊三:void newrecord();/新添紀(jì)錄模塊四:void showall();/輸出記錄模塊五:void searchmenu();/查詢菜單模塊六:void searchbyidO ;按編號(hào)查詢模塊七:void searchbyname():/按查詢模塊八:void searchbyphoneO ;/按查詢模塊

8、九:void deletemenu();刪除菜單模塊十:void deleteall();刪除所有模塊十一:void deleteone();刪除單個(gè)模塊十二:void deletebyidO ;按編號(hào)刪除模塊十三:void deletebyname();/按刪除模塊十四:void listmenu();排序菜單模塊十五:void listbyidO ;按編號(hào)排序模塊十六:void listbyname();/按排序模塊十七:void copy ();復(fù)制菜單模塊十八:void writetofileO ;保存退出五、算法說(shuō)明:1. 通訊錄中的記錄項(xiàng)用結(jié)構(gòu)體record表示,包含10個(gè)屬性。2

9、. 主菜單:利用switch語(yǔ)句進(jìn)行選擇所需功能;輸入“1”會(huì)進(jìn)入“新添記錄” 的界面;輸入“2”進(jìn)入輸出記錄”的界面;輸入3”會(huì)進(jìn)入查詢菜單”的 界面;輸入“4”進(jìn)入“刪除記錄”的界面;輸入“5”進(jìn)入“記錄排序”的界面; 輸入“7”進(jìn)入“保存退出”的界面;輸入“8”進(jìn)入“不保存退出”的界面。3. 添加記錄:利用printf ()函數(shù)和scanfO函數(shù)實(shí)現(xiàn)按要求輸入信息,再利用 if O語(yǔ)句實(shí)現(xiàn)是否繼續(xù)添加記錄。4. 輸出記錄:利用for循環(huán)和if語(yǔ)句實(shí)現(xiàn)全部輸出;5. 查詢菜單:利用switch選擇查詢方式。在查詢菜單中輸入“1”進(jìn)入“按編號(hào) 查詢”界面;輸入“2”進(jìn)入“按查詢”界面;輸入“

10、3”進(jìn)入“按查詢” 界面;輸入“4”進(jìn)入“主菜單”界面。6. 按編號(hào)查詢:利用for循環(huán)從第一條記錄到最后一條記錄進(jìn)行查找,再利用 if語(yǔ)句判斷要查找的記錄和待比較的編號(hào)是否相等,如找到相同的記錄,就輸 出此人的全部信息,如果沒有找到就顯示沒有此人的信息”。7. 按查詢:利用for循環(huán)從第一條記錄到最后一條記錄進(jìn)行查找,再利用if語(yǔ) 句判斷要查找的記錄和待比較的是否相等,如找到相同的記錄,就輸出此人的全 部信息,再嵌一個(gè)if語(yǔ)句進(jìn)行查找相同名字的人的信息,再嵌一個(gè)if語(yǔ)句繼續(xù) 查找,若不繼續(xù)查找就輸岀“沒有相同的學(xué)生紀(jì)錄按任意鍵返回主菜單”,如果 一開始沒有找到就顯示“沒有此人的信息”。8.

11、按號(hào)查詢:利用for循環(huán)從第一條記錄到最后一條記錄進(jìn)行查找,再利用if 語(yǔ)句判斷要查找的記錄和待比較的是否相等,如找到相同的記錄,就輸岀此人的 全部信息,如果沒有找到就顯示“沒有此人的信”。9. 刪除菜單:利用switch語(yǔ)句進(jìn)行選擇所需功能;輸入“1”會(huì)進(jìn)入“刪除所有” 的界面;輸入“2”進(jìn)入“刪除單個(gè)”的界面;輸入“3”會(huì)進(jìn)入“返回主菜單” 的界面。10刪除所有:利用if語(yǔ)句進(jìn)行是否全部刪除。11. 刪除單個(gè):利用switch語(yǔ)句選擇刪除方式,輸入“1”進(jìn)入“按刪除”界面;輸入“2”進(jìn)入“按刪除”界面。11. 按刪除:利用if語(yǔ)句進(jìn)行判斷是否有記錄,再利用for循環(huán)進(jìn)行查找信息, 如果找到

12、,就顯示所有要?jiǎng)h除的信息,再利用if語(yǔ)句進(jìn)行是否刪除,嵌for循 環(huán),把記錄前移,嵌if語(yǔ)句實(shí)現(xiàn)是否繼續(xù)刪除。12. 按刪除:利用if語(yǔ)句進(jìn)行判斷是否有記錄,再利用for循環(huán)進(jìn)行查找信息, 如果找到,就顯示所有要?jiǎng)h除的信息,再利用if語(yǔ)句進(jìn)行是否刪除,嵌for循 環(huán),把記錄前移,嵌if語(yǔ)句實(shí)現(xiàn)是否刪除相同的同學(xué)信息13. 利用switch語(yǔ)句實(shí)現(xiàn)排序選擇,輸入“1”會(huì)進(jìn)入“按排序的界面;輸入“2” 進(jìn)入“按排序”的界面;輸入“3”會(huì)進(jìn)入“返回主菜單”的界面。14. 按排序:利用for循環(huán)和if語(yǔ)句以及do-, while實(shí)現(xiàn)升序,再利用if語(yǔ)句 實(shí)現(xiàn)是否顯示排序后的信息,調(diào)用顯示函數(shù)。15.

13、按排序排序:利用for循環(huán)和if語(yǔ)句以及do-, while實(shí)現(xiàn)升序,再利用if 語(yǔ)句實(shí)現(xiàn)是否顯示排序后的信息,調(diào)用顯示函數(shù)。框架圖七.流程開始查找search流程圖刪除delete流程圖開始排序list流程圖八、源程序清單include Sinclude Sinclude /控制字符串 Sinclude 控制臺(tái)輸入輸出 struct record /定義一個(gè)結(jié)構(gòu)體數(shù)組 char id10; /編號(hào) char name20;/ char phone20;/ char adress40: /地址 char postcode10: 郵編 char e-mail30; /e_mail char re

14、lation20 ;/關(guān)系 char QQ20;/QQ char sex10 ;/性別 char birthday 20:/生日 student500; int num=0;/外部變量num為文件中的紀(jì)錄數(shù) FILE *p; 定義一個(gè)指向文件的指針變量p void mainmenuO : /主菜單 void readfromf訂o();/讀取文件 void ncwrecord() ;/新添紀(jì)錄 void showall () ;/輸出記錄 void searchmenu():/查詢菜單 void searchbyidO :/按編號(hào)查詢 void searchbyname() ;/按查詢 voi

15、d searchbyphonc() ; /按查詢 void deletemenu() ;/刪除菜單 void deleteall () ;/刪除所有 void deleteoneO ;/刪除單個(gè) void deletebyphoneO ;/按刪除 void dcletebynameO ;/按刪除 void listmenu() ; /排序菜單 void listbyphone();/按排序 void listbyname():/按排序 void copy (): /復(fù)制菜單 void writetofile():/保存退出 void main() readfromfileO ; while (

16、1)mainmenuO ; void readfromfileO/從文件導(dǎo)出,判斷是否有通訊錄if (p=fopen(student, txt, Rrb,)=NULL) 將 fopcn 函數(shù)的返回值賦給指針變量 P,打 開輸入文件student, txtprintf(wntt通訊錄文件不存在);if (p=fopen(student, txt,、b)=NULL) /打開輸出文件 student, txtprintf(wntt 建立失敗);exit(O); /終止正在執(zhí)行的程序elseprintf(wntt通訊錄文件已建立”); printfCntt按任意鍵進(jìn)入主菜單”); getchO ; r

17、eturn;exit(0);fseek(p,0,2); 文件位置指針移動(dòng)到文件末尾,fseek(文件類型指針,位移量,起始點(diǎn)) if (ftell(p)0) /ftell函數(shù)的目的是得到當(dāng)前位置,用相對(duì)于文件開頭的位移量來(lái)表示, 文件不為空rewind(p); 文件位置指針移動(dòng)到文件開始位置,此函數(shù)沒有返回值for (num=0;!feof(p) & fread(&studontnum,sizeof(struct record),1p);num+); /*f read (buffer, size, count, pt)(地址,讀寫的字節(jié)數(shù),讀寫多少數(shù)據(jù)項(xiàng),F(xiàn)ILE類型指針), 每次從P指向的文

18、件中讀入結(jié)構(gòu)體數(shù)組的一個(gè)元素; feof檢查文件是否結(jié)束,遇見文件結(jié)束符,返回非零值*/ printfCntt文件導(dǎo)入成功); printfCntt按任意鍵返回主菜單”); getchO ; return; printfCntt文件導(dǎo)入成功); printfCntt通訊錄文件中無(wú)任何紀(jì)錄”); printf(wntt按任意鍵返回主菜單”); getchO ; return; void mainmenuO/主菜單char choice; system(HclsM) ;/清屏printf (Hntt* 主菜單 * *,r) printf(Hntt* 1-新添紀(jì)錄 2-輸出記錄 *w) printf

19、(Hntt* 3-查詢菜單 4-刪除菜單 *w) printf(Hntt* 5-記錄排序 6-文件復(fù)制 *w) printf(Hntt* 7-保存退出 8-不保存退出*w)printf (Hntt 請(qǐng)選擇:M);choice=getch(); switch(choice) case r1r:ncwrecord():break; case f2r:showall():break; case f3r:searchmonu();break; case f4r:deletemonu();break; case f5r:listmenu();break; case f6r: copy() ; break

20、; case 7:writetof訂e();broak; case f8r:exit(O); break; default:mainmonu(); void newrecord()添加記錄printf (Hntt* 請(qǐng)輸入信息 *n,r); printf(Mntt 輸入編號(hào):”);scanf(w%sn,&studontnum, id);printf(ntt 輸入:”);scanf (w%sn,&studontnum, name);printf(ntt 輸入:”);scanf (w%sn,&studontnum, phone); printf(ntt 輸入地址:”); scanf (w%sn,&

21、studontnum, adress); printf (ntt 輸入郵編:); scanf (w%s,f,&student num postcode); printf(ntt 輸入:”);scanf (w%sn,&studontnum, e mail);printfCntt 輸入 QQ:);scanf (w%sn,ftstudentnum. QQ);printf(Mntt 輸入性別:”);scanf(W%s,&studontnum, sex);printf(Hntt 輸入生日);scanf (w%s,&studcntnum, birthday);printf(Mntt 輸入關(guān)系:”);sca

22、nf(W%s,&studcntnum, relation);num+;printfCntt 是否繼續(xù)添加?(Y/N):);if (getch()=,y) newrocord (); return; void showall ()/輸出記錄int i;system(Hclsn);if(num!=0)printf (Hntt* 以下為通訊錄所有信息*,r); for (i=0;inum;i+)printf (Hntt 編號(hào):%s J student i id); printf(Hntt: %swt studenti. name); printf(Hntt: %sJ studentiphone);

23、printf (untt 地址:studenti. adress); printf(Hntt: %sM,studenti. e_mail); printf(unttQQ: %sM,studenti. QQ); printf (nntt 郵編:%su, student i. postcode); printf (Hntt 生日:%sH, student i. birthday); printf (Hntt 性別:%sw, student i. sex); printf (untt 關(guān)系:%s student i. relation); printf(tt); if (i+lnum)printfC

24、ntt請(qǐng)按任意鍵繼續(xù));getchO ;printf (H ntt*,r); elseprintf(Mntt通訊錄中無(wú)任何紀(jì)錄”); printfCntt按任意鍵返回主菜單:”); getchO ; return;void searchmenu()/查詢菜單char choice;system(,clsH);printf(Hntt* 查詢菜單 *H); printf (Hntt* 1-按編號(hào)查詢 2-按查詢*); printf (Hntt* 3-按查詢 4-返回主菜單*n); printf(Hntt*H); printf (ntt 請(qǐng)選擇:); choice=getch(); switch (

25、choice)case flr:searchbyid();break;case f2r:searchbynamo();break;case f3r:searchbyphone():break;case Wmaininenu(); break;void searchbyid()/按編號(hào)查詢int mark=0; /查找到的個(gè)數(shù)int i;int a=0;printf (Hntt* 按編號(hào)查找 *n); char id10;printfCntt 請(qǐng)輸入編號(hào):”); scanf (w%sM,id);for(i=0; inum; i+)/從第一條記錄開始直到最后一條if (strcmp(student

26、i. id,id)=0) /記錄中的編號(hào)和待比較的編號(hào)是否相等 printf (Hntt* 以下是您查找的信息 *H);printf (Hntt 編號(hào):%s11, studenti. id);printf(Mntt: %swf studenti. name);printf(Mntt: %sfftstudenti. phone);printf (Mntt 地址:s J student i adress);printf(Hntt: %sM,studenti. e_mail);printf(nnttQQ: %sM,studenti. QQ);printf (Mntt 郵編:%s student i.

27、 postcode);printf (Mntt 生日:%sn, student i. birthday); printf (Hntt 性別:%sstudent i. sex); printf (untt 關(guān)系:%s student i. relation); printf (Hntt*,r); printf(wntt按任意鍵返回主菜單:);mark+;getchO ; return; if (mark=0)printfCntt沒有此人的信息”); printfCntt按任意鍵返回主菜單”); getchO ; return;void searchbyname()/按查詢int mark=0;i

28、nt i;int a=0;printf (f,ntt* 按查找 *w); char name20:printf (ntt 請(qǐng)輸入:); scanf (r,%sn ,name); for(i=a;inum;i+)if (strcmp(studenti. name,name) =0) 記錄中的和待比較的是否相等 printf (Hntt* 以下是您查找的學(xué)生信息 *,r); printf (Hntt 編號(hào):studenti. id);printf(Hntt: %swt studenti. name); printf(Hntt: %swt studenti. phone); printf (Hntt

29、 地址:studenti adress); printf(Hntt: %sM,studenti. e_mail); printf(HnttQQ: %s studenti. QQ); printf (Mntt 郵編:%s student i. postcode); printf (Hntt 生日:%sw, student i. birthday); printf (Hntt 性別:%sw, student i. sex); printf (Mntt 關(guān)系:%s student i. relation); printf (*ntt*,r); mark+; if (i+l)num) printf(w

30、ntt是否繼續(xù)查找相同名字的人的信息:(y/n); if (getch()=ry,)a=i;continue; 跳出本次循環(huán),回到第一個(gè)if,繼續(xù)查找elsereturn;elseprintfCntt按任意鍵返回主菜單”);getchO ;return;if(mark!=0)printfCntt沒有相同的學(xué)生紀(jì)錄”);printfCntt按任意鍵返回主菜單”); getchO ;return;elseprintfCntt沒有相同的學(xué)生紀(jì)錄”);printf(ntt按任意鍵返回主菜單”);getchO;return;voi d searchbyphone ()/按查詢int mark=0;int

31、 i;int a=0;printf (Hntt* 按查找 *w); char phono10;printf (ntt 請(qǐng)輸入:);scanf(w%sw,phono);for (i=0;inum;i+)if(strcmp(studenti phono,phone)=0) printf (Hntt* 以下是您查找的信息 *H);printf (Hntt 學(xué)號(hào):%s J student i id); printf(Hntt: %swt studenti. name); printf(Hntt:studenti. phone);printf (Hntt 地址:studenti adress); pri

32、ntf(Hntt: %sw,studenti. e_mail); printf(HnttQQ: %sstudenti. QQ); printf (Mntt 郵編:s,studonti postcode); printf (Hntt 生日:%sw, student i. birthday); printf (Hntt 性別:%sstudent i. sex); printf (Mntt 關(guān)系:%sM,studenti. relation); printf (Hntt*,r); printf(Hntt按任意鍵返回主菜單:”); mark+; getchO;return; if (mark=0)pr

33、intf(Hntt沒有此人的信息”); printfCntt按任意鍵返回主菜單”); getchO;return; void deletemonuO刪除菜單char choice;if (nu hf=0)printfCntt對(duì)不起,文件中無(wú)任何紀(jì)錄”); printf(Hntt按任意鍵返回主菜單”); getchO;return; system(,clsH); printf(ntt*刪除菜單*); printf (ntt* 卜刪除所有 *,r); printf (Hntt* 2-刪除單個(gè) *,r); printf (Hntt* 3-返回主菜單*); printf(ntt*); printf (

34、Hntt 請(qǐng)選擇:M);choice二getchO; switch (choice) case 11r:deleteal1();break;case 121:deleteono();break;case 3:mainmenu();break;def au11:ma i nmonu();break;void deleteall ()刪除所有printfCntt 確認(rèn)刪除?(y/n)R);if (getchO=,y)fclose(p); 成功執(zhí)行了關(guān)閉操作,返回值為0if (p=fopenC1 student, tex, Wwb) )=NULL) /打開輸出文件 printf(wntt不能打開文件

35、,刪除失敗”);readfromfileO ;num=0;printfCntt紀(jì)錄已刪除,按任意鍵返回主菜單);getchO ;return;elsereturn;void deleteoneO刪除單個(gè)char choice;printfCnttl-按刪除 2-按刪除);printf (ntt 請(qǐng)選擇:);choice=getch();switch (choice)case 111:deletebyphone() ; break;case 121:deletebynamo();break;void deletebyphone()/按刪除int i,j;int doletomark=0;char

36、 phone20;printf(wntt請(qǐng)輸入要?jiǎng)h除:”);scanf(w%sH,phone);if (nu hf=0)printfCntt對(duì)不起,文件中無(wú)任何紀(jì)錄”); printfCntt按任意鍵返回主菜單”); getchO ;return;for (i=0;inum;i+)if (strcmp(studenti phono,phono)=0)printfCntt以下是您要?jiǎng)h除的紀(jì)錄:”); printf (Hntt 編號(hào):studenti. id); printf(Hntt: %swt studenti. name); printf(Hntt:studenti. phone);prin

37、tf (Hntt 地址:s J student i adress); printf(Hntt: %sw,studenti. ejnail); printf(unttQQ: %sM,studenti. QQ); printf (nntt 郵編:%s student i. postcode); printf (Hntt 生日:%sw, student i. birthday); printf (Hntt 性別:%sw, student i. sex); printfCntt 是否刪除?(y/n); if (getch()=,y)for (j=i; jnum-l; j+) /刪除該記錄,后續(xù)記錄前移

38、 studcntj=studentj+l; num; /記錄數(shù)減1 deletemark+; printfCntt 刪除成功); printfCntt 是否繼續(xù)刪除?(y/n)”); if (getch()=,y) deletobyphoneO ; return;elsereturn;continue;if (deletomark=0)printfCntt沒有此人的紀(jì)錄”); printf(wntt 是否繼續(xù)刪除?(y/n); if (getch()=ry,) deletobyphoneO ; return; void dcletebynameO/按刪除 int a=0; int findma

39、rk=O; int j;int deletomark=0;int i;char name20:printfCntt請(qǐng)輸入要?jiǎng)h除學(xué)生:”); scanf (w%sn,name); for (i=a;inum;i+)if (strcmp(studenti name,name) =0)printfCntt以下是您要?jiǎng)h除的學(xué)生紀(jì)錄:); findmark+;printf (ntt);printf (Hntt 編號(hào):studenti. id); printf(Hntt: %swt studenti. name); printf(Hntt:studenti. phone);printf (Hntt 地址:

40、s J student i adress); printf(Hntt: studenti e_mail); printf(nnttQQ: %sM,studenti. QQ); printf (nntt 郵編:%s student i. postcode); printf (Hntt 生日:%sH, student i. birthday); printf (Hntt 性別:%sw,studenti. sex);printf (ntt);printfCntt 是否刪除?(y/n)R); if (getch0=,y)for (j=i; jnum-l; j+) /紀(jì)錄移動(dòng),后續(xù)記錄前移 num;de

41、letemark+; printfCntt 刪除成功); if(i+l)num)printf(Hntt是否繼續(xù)刪除相同的同學(xué)信息?(y/n)M); if (getch()=ry,)a=i;continue;printf(Hntt 是否繼續(xù)刪除?(y/n)”);if (getch()=,y)deletebyname();return; /返回主菜單if(i+1)num)printf(Hntt是否繼續(xù)刪除相同的同學(xué)信息?(y/n) ”);if (getch()=,y)a=i;continue;elsecontinue;if (deletcmark=O)&(findmark=0)printf(ntt

42、沒有此人的紀(jì)錄);printf(Hntt 是否繼續(xù)刪除?(y/n)”);if (getch()=,y)deletebyphoneO ;return;return;else if (findmark!=0)printf (ntt沒有重名信息”);printf(ntt沒有此人的紀(jì)錄);printf(Hntt 是否繼續(xù)刪除?(y/n)”);if (getch()=,y)deletebypphoneO ;return;return;void listmenu()/排序菜單 char choice; if(num=0) printf(Mntt對(duì)不起,文件中無(wú)任何紀(jì)錄”); printfCntt按任意鍵返

43、回主菜單); getchO;return; system(HclsM);printf (Hntt* 排序菜單 *,r);printf (Hntt* 1 -按排序 2-按排序 *,r);printf (Hntt* 3-返回主菜單 *w);printf (Hntt 請(qǐng)選擇:w);choice=getch(); switch(choice) case f1r:1i s tbyphone():break; case f2r:listbynamo();break; case f3r:mainmeniK);break; default:mainmonu();break; void listbyphoneO

44、/按排序 int i.j;record tmp; /臨時(shí)變量做交換數(shù)據(jù)用for (i=l;inum;i+)if(strcmpCstudenti phone,studenti-1 phone)0)tmp=studcnti:j=i-l;dostudcntj+l=studcntj:j一;/while (strcmp(tmp phono,studentj phone)=0); studontj+l=tmp;printf(Hntt排序成功,是否顯示?(y/n)w);if (getch()=ry,)showall ();return;void listbyname()/按排序int i,j;record tmp;for (i=l;inum;i+)if(strcmp(studenti. name,studenti-1. name)0)tmp=student i;j=i-l;dostudentj+l=studcntj;j;while (strcmp(tmp. name,studentj. name)=0);studentj+l=tmp;printfCntt排序成功,是否顯示?(y/n)w);if (getch()=,y)showall ();return;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論