




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言課程設(shè)計(jì)姓名:徐宗博學(xué)號(hào):************班級(jí):061092指導(dǎo)教師:曹老師2011年6月25日目錄第一章:實(shí)習(xí)內(nèi)容TOC\o"1-5"\h\z實(shí)習(xí)內(nèi)容簡(jiǎn)介 (2)程序代號(hào)說(shuō)明 (3)第二章:程序流程圖第三章:函數(shù)模塊介紹\o"CurrentDocument"讀取文件、存儲(chǔ)文件 (6)\o"CurrentDocument"管理系統(tǒng)模塊 (8)\o"CurrentDocument"恢復(fù)區(qū)系統(tǒng)模塊 (12)功能展示 (12)第四章:實(shí)習(xí)總結(jié) (16)第五章:實(shí)習(xí)體會(huì) (17)附錄:參考文獻(xiàn) (19)\o"CurrentDocument"源代碼 (19)第一章:實(shí)習(xí)內(nèi)容實(shí)習(xí)內(nèi)容簡(jiǎn)介題目:學(xué)生通訊錄管理系統(tǒng)要求:1.可實(shí)現(xiàn)信息的添加、刪除,可按學(xué)號(hào)、姓名查詢(xún);學(xué)生信息必須包含學(xué)號(hào)、姓名、學(xué)院、專(zhuān)業(yè)、籍貫。地址、電話號(hào)碼;必須有注釋。日期:2011年6月20日至27日,共8個(gè)半天。地點(diǎn):信息樓301指導(dǎo)老師:曹雪蓮?fù)瓿汕闆r:程序可完成信息的添加,可按學(xué)號(hào)、姓名分別查詢(xún);程序可按姓名、學(xué)號(hào)分別刪除,并在刪除前顯示刪除學(xué)生的全部信息;按姓名刪除,若出現(xiàn)同名情況,會(huì)依次出現(xiàn)系統(tǒng)提示是否刪除,可選擇刪除或跳過(guò);在程序文件夾中有一“學(xué)生信息庫(kù)”的 txt文件,可查看學(xué)生系統(tǒng)里全部學(xué)生信息;
txt文件中查txt文件中查程序代號(hào)說(shuō)明看刪除信息;程序代號(hào)說(shuō)明代號(hào)說(shuō)明結(jié)構(gòu)體student結(jié)構(gòu)體stu全局變量num學(xué)號(hào)inf學(xué)生信息,包含左結(jié)構(gòu)體student全部信息n鏈表節(jié)點(diǎn)數(shù)量name姓名next本類(lèi)型結(jié)構(gòu)體指針rhead恢復(fù)區(qū)鏈表頭指針academy學(xué)院searchnum目標(biāo)個(gè)數(shù)major專(zhuān)業(yè)province省份address地址phone電話號(hào)碼函數(shù)add增加delet刪除(按姓名或?qū)W號(hào))search查找search_num搜索學(xué)號(hào)search_name搜索姓名print輸出鏈表上信息print1輸出鏈表上單個(gè)節(jié)點(diǎn)的信息save以二進(jìn)制格式儲(chǔ)存數(shù)據(jù)txtsave以文本格式儲(chǔ)存數(shù)據(jù)crete從二進(jìn)制文件中讀取信息,建立鏈表deletinput將刪除信息導(dǎo)入恢復(fù)區(qū)鏈表system管理系統(tǒng)主要程序recover恢復(fù)區(qū)系統(tǒng)主要程序總體結(jié)構(gòu)如下:此外,局部變量的含義比較固定:head鏈表頭指針,若與rhead一同出現(xiàn)則代表管理系統(tǒng)鏈表頭指針select、input為選擇的值filename文件名第二章:程序流程圖程序流程圖:本次實(shí)習(xí)我的思路就是, 先從二進(jìn)制文件中讀取信息, 形成鏈表, 對(duì)鏈表進(jìn)行基本操作, 如輸出、 添加、刪除、查找。程序結(jié)束時(shí)將鏈表保存在二進(jìn)制文件和文本文件中。管理系統(tǒng)流程圖:運(yùn)行管理系統(tǒng)部分時(shí),先從文件“”中讀取數(shù)據(jù)(若無(wú)該文件則創(chuàng)建文件),構(gòu)建鏈表;后續(xù)操作都是對(duì)于鏈表進(jìn)行操作,如添加、查找、刪除、輸出等;離開(kāi)該部分時(shí)則保存鏈表里的信息到已存在的“”,并以ASCII形式存儲(chǔ)至“學(xué)生信息庫(kù).txt”,方便檢查。恢復(fù)區(qū)系統(tǒng)流程圖:恢復(fù)區(qū)系統(tǒng)思路與管理系統(tǒng)思路類(lèi)似,連函數(shù)調(diào)用都是一樣的,二進(jìn)制文件名為“” ,文本文件名為“刪除信息庫(kù) .txt”。具體函數(shù)模塊功能將在第三章中具體介紹。第三章:函數(shù)模塊介紹程序分為管理系統(tǒng)和恢復(fù)區(qū)系統(tǒng)兩部分和讀取文件、存儲(chǔ)文件四部分,以下分別介紹。讀取文件、存儲(chǔ)文件讀取文件該函數(shù)模塊 (程序名為 creat)于管理系統(tǒng)或恢復(fù)區(qū)系統(tǒng)運(yùn)行前運(yùn)行,目的是讀取二進(jìn)制文件信息,構(gòu)建鏈表;若無(wú)目標(biāo)文件,則創(chuàng)建文件。返回值為頭指針。函數(shù)主體為: structstu*p1,*p2;structstu*head;while(fread(&(p1->inf),LEN,1,fp))um);ame);fprintf(fp,"%10s",(p->inf).academy);fprintf(fp,"%10s",(p->inf).majoy);fprintf(fp,"%10s",(p->inf).province);fprintf(fp,"%10s",(p->inf).address);fprintf(fp,"%20s\n",(p->inf).phone);p=p->next;}}管理系統(tǒng)模塊管理系統(tǒng) (名為system)主要有四個(gè)函數(shù)功能部分,分別為添加、刪除、查找、輸出,以下依次介紹:添加該模塊函數(shù)名為 add,無(wú)返回值,參數(shù)為鏈表頭指針,功能為向已建立的鏈表中從鍵盤(pán)上輸入信息。函數(shù)主體為:structstu*p1,*p2;um));printf("\n 姓名: ");scanf("%s",(p1->inf).name);printf("\n學(xué)院:");scanf("%s",(p1->inf).academy);printf("\n 專(zhuān)業(yè): ");scanf("%s",(p1->inf).majoy);printf("\n 省份: ");scanf("%s",(p1->inf).province);printf("\n 地址: ");scanf("%s",(p1->inf).address);printf("\n電話號(hào)碼: ");scanf("%s",(p1->inf).phone);while((p2->next)!=NULL)學(xué)號(hào)查找的函數(shù)主體為:printf("請(qǐng)輸入擬刪除學(xué)生學(xué)號(hào): \n");longsnum=0;scanf("%ld",&snum);structstu*p1,*p2;p1=head;while(snum!=p1->&&p1->next!=NULL)姓名查找(包含同名情況):intselect=0,count=0;um);printf( "\n 姓名 %s",(p->inf).name);printf( "\n 學(xué)院 %s",(p->inf).academy);printf( "\n 專(zhuān)業(yè) %s",(p->inf).majoy);printf( "\n 省份 %s",(p->inf).province);printf( "\n 地址 %s",(p->inf).address);printf("\n電話號(hào)碼 %s\n",(p->inf).phone);p=p->next;}恢復(fù)區(qū)系統(tǒng)模塊恢復(fù)區(qū)系統(tǒng)(其名為 recover)是為了顯示被刪除信息而建立的,在函數(shù)運(yùn)行之初便建立了恢復(fù)區(qū)鏈表,頭指針設(shè)為 rhead,與管理系統(tǒng)頭指針 head相區(qū)別。并且, rhead被設(shè)為全局變量,方便被函數(shù)調(diào)用。恢復(fù)區(qū)系統(tǒng)主要有查找、輸出功能,其功能模塊基本調(diào)用管理系統(tǒng)的函數(shù),所以不再贅述。而恢復(fù)區(qū)的輸入函數(shù),即管理區(qū)刪除信息時(shí)將信息輸入恢復(fù)區(qū)鏈表的函數(shù),上文已提及,即 deletinput,此為連接恢復(fù)區(qū)與管理系統(tǒng)的橋梁,只不過(guò)是單行的。函數(shù)為:voiddeletinput(structstu*p) 序視圖就是C語(yǔ)言的黑框,沒(méi)有美觀可言。 C++勺視圖好一些,我也想過(guò)用C++編譯一個(gè)窗口, 然后在程序中調(diào)用。但是C++還沒(méi)學(xué)會(huì),而且在調(diào)試程序的過(guò)程中遇到一些困難讓我遺忘了這個(gè)想法,曾看程序看到凌晨?jī)牲c(diǎn),所以想法沒(méi)有實(shí)踐。9.在軟件技術(shù)普及的今天, 做個(gè)數(shù)據(jù)庫(kù)已是小菜一碟, 很到軟件可以使用, 如MicrosoftOfficeAccess,并且功能極其強(qiáng)大,比我花了幾天時(shí)間做出來(lái)的高級(jí)不知多少倍。與那些專(zhuān)業(yè)程序相比,我的這程序不值一提,也就是練習(xí)練習(xí) C語(yǔ)言而已。第五章:實(shí)習(xí)感受此次實(shí)習(xí)在一個(gè)涼爽的夏日開(kāi)始,這在武漢極反常。因?yàn)槲覀兛荚嚮究纪炅?,只剩下一門(mén)英語(yǔ)了,所以實(shí)習(xí)時(shí)間比較充裕。實(shí)習(xí)的題目也不算太難,思路很清晰,總共三步走: 1.讀取文件; 2.處理鏈表; 3.保存文件。操作的主體是鏈表,原以為會(huì)很輕松,但還是遇到很多問(wèn)題,以前上課時(shí)從未想到過(guò)。經(jīng)歷過(guò)基本一天都在看程序的時(shí)間,我發(fā)現(xiàn)我懂的太少,要學(xué)的太多。對(duì)文件的操作我一直都沒(méi)注意,現(xiàn)在才發(fā)現(xiàn)其樂(lè)無(wú)窮;以前覺(jué)得鏈表很難,現(xiàn)在輕松寫(xiě)出程序。學(xué)習(xí)與實(shí)踐果然是不可分割的。實(shí)習(xí)中,大家八仙過(guò)海各顯神通,用鏈表是比較傳統(tǒng)的,而且節(jié)省內(nèi)存,有的用數(shù)組,這也可以理解,方便使用,排序便利;有的直接用文件 C語(yǔ)句查詢(xún)、刪除,讓我大開(kāi)眼界,文件還能這么用!在寫(xiě)報(bào)告時(shí)看到一篇用指針數(shù)組做的程序,相當(dāng)有意思。發(fā)現(xiàn)水平還是不夠,同學(xué)可以用 C語(yǔ)言編出一個(gè)比較漂亮的界面,還可以隨意調(diào)用文件操作,實(shí)在讓人贊嘆不已。此次實(shí)習(xí)加強(qiáng)了我對(duì)鏈表的理解,很多以前迷糊的概念得到了明確,亦讓我感到 C語(yǔ)言強(qiáng)大之處,直接操作內(nèi)存,實(shí)在很暴力。一句詩(shī)概括此次實(shí)習(xí),“山重水復(fù)疑無(wú)路,柳暗花明又一村”;如今C語(yǔ)言實(shí)習(xí)已然結(jié)束,但是對(duì)于計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)決不能放松,“雄關(guān)漫道真如鐵,而今邁步從頭越”?,F(xiàn)在的世界是信息化的,我們現(xiàn)在對(duì)于Matlab的要求也很大,C語(yǔ)言也是其基礎(chǔ)。路漫漫其修遠(yuǎn)兮,吾將上下而求索。感謝曹老師抽出時(shí)間將 C語(yǔ)言實(shí)習(xí)提前和這八天來(lái)的指導(dǎo),同時(shí)亦感謝大家這些天來(lái)的支持與幫助,此外額外感謝武漢夏天罕見(jiàn)的涼爽天氣,感謝生活。附錄參考書(shū)目.譚浩強(qiáng)著 《C語(yǔ)言程序設(shè)計(jì)》 2005年7月第3版298-299、300、302-303、338頁(yè).吳煌堅(jiān)學(xué)長(zhǎng)的實(shí)習(xí)報(bào)告源代碼#include<>#include<>#include<>defineNULL0defineLENsizeof(structstudent)defineLENSsizeof(structstu)structstudentum);ame);fprintf(fp,"%10s",(p->inf).academy);fprintf(fp,"%10s",(p->inf).majoy);fprintf(fp,"%10s",(p->inf).province);fprintf(fp,"%10s",(p->inf).address);fprintf(fp,"%20s\n",(p->inf).phone);p=p->next;}}voidprint1(structstu*p)um);printf("\n姓名%s",(p->inf).name);printf("\n學(xué)院%s",(p->inf).academy);printf("\n專(zhuān)業(yè)%s",(p->inf).majoy);printf("\n省份%s",(p->inf).province);
printf("\n地址%s",(p->inf).address);printf("\n電話號(hào)碼 %s\n",(p->inf).phone);}structstu*search_name(structstu*p,charsname[20])um));printf("\n姓名:");scanf("%s",(head->inf).name);printf("\n學(xué)院:");scanf("%s",(head->inf).academy);printf("\n專(zhuān)業(yè):");scanf("%s",(head->inf).majoy);printf("\n省份:");scanf("%s",(head->inf).province);printf("\n地址:");scanf("%s",(head->inf).address);printf("\n電話號(hào)碼:");scanf("%s",(head->inf).phone);n++;p2->next=NULL;continue;um));printf("\n姓名:");scanf("%s",(p1->inf).name);printf("\n學(xué)院:");scanf("%s",(p1->inf).academy);printf("\n專(zhuān)業(yè):");scanf("%s",(p1->inf).majoy);printf("\n省份:");scanf("%s",(p1->inf).province);printf("\n地址:");scanf("%s",(p1->inf).address);printf("\n電話號(hào)碼:");scanf("%s",(p1->inf).phone);while((p2->next)!=NULL)um);printf("\n姓名%s",(p->inf).name);printf("\n學(xué)院%s",(p->inf).academy);printf("\n專(zhuān)業(yè)%s",(p->inf).majoy);printf("\n省份%s",(p->inf).province);printf("\n地址%s",(p->inf).address);printf("\n電話號(hào)碼 %s\n",(p->inf).phone)p=p->next;}}voidsystem(){structstu*head;xt";xt"; 加學(xué)生信息 \n2.查找學(xué)生信息 \n3.刪除學(xué)生信息 \n4.輸出全體學(xué)生信息 \n5.退出\n\n\n");找學(xué)生信息 \n2.輸出全體刪除信息 \n3.退出\n\n\n");//菜單scanf("%d",
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023四年級(jí)數(shù)學(xué)下冊(cè) 二 乘除法的關(guān)系和運(yùn)算律(乘法運(yùn)算律及簡(jiǎn)便運(yùn)算)第4課時(shí)教學(xué)設(shè)計(jì) 西師大版
- 2025年高考英語(yǔ)復(fù)習(xí)應(yīng)用文寫(xiě)作與讀后續(xù)寫(xiě)精講精練應(yīng)用文類(lèi)型10:征文(投稿)
- 2025年高考英語(yǔ)二輪復(fù)習(xí)詞匯知識(shí) 專(zhuān)題05 語(yǔ)法填空詞形轉(zhuǎn)換高頻詞匯(2)(練習(xí))(原卷版)
- 2024年五年級(jí)語(yǔ)文上冊(cè) 第二單元 語(yǔ)文園地二教學(xué)設(shè)計(jì) 新人教版
- 林產(chǎn)品國(guó)際貿(mào)易法規(guī)與政策考核試卷
- 空中防相撞教育課件
- 新聞文體知識(shí)
- 八年級(jí)物理下冊(cè) 第七章 力 第3節(jié) 重力教學(xué)設(shè)計(jì)(新版)新人教版
- Unit 4 Lesson 4 A birthday card 教學(xué)設(shè)計(jì) 2024-2025學(xué)年冀教版(2024)英語(yǔ)七年級(jí)上冊(cè)
- 河北石油職業(yè)技術(shù)學(xué)院《生物醫(yī)用金屬材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 三年級(jí)數(shù)學(xué)兩位數(shù)乘兩位數(shù)筆算題綜合考核訓(xùn)練題大全附答案
- NB-T20307-2014核電廠冷卻塔環(huán)境影響評(píng)價(jià)技術(shù)規(guī)范
- 2024年普通高等學(xué)校招生全國(guó)統(tǒng)一考試(北京卷)語(yǔ)文含答案
- 中國(guó)保險(xiǎn)行業(yè)協(xié)會(huì)機(jī)動(dòng)車(chē)商業(yè)保險(xiǎn)示范條款(2020版)
- 天然氣管網(wǎng)大數(shù)據(jù)分析與預(yù)測(cè)
- (正式版)G-B- 21257-2024 燒堿、聚氯乙烯樹(shù)脂和甲烷氯化物單位產(chǎn)品能源消耗限額
- 2024年中考語(yǔ)文復(fù)習(xí):人性光輝主題閱讀練習(xí)題(含答案)
- 老年人排泄照護(hù)(老年護(hù)理學(xué)課件)
- 公廁保潔服務(wù)服務(wù)承諾及質(zhì)量保障措施
- 湖北省武漢市部分重點(diǎn)中學(xué)(六校)2023-2024學(xué)年高二下學(xué)期期中生物試題
- 《火力發(fā)電建設(shè)工程機(jī)組調(diào)試技術(shù)規(guī)范》
評(píng)論
0/150
提交評(píng)論