版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言課程設計姓名:徐宗博學號:************班級:061092指導教師:曹老師2011年6月25日目錄第一章:實習內容TOC\o"1-5"\h\z實習內容簡介 (2)程序代號說明 (3)第二章:程序流程圖第三章:函數模塊介紹\o"CurrentDocument"讀取文件、存儲文件 (6)\o"CurrentDocument"管理系統(tǒng)模塊 (8)\o"CurrentDocument"恢復區(qū)系統(tǒng)模塊 (12)功能展示 (12)第四章:實習總結 (16)第五章:實習體會 (17)附錄:參考文獻 (19)\o"CurrentDocument"源代碼 (19)第一章:實習內容實習內容簡介題目:學生通訊錄管理系統(tǒng)要求:1.可實現信息的添加、刪除,可按學號、姓名查詢;學生信息必須包含學號、姓名、學院、專業(yè)、籍貫。地址、電話號碼;必須有注釋。日期:2011年6月20日至27日,共8個半天。地點:信息樓301指導老師:曹雪蓮完成情況:程序可完成信息的添加,可按學號、姓名分別查詢;程序可按姓名、學號分別刪除,并在刪除前顯示刪除學生的全部信息;按姓名刪除,若出現同名情況,會依次出現系統(tǒng)提示是否刪除,可選擇刪除或跳過;在程序文件夾中有一“學生信息庫”的 txt文件,可查看學生系統(tǒng)里全部學生信息;
txt文件中查txt文件中查程序代號說明看刪除信息;程序代號說明代號說明結構體student結構體stu全局變量num學號inf學生信息,包含左結構體student全部信息n鏈表節(jié)點數量name姓名next本類型結構體指針rhead恢復區(qū)鏈表頭指針academy學院searchnum目標個數major專業(yè)province省份address地址phone電話號碼函數add增加delet刪除(按姓名或學號)search查找search_num搜索學號search_name搜索姓名print輸出鏈表上信息print1輸出鏈表上單個節(jié)點的信息save以二進制格式儲存數據txtsave以文本格式儲存數據crete從二進制文件中讀取信息,建立鏈表deletinput將刪除信息導入恢復區(qū)鏈表system管理系統(tǒng)主要程序recover恢復區(qū)系統(tǒng)主要程序總體結構如下:此外,局部變量的含義比較固定:head鏈表頭指針,若與rhead一同出現則代表管理系統(tǒng)鏈表頭指針select、input為選擇的值filename文件名第二章:程序流程圖程序流程圖:本次實習我的思路就是, 先從二進制文件中讀取信息, 形成鏈表, 對鏈表進行基本操作, 如輸出、 添加、刪除、查找。程序結束時將鏈表保存在二進制文件和文本文件中。管理系統(tǒng)流程圖:運行管理系統(tǒng)部分時,先從文件“”中讀取數據(若無該文件則創(chuàng)建文件),構建鏈表;后續(xù)操作都是對于鏈表進行操作,如添加、查找、刪除、輸出等;離開該部分時則保存鏈表里的信息到已存在的“”,并以ASCII形式存儲至“學生信息庫.txt”,方便檢查?;謴蛥^(qū)系統(tǒng)流程圖:恢復區(qū)系統(tǒng)思路與管理系統(tǒng)思路類似,連函數調用都是一樣的,二進制文件名為“” ,文本文件名為“刪除信息庫 .txt”。具體函數模塊功能將在第三章中具體介紹。第三章:函數模塊介紹程序分為管理系統(tǒng)和恢復區(qū)系統(tǒng)兩部分和讀取文件、存儲文件四部分,以下分別介紹。讀取文件、存儲文件讀取文件該函數模塊 (程序名為 creat)于管理系統(tǒng)或恢復區(qū)系統(tǒng)運行前運行,目的是讀取二進制文件信息,構建鏈表;若無目標文件,則創(chuàng)建文件。返回值為頭指針。函數主體為: 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)主要有四個函數功能部分,分別為添加、刪除、查找、輸出,以下依次介紹:添加該模塊函數名為 add,無返回值,參數為鏈表頭指針,功能為向已建立的鏈表中從鍵盤上輸入信息。函數主體為:structstu*p1,*p2;um));printf("\n 姓名: ");scanf("%s",(p1->inf).name);printf("\n學院:");scanf("%s",(p1->inf).academy);printf("\n 專業(yè): ");scanf("%s",(p1->inf).majoy);printf("\n 省份: ");scanf("%s",(p1->inf).province);printf("\n 地址: ");scanf("%s",(p1->inf).address);printf("\n電話號碼: ");scanf("%s",(p1->inf).phone);while((p2->next)!=NULL)學號查找的函數主體為:printf("請輸入擬刪除學生學號: \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 學院 %s",(p->inf).academy);printf( "\n 專業(yè) %s",(p->inf).majoy);printf( "\n 省份 %s",(p->inf).province);printf( "\n 地址 %s",(p->inf).address);printf("\n電話號碼 %s\n",(p->inf).phone);p=p->next;}恢復區(qū)系統(tǒng)模塊恢復區(qū)系統(tǒng)(其名為 recover)是為了顯示被刪除信息而建立的,在函數運行之初便建立了恢復區(qū)鏈表,頭指針設為 rhead,與管理系統(tǒng)頭指針 head相區(qū)別。并且, rhead被設為全局變量,方便被函數調用。恢復區(qū)系統(tǒng)主要有查找、輸出功能,其功能模塊基本調用管理系統(tǒng)的函數,所以不再贅述。而恢復區(qū)的輸入函數,即管理區(qū)刪除信息時將信息輸入恢復區(qū)鏈表的函數,上文已提及,即 deletinput,此為連接恢復區(qū)與管理系統(tǒng)的橋梁,只不過是單行的。函數為:voiddeletinput(structstu*p) 序視圖就是C語言的黑框,沒有美觀可言。 C++勺視圖好一些,我也想過用C++編譯一個窗口, 然后在程序中調用。但是C++還沒學會,而且在調試程序的過程中遇到一些困難讓我遺忘了這個想法,曾看程序看到凌晨兩點,所以想法沒有實踐。9.在軟件技術普及的今天, 做個數據庫已是小菜一碟, 很到軟件可以使用, 如MicrosoftOfficeAccess,并且功能極其強大,比我花了幾天時間做出來的高級不知多少倍。與那些專業(yè)程序相比,我的這程序不值一提,也就是練習練習 C語言而已。第五章:實習感受此次實習在一個涼爽的夏日開始,這在武漢極反常。因為我們考試基本考完了,只剩下一門英語了,所以實習時間比較充裕。實習的題目也不算太難,思路很清晰,總共三步走: 1.讀取文件; 2.處理鏈表; 3.保存文件。操作的主體是鏈表,原以為會很輕松,但還是遇到很多問題,以前上課時從未想到過。經歷過基本一天都在看程序的時間,我發(fā)現我懂的太少,要學的太多。對文件的操作我一直都沒注意,現在才發(fā)現其樂無窮;以前覺得鏈表很難,現在輕松寫出程序。學習與實踐果然是不可分割的。實習中,大家八仙過海各顯神通,用鏈表是比較傳統(tǒng)的,而且節(jié)省內存,有的用數組,這也可以理解,方便使用,排序便利;有的直接用文件 C語句查詢、刪除,讓我大開眼界,文件還能這么用!在寫報告時看到一篇用指針數組做的程序,相當有意思。發(fā)現水平還是不夠,同學可以用 C語言編出一個比較漂亮的界面,還可以隨意調用文件操作,實在讓人贊嘆不已。此次實習加強了我對鏈表的理解,很多以前迷糊的概念得到了明確,亦讓我感到 C語言強大之處,直接操作內存,實在很暴力。一句詩概括此次實習,“山重水復疑無路,柳暗花明又一村”;如今C語言實習已然結束,但是對于計算機語言的學習決不能放松,“雄關漫道真如鐵,而今邁步從頭越”。現在的世界是信息化的,我們現在對于Matlab的要求也很大,C語言也是其基礎。路漫漫其修遠兮,吾將上下而求索。感謝曹老師抽出時間將 C語言實習提前和這八天來的指導,同時亦感謝大家這些天來的支持與幫助,此外額外感謝武漢夏天罕見的涼爽天氣,感謝生活。附錄參考書目.譚浩強著 《C語言程序設計》 2005年7月第3版298-299、300、302-303、338頁.吳煌堅學長的實習報告源代碼#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學院%s",(p->inf).academy);printf("\n專業(yè)%s",(p->inf).majoy);printf("\n省份%s",(p->inf).province);
printf("\n地址%s",(p->inf).address);printf("\n電話號碼 %s\n",(p->inf).phone);}structstu*search_name(structstu*p,charsname[20])um));printf("\n姓名:");scanf("%s",(head->inf).name);printf("\n學院:");scanf("%s",(head->inf).academy);printf("\n專業(yè):");scanf("%s",(head->inf).majoy);printf("\n省份:");scanf("%s",(head->inf).province);printf("\n地址:");scanf("%s",(head->inf).address);printf("\n電話號碼:");scanf("%s",(head->inf).phone);n++;p2->next=NULL;continue;um));printf("\n姓名:");scanf("%s",(p1->inf).name);printf("\n學院:");scanf("%s",(p1->inf).academy);printf("\n專業(yè):");scanf("%s",(p1->inf).majoy);printf("\n省份:");scanf("%s",(p1->inf).province);printf("\n地址:");scanf("%s",(p1->inf).address);printf("\n電話號碼:");scanf("%s",(p1->inf).phone);while((p2->next)!=NULL)um);printf("\n姓名%s",(p->inf).name);printf("\n學院%s",(p->inf).academy);printf("\n專業(yè)%s",(p->inf).majoy);printf("\n省份%s",(p->inf).province);printf("\n地址%s",(p->inf).address);printf("\n電話號碼 %s\n",(p->inf).phone)p=p->next;}}voidsystem(){structstu*head;xt";xt"; 加學生信息 \n2.查找學生信息 \n3.刪除學生信息 \n4.輸出全體學生信息 \n5.退出\n\n\n");找學生信息 \n2.輸出全體刪除信息 \n3.退出\n\n\n");//菜單scanf("%d",
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工貿企業(yè)安全生產培訓考核制度宣傳效果考核(2024年11月)
- 企業(yè)并購中的區(qū)域協(xié)同效應研究-洞察及研究
- 綠色建筑施工方案質量控制
- 節(jié)能專項方案實施步驟
- 水體景觀假山施工方案
- 碳纖維布抗剪加固施工方案
- 房屋維修施工合同方案
- 屋頂防水涂料粘結力測試方案
- 中央空調施工維護方案
- 風電樁基施工技術方案
- GB/T 4074.3-2024繞組線試驗方法第3部分:機械性能
- 江蘇省2023年普通高中學業(yè)水平合格性考試化學試卷(含答案)
- 工貿行業(yè)小微企業(yè)隱患排查與危險作業(yè)管理安全生產臺賬(整套模板)
- 醫(yī)院被服洗滌服務管理方式、服務計劃和工作目標
- 泰康集團線上測評真題
- 示波器的使用示波器的使用
- 阿爾茨海默癥預防知識講座
- GB/T 21461.2-2023塑料超高分子量聚乙烯(PE-UHMW)模塑和擠出材料第2部分:試樣制備和性能測定
- 《新綱要云南省實驗教材 信息技術 四年級第3冊(第2版)》教案(全)
- 塑料注塑流長比與型腔壓力數據表
- 單體澆鑄尼龍
評論
0/150
提交評論