資源描述:
《c語言程序設(shè)計(jì)實(shí)踐報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、中南大學(xué)C語言程序設(shè)計(jì)實(shí)踐報(bào)告題目通訊錄程序設(shè)計(jì)學(xué)生姓名指導(dǎo)教師學(xué)院專業(yè)班級完成時(shí)間一、任務(wù)描述通訊錄程序設(shè)計(jì)設(shè)計(jì)一個(gè)實(shí)用的小型通訊錄程序,具有添加,查詢和刪除功能。由姓名,籍貫,電話號碼1,電話號碼2,電子郵箱組成,姓名可以由字符和數(shù)字混合編碼。電話號碼可由字符和數(shù)字組成。實(shí)現(xiàn)功能:(1)系統(tǒng)以菜單方式工作(2)信息錄入功能(3)信息瀏覽功能(4)信息查詢功能(5)信息修改功能(6)系統(tǒng)退出功能二、算法描述設(shè)計(jì)一個(gè)實(shí)用的的小型通訊錄程序必須具備系統(tǒng)以菜單方式工作、信息錄入、信息瀏覽、信息查詢、信息修改
2、、系統(tǒng)退出功能,那么就需要這樣的函數(shù)來實(shí)現(xiàn)。因此,我需要自定義這樣的函數(shù)來解決問題,當(dāng)然還會(huì)調(diào)用庫函數(shù)。在定義函數(shù)的過程中會(huì)用到選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等基本語句,以及對結(jié)構(gòu)體數(shù)組的定義等。三、程序設(shè)計(jì)/******頭文件(.h)***********/#include"stdio.h"/*I/O函數(shù)*/#include"stdlib.h"/*標(biāo)準(zhǔn)庫函數(shù)*/#include"string.h"/*字符串函數(shù)*/#include"ctype.h"/*字符操作函數(shù)*/#defineM50/*定義常數(shù)表示記錄數(shù)*/
3、typedefstruct/*定義數(shù)據(jù)結(jié)構(gòu)*/{charNAME[20];/*姓名*/charEMAIL[30];/*郵箱*/charTELE1[10];/*電話*/charTELE2[10];/*電話*/charHOMETOWN[30];/*籍貫*/}DATA;/******以下是函數(shù)原型*******/intenter(DATAt[]);/*輸入記錄*/intadd(DATAt[],intn);/*添加記錄*/intchange(DATAt[],intn);/*修改記錄*/intdeleter(DA
4、TAt[],intn);/*刪除記錄*/voidlist(DATAt[],intn);/*顯示記錄*/voidsearch(DATAt[],intn);/*按姓名查找顯示記錄*/voidqseek(DATAt[],intn);/*快速查找記錄*/voidprint(DATAtemp);/*顯示單條記錄*/intfind(DATAt[],intn,char*s);/*查找函數(shù)*/intmenu_select();/*主菜單函數(shù)*//******主函數(shù)開始*******/main(){inti;DATAd[
5、M];/*定義結(jié)構(gòu)體數(shù)組*/intlength;/*保存記錄長度*/system("cls");for(;;)/*無限循環(huán)*/{switch(menu_select())/*調(diào)用主菜單函數(shù),返回值整數(shù)作開關(guān)語句的條件*/{case1:length=enter(d);break;/*輸入記錄*/case2:length=add(d,length);break;/*添加記錄*/case3:length=deleter(d,length);break;/*刪除記錄*/case4:list(d,length);
6、break;/*顯示全部記錄*/case5:search(d,length);break;/*查找記錄*/case6:qseek(d,length);break;/*快速查找記錄*/case7:length=change(d,length);break;case8:exit(0);/*如返回值為8則程序結(jié)束*/}}}/*菜單函數(shù),函數(shù)返回值為整數(shù),代表所選的菜單項(xiàng)*/**");printf("*1.錄入聯(lián)系人數(shù)據(jù)5.按姓名查找*");printf("**");printf("*2.添加聯(lián)系人
7、數(shù)據(jù)6.快速查找*");printf(" **");printf("*3.刪除聯(lián)系人數(shù)據(jù)7.修改聯(lián)系人數(shù)據(jù)*");printf("**");printf("*4.顯示全部聯(lián)系人8.退出系統(tǒng)*");printf("**");printf(" **");printf("****************************************************");do{printf("請輸入您的選項(xiàng)(1~8):");/*提示輸入選項(xiàng)*
8、/scanf("%s",s);/*輸入選擇項(xiàng)*/c=atoi(s);/*將輸入的字符串轉(zhuǎn)化為整型數(shù)*/}while(c<1
9、
10、c>8);/*選擇項(xiàng)不在1~7之間重輸*/returnc;/*返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù)*/}/***輸入記錄,形參為結(jié)構(gòu)體數(shù)組,函數(shù)值返回類型為整型表示記錄長度*/intenter(DATAt[]){inti,n;system("cls");printf("請輸入需錄入數(shù)據(jù)的個(gè)數(shù):");/*提示信