版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:學(xué)生通信錄管理系統(tǒng)實(shí)驗(yàn)項(xiàng)目性質(zhì):綜合性、設(shè)計(jì)性所涉及課程:c語言課程設(shè)計(jì)計(jì)劃學(xué)時(shí):實(shí)驗(yàn)學(xué)時(shí)4一、實(shí)驗(yàn)?zāi)康?綜合考察學(xué)生本學(xué)期對(duì)c語言的掌握程度。二、實(shí)驗(yàn)內(nèi)容1.編寫一個(gè)可以把學(xué)生信息寫入文件的函數(shù)creact(),采用動(dòng)態(tài)鏈表。2.編寫一個(gè)可以增加新成員的函數(shù)add1()。3編寫一個(gè)可以查詢確定學(xué)生的函數(shù)search1()。4編寫一個(gè)可以刪除確定學(xué)生的函數(shù)del1()。5編寫一個(gè)可以修改確定學(xué)生的函數(shù)modify1()。6編寫一個(gè)可以打開通信錄的函數(shù)open1( )。附錄:search1函數(shù)調(diào)用searchnum和searchname函數(shù),分別為按學(xué)號(hào)和按名字查詢。 del函
2、數(shù)調(diào)用delname和deltel函數(shù),分別為按名字和按電話刪除。 modify1函數(shù)調(diào)用modifynum和modifyname函數(shù),分別為按學(xué)號(hào)和按名字找到修改。open1函數(shù)調(diào)用sorttel和sortname函數(shù),分別為按電話和按名字從小到大的順序打開。三、實(shí)驗(yàn)(設(shè)計(jì))儀器設(shè)備和材料清單1.硬件:pc機(jī) 2.軟件:turbo c 2.0/turbo c+ 3.0 四、實(shí)驗(yàn)要求設(shè)計(jì)一個(gè)學(xué)生通訊錄管理系統(tǒng),在動(dòng)態(tài)鏈表程序的基礎(chǔ)上,設(shè)計(jì)要求如下(必須使用結(jié)構(gòu)體和動(dòng)態(tài)鏈表等數(shù)據(jù)結(jié)構(gòu))1建立文件 存儲(chǔ)文件使用指定文件名或默認(rèn)文件名; 可以不保存輸入記錄,但需要確認(rèn)是否保存輸入記錄 如果已有文件,
3、只能在其后追加; 新增記錄可以不存入原文件中,以可以用原來的文件覆蓋內(nèi)存的內(nèi)容;可以將多個(gè)個(gè)文件記錄合并到一個(gè)文件中;2文件的存取和顯示 可以單獨(dú)存取文件; 可以隨時(shí)顯示內(nèi)存中記錄的全部?jī)?nèi)容; 可以直接存取默認(rèn)文件或指定文件;3刪除記錄 可以按“姓名”或“電話”方式刪除記錄并更新內(nèi)存鏈表內(nèi)容; 能給出被刪除的信息,輸出沒有找到的信息; 如果已經(jīng)是空表,上出時(shí)應(yīng)給出信息并返回主菜單; 如果沒有要?jiǎng)h除的信息,輸出沒有找到的信息;刪除操作僅限于內(nèi)存,只有執(zhí)行記錄時(shí),才能覆蓋原記錄;4查詢記錄 可以按“姓名”或“電話”或“宿舍”方式查詢記錄 能給出查詢記錄的信息;如果查詢的信息不存在,輸出沒有找到的信
4、息;5 整體功能 a可以隨時(shí)檢索、刪除、或增加新記錄,保存或取消新的記錄 b使姓名可由16位字符和數(shù)字的混合編碼組成 c使電話號(hào)碼可由18位字符和數(shù)字組成d將輸出信息加上輸出信息信息欄,例如 姓名 電話 性別 年齡 生日 宿舍 李四 1234 男 21 7月1日 東二333 e使用菜單實(shí)現(xiàn)功能的正確的選擇 f 所有節(jié)點(diǎn)信息都是動(dòng)態(tài)生成。 6測(cè)試程序 應(yīng)列出測(cè)試大綱對(duì)程序進(jìn)行測(cè)試; 應(yīng)保證測(cè)試用例測(cè)試到程序的各種邊緣情況五、實(shí)驗(yàn)步驟及結(jié)果測(cè)試a、主函數(shù)主函數(shù)提供可選擇的功能1234560創(chuàng)建增加查找 刪除修改打開退出按名字、按學(xué)號(hào)按電話、按名字按名字、按學(xué)號(hào)按電話、按名字程序清單:void ma
5、in()int i;end:printf( |-|n);printf( | 1.ceate new file |n);printf( | 2.add information |n);printf( | 3.search |n); printf(“ | 4.telect |n);printf( | 5.modify |n);printf( | 6.open |n);printf( | 0.register |n);printf( |-|n);printf(input your choice(0-6):n); scanf(%d,&i); if(i=1)creat1(); goto end;if(i
6、=2) add1(); goto end;if(i=3) search1(); goto end; if(i=4)del1(); goto end; if(i=5) modify1(); goto end; if(i=6) open1(); goto end; exit(0);b、創(chuàng)建:void create()開始動(dòng)態(tài)申請(qǐng)內(nèi)存輸入學(xué)號(hào)學(xué)號(hào)不為0輸入其他信息動(dòng)態(tài)申請(qǐng)內(nèi)存并輸入學(xué)號(hào)結(jié)束鏈表的建立存入文件結(jié)束程序清單:void creat1()file *fp;char i;struct student *p1,*p2,*head;n=0;p1=p2=(struct student *)mallo
7、c(len);printf(nenter no.:n);scanf(%d,&p1-num);while(p1-num!=0)printf(enter name:n);scanf(%s,p1-name);printf(enter tel:n);scanf(%s,p1-tel);doprintf(enter sex:n);getchar();scanf(%c,&p1-sex);while(p1-sex!=f&p1-sex!=f&p1-sex!=m&p1-sex!=m);do printf(enter age:n);scanf(%d,&p1-age);while(p1-ageage=150); pr
8、intf(enter birthday:n);scanf(%s,p1-bir); printf(enter address:n);scanf(%s,p1-add);n=n+1;if(n=1)head=p1; else p2-next=p1;p2=p1; p1=(struct student *)malloc(len);printf(enter no.:n); scanf(%d,&p1-num);p2-next=null;printf(nsave them or no(y/n)n);doprintf(input choicen);getchar();scanf(%c,&i);while(i!=y
9、&i!=y&i!=n&i!=n);if(i=y|i=y)p1=head;if(fp=fopen(filename,wb)=null)printf(cannot open filen);return;if(p1!=null)doif(fwrite(p1,sizeof(struct student),1,fp)!=1)printf(file write errorn);fclose(fp);break;p1=p1-next;while(p1!=null);fclose(fp); c、增加 void add1()設(shè)計(jì)思路和創(chuàng)建新通信錄一樣,只是文件的打開方式是“a”,即以追加的方式打開。程序清單:v
10、oid add1()file *fp;char i;struct student *p1,*p2,*head;n=0;p1=p2=(struct student *)malloc(len);printf(nenter no.:n);scanf(%d,&p1-num);while(p1-num!=0)printf(enter name:n);scanf(%s,p1-name);printf(enter tel:n);scanf(%s,p1-tel);printf(enter sex:n);getchar();scanf(%c,&p1-sex); printf(enter age:n);scanf
11、(%d,&p1-age); printf(enter birthday:n);scanf(%s,p1-bir); printf(enter address:n);scanf(%s,p1-add);n=n+1;if(n=1)head=p1;else p2-next=p1;p2=p1;p1=(struct student *)malloc(len);printf(enter no.:n);scanf(%d,&p1-num);p2-next=null;printf(nsave them or no(y/n)n);doprintf(input choicen);getchar();scanf(%c,&
12、i);while(i!=y&i!=y&i!=n&i!=n);if(i=y|i=y)p1=head;if(fp=fopen(filename,a)=null)printf(cannot open filen);return;if(p1!=null)doif(fwrite(p1,sizeof(struct student),1,fp)!=1)printf(file write errorn);fclose(fp);break;p1=p1-next;while(p1!=null);fclose(fp); d、查找 void search()開始選擇按名字或按學(xué)號(hào)查找按名字擇調(diào)用searchname(
13、)按學(xué)號(hào)擇調(diào)用searchnum()結(jié)束開始查找符合節(jié)點(diǎn)找到則輸出該節(jié)點(diǎn)內(nèi)容找不到輸出“not find”結(jié)束重建鏈表輸入名字(電話)程序清單:1、void search1()int i;printf(please input your choice(0-2);printf( |-|n);printf( | 1.search in no. |n);printf( | 2.search in name |n);printf( | 0.register |n);printf( |-|n); do printf(input your choice); scanf(%d,&i); while(i!=1
14、&i!=2&i!=0); switch(i)case1: searchnum(); break;case2: searchname(); break;default: exit(0); 2、void searchname()struct student *p1,*p2,*head;char name16;head=recreat();printf(enter the students name:n);scanf(%d,name);for(p1=head;p1-next!=null;p1=p1-next)if(strcmp(p1-name,name)=0)printf(,%dt%st%st%ct%dt%st%sn,p1-num,p1-name,p1-tel,p1-sex,p1-age,p1-bir,p1-add);3、void searchnum()struct s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省撫州市臨川二中2025-2026學(xué)年度第一學(xué)期期末考試高二物理試題(含答案)
- 養(yǎng)老院入住老人生活照料培訓(xùn)制度
- 老年終末期認(rèn)知評(píng)估中的環(huán)境因素調(diào)整策略
- 兒童肺炎支原體肺炎診療指南2026
- 老年終末期壓瘡護(hù)理中個(gè)體化護(hù)理方案設(shè)計(jì)
- 2025年興城市職業(yè)教育中心招聘考試真題
- 紫藤蘿瀑布上
- 偏(均)三甲苯裝置操作工成果測(cè)試考核試卷含答案
- 品酒師安全宣傳強(qiáng)化考核試卷含答案
- 計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備裝配調(diào)試員保密模擬考核試卷含答案
- 2026海南安??毓捎邢挢?zé)任公司招聘11人筆試模擬試題及答案解析
- 裝飾裝修工程施工組織設(shè)計(jì)方案(二)
- 2026上海碧海金沙投資發(fā)展有限公司社會(huì)招聘參考題庫(kù)必考題
- 保險(xiǎn)業(yè)客戶服務(wù)手冊(cè)(標(biāo)準(zhǔn)版)
- 2026年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試模擬測(cè)試卷新版
- 2026遼寧機(jī)場(chǎng)管理集團(tuán)校招面筆試題及答案
- 2025徽銀金融租賃有限公司社會(huì)招聘筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2026年遼寧軌道交通職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 檢驗(yàn)科內(nèi)控制度
- DB44-T 2771-2025 全域土地綜合整治技術(shù)導(dǎo)則
- 碳排放核算及企業(yè)減排策略
評(píng)論
0/150
提交評(píng)論