《高級語言程序設(shè)計》課程設(shè)計報告_第1頁
《高級語言程序設(shè)計》課程設(shè)計報告_第2頁
《高級語言程序設(shè)計》課程設(shè)計報告_第3頁
《高級語言程序設(shè)計》課程設(shè)計報告_第4頁
《高級語言程序設(shè)計》課程設(shè)計報告_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機與信息工程系 高級語言程序設(shè)計課程設(shè)計報告學(xué)號2013-2014學(xué)年 第二學(xué)期1308020248高級語言程序設(shè)計課程設(shè)計報告題目:班級檔案管理系統(tǒng)專業(yè):網(wǎng)絡(luò)工程班級:二姓名:朱和芳指導(dǎo)教師:孫妍姑成績:計算機與信息工程系2014年 5月 11日班級檔案管理系統(tǒng) 設(shè)計總說明1、 設(shè)計目的 運用計算機語言設(shè)計班級檔案管理,通過此次課程設(shè)計,加深對此課程 基本知識的理解,提高綜合運用知識的能力;掌握本課程的主要內(nèi)容、課程設(shè)計或撰寫小論文的步驟和方法;以提高獨立分析問題、解決問題的能力,逐步增強實際工程訓(xùn)練。2、 設(shè)計內(nèi)容對一個有N個學(xué)生的班級,通過該系統(tǒng)實現(xiàn)對該班級學(xué)生基本信息進(jìn)行錄入、顯示

2、、修改、刪除、保存等操作的管理。3、 設(shè)計方法結(jié)合C語言的有關(guān)知識,查閱資料,對班級檔案管理系統(tǒng)的內(nèi)容進(jìn)行構(gòu)思和設(shè)計,在Microsoft Visual C+6.0平臺上完成設(shè)計,并進(jìn)行調(diào)試。29目錄第1章 緒論.5第2章 需求分析2.1問題描述.62.2 功能要求.62.3 算法提示.62.4項目開發(fā)的目的.7第3章 概要設(shè)計3.1程序模塊的組成.83.2班級檔案管理系統(tǒng).83.3各個程序的功能介紹.93.4系統(tǒng)結(jié)構(gòu)圖.9第4章 模塊設(shè)計分析4.1程序的模塊組成.104.2各個函數(shù)的主要功能.104.3系統(tǒng)的功能模塊的劃分.104.4總流程圖.124.5功能流程圖.13第五章 測試5.1存在

3、的問題.145.2測試方案.14第6章 使用說明書.15第7章 總結(jié).17附錄 A參考文獻(xiàn).18B源程代碼.20 第一章 緒論 班級檔案管理系統(tǒng)有六種功能,把這六種功能做成六個子函數(shù)。在主函數(shù)中設(shè)計一個菜單對這六個子函數(shù)進(jìn)行管理,來實現(xiàn)對整個系統(tǒng)的操作。根據(jù)課題的要求,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(char)、姓名(char)、性別(char)、年齡(int)、備注(char)。對一個有N個學(xué)生的班級,通過該系統(tǒng)實現(xiàn)對該班級學(xué)生的基本信息的錄入、顯示、修改、刪除、保存等操作的管理。最后為了以后按照處理后的順序保存到文件中。 第2章 需求分析2.1 問題描述:對一個有N個學(xué)生的班級,通過該系統(tǒng)實

4、現(xiàn)對該班級學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管理。2.2 功能要求:1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:姓名、學(xué)號、性別、年齡、備注。2、本系統(tǒng)顯示這樣的菜單: 請選擇系統(tǒng)功能項: A、學(xué)生基本信息錄入 B、學(xué)生基本信息顯示 C、學(xué)生基本信息保存 D、學(xué)生基本信息刪除 E、學(xué)生基本信息修改 F、學(xué)生基本信息查詢(1)按學(xué)號查詢(2)按姓名查詢(3)按性別查詢(4)按年齡查詢 G、退出系統(tǒng)3、執(zhí)行一個具體的功能之后,程序?qū)⒅匦嘛@示菜單。4、將學(xué)生基本信息保存到文件中。 2.3 算法提示 1、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組 2、數(shù)據(jù)庫結(jié)構(gòu):下表構(gòu)成該系

5、統(tǒng)的基本數(shù)據(jù)庫。姓名學(xué)號性別年齡備注charcharcharintchar2.4項目開發(fā)的目的該系統(tǒng)是簡單的班級檔案管理系統(tǒng),能夠使老師了解到相應(yīng)的信息。是爭對目前的現(xiàn)狀,把管理人員從繁忙的數(shù)據(jù)統(tǒng)計中解脫出來,使其具有更多地精力去從事教務(wù)管理政策的而研究實施,教學(xué)計劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量,同時也減輕任課老師的負(fù)擔(dān),讓其有更多的時間投入到教學(xué)和科研中,還有學(xué)生檔案管理的重要性,以及當(dāng)前的檔案管理的現(xiàn)實,為了改善這種情況,使檔案管理工作真正步入高效,健康的軌道從而促使我們開發(fā)了這個系統(tǒng),以提高檔案管理工作的效率和滿足用戶的基本需求為目的,實現(xiàn)檔案管理。 第三章 概要

6、設(shè)計3.1程序模塊的組成 主函數(shù):void main() 錄入函數(shù):void GetInfo() 顯示函數(shù): void DisPlay() 保存函數(shù): void Save() 刪除函數(shù): void Delect() 修改函數(shù): void Modfiy() 查詢函數(shù): void Search() 輸出函數(shù): void print() 1. GetInfo() 是錄入函數(shù),主要是錄入學(xué)生的基本信息;2. DisPlay() 是顯示函數(shù),就是把學(xué)生的基本信息顯示在電腦上;3. Save() 是保存函數(shù),就是把學(xué)生基本信息保存下來;4. Delect() 是刪除函數(shù),把不要的信息刪除;5. Modfi

7、y() 是修改函數(shù),修改錯誤的學(xué)生基本信息;6. Search() 是查詢函數(shù),查詢學(xué)生的基本信息;7. print() 是輸出函數(shù),輸出學(xué)生的基本信息。3.2 班級檔案管理系統(tǒng) struct student /設(shè)定一個內(nèi)容為學(xué)生信息的結(jié)構(gòu)體 char name10;/名字的長度允許最大為10; char no10;/學(xué)號的長度允許最大為10; char sex; int age; char bnote100;/備注的長度允許最大為100;3.3 各個程序的功能介紹 主函數(shù):利用無限次循環(huán)例如 if( ; ; )while()和switch()語句實現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項來調(diào)用

8、相應(yīng)的函數(shù)。 錄入函數(shù):用來錄入學(xué)生的基本信息。 顯示函數(shù):把錄入的學(xué)生的基本信息顯示在桌面上。 保存函數(shù):可以保存學(xué)生信息。 刪除函數(shù):可以刪除學(xué)生的錯誤信息。 修改函數(shù):可以修改舊的信息。 查詢函數(shù):方便管理員和學(xué)生查詢。 退出函數(shù):可以用來退出系統(tǒng)以保證學(xué)生信息的安全。班級檔案管理系統(tǒng) 3.4 系統(tǒng)結(jié)構(gòu)圖 進(jìn)入菜單退出系統(tǒng)信息的修改信息的刪除信息的保存信息的顯示信息的錄入 第4章 模塊設(shè)計分析4.1程序的模塊組成: 主函數(shù):void main() 錄入函數(shù): void GetInfo() 顯示函數(shù):void Dispiay() 保存函數(shù): void Save() 刪除函數(shù): void D

9、elect() 查詢函數(shù): void Search() 修改函數(shù): void Modify() 菜單函數(shù): void menu_select()4.2 各個函數(shù)的主要功能: 錄入函數(shù):錄入學(xué)生的基本信息; 菜單函數(shù):顯示系統(tǒng)主菜單; 顯示函數(shù):顯示所有學(xué)生信息; 查詢函數(shù):方便學(xué)生查找自己基本的信息; 刪除函數(shù):刪除某學(xué)生的信息; 保存函數(shù):保存好學(xué)生基本信息,以免丟失。4.3 系統(tǒng)的功能模塊的劃分: 開始 菜單界面 功能選擇 初始化函數(shù) 錄入學(xué)生信息 顯示學(xué)生信息 保存學(xué)生信息 刪除學(xué)生信息 修改學(xué)生信息 查詢學(xué)生信息 退出系統(tǒng) 結(jié)束 整個系統(tǒng)除了主函數(shù)外,另外還有14個函數(shù),實現(xiàn)七大功能:

10、錄入功能、顯示功能、保存功能、刪除功能、修改功能、查詢功能、退出系統(tǒng)功能。各個函數(shù)的詳細(xì)設(shè)計說明分明如下: (1)主函數(shù) main() 利用無限次循環(huán) for( ; ; )和swithch()實現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項來調(diào)用相應(yīng)的函數(shù)。 (2)菜單選擇函數(shù) int menu_select() 這是一個無參函數(shù),主要實現(xiàn)“功能選擇”的界面,在這個界面里有顯示系統(tǒng)的九項功能,根據(jù)每個功能前面的序號進(jìn)行選擇。等執(zhí)行完每一個函數(shù)功能后,返回菜單。 (3)代碼設(shè)計 初始化函數(shù) STUDENT *init() 這是一個無參函數(shù),里面只有兩個語句,它的作用是使鏈表初始化,使head的值為NUL

11、L和一個清屏語句。比如:沒有這個函數(shù)的話,在你沒有輸入任何數(shù)據(jù)的情況下,去執(zhí)行顯示功能的時候會顯示一些亂碼。 (4)輸入記錄函數(shù) STUDENT *create() 這是一個無參函數(shù),用來執(zhí)行學(xué)生檔案的記錄的輸入,當(dāng)學(xué)生為時停止輸入,函數(shù)結(jié)束后,帶回一個鏈表頭的指針指向下一個學(xué)生的信息插在表頭。 (5)顯示記錄函數(shù) void print(STUDENT *head) 這是有一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,負(fù)責(zé)對全部學(xué)生成績的輸出,不足之處就是不能就是不能對學(xué)生成績進(jìn)行分頁顯示。定義6個函數(shù)4.4總流程圖Main()void Modify()void Delete()void S

12、earch()void Display()void Save()void GetInfo()運行程序退出程序結(jié)束 4.5功能流程圖開始通過switch函數(shù)選擇插入功能Void print打開文件錄入學(xué)生基本信息 stui.no stui.sex stui.age stui.bnote關(guān)閉并保存文件結(jié)束第5章 測試5.1存在的問題:在我們編號程序的時候其實還是存在許多問題的,當(dāng)然這是一個過程,可以說錯誤基本上是不可避免的,比如說“一些輸入格式問題和一些習(xí)慣性的問題而導(dǎo)致的錯誤等等”。我個人認(rèn)為系統(tǒng)調(diào)試需要比較扎實的基本功以及充分的細(xì)心,因為C語言中的有些錯誤是不直接明了的。在這

13、個時候就需要我們耐心的去查找錯誤,有些錯誤是由于我們不好的習(xí)慣造成的,而且往往很難發(fā)現(xiàn),因為這些錯誤都是自己平時不怎么注意的。比如花括號的使用,比如分號的使用等等。所以平時調(diào)試時得養(yǎng)成良好的習(xí)慣,盡量減少出錯。5.2測試的方案 1.系統(tǒng)驗證技術(shù) 2.系統(tǒng)確認(rèn)技術(shù) 3.系統(tǒng)測試技術(shù)1. 將編好的源代碼放到C語言的運行環(huán)境中去運行,通過運行找出其中的錯誤或者是輸入不規(guī)范的地方,加以改正,還有就是試一下程序能不能運行,是不是滿足課程設(shè)計題目的要求。2. 把已經(jīng)整理好的源代碼放到C語言運行環(huán)境去調(diào)試一下,就是確認(rèn)這個源代碼是否正確。3. 用運行系統(tǒng)測試源程序代碼。第6章 使用說明書 按照菜單的提示進(jìn)行

14、選擇,1表示學(xué)生信息的錄入, 先進(jìn)行信息的錄入完成后,按回車鍵會彈出彈出第二個界面,根據(jù)第二個界面進(jìn)行選擇。2 表示信息的顯示。3表示信息的保存。4表示信息的刪除。5表示信息的修改。6表示信息的查詢。7表示安全退出系統(tǒng)。當(dāng)保存好學(xué)生的基本信息的時候你可以通過3保存學(xué)生的信息,按4是刪除,刪除成功后再輸入你的學(xué)號會顯示該學(xué)生不存在,在按5時會顯示要輸入密碼才能改變信息,按6時會彈出一個由四個選項組成的界面,有按1按學(xué)號查詢、2按年齡查詢、3按性別查詢、4按姓名查詢。所以只要你根據(jù)菜單上操作是不難的,歡迎使用! 第七章 總結(jié) 通過這次課程設(shè)計,我覺得自己的知識還遠(yuǎn)遠(yuǎn)不夠,這次C語言課程設(shè)計的“班級

15、檔案管理系統(tǒng)”,通過不斷調(diào)試與修改,最終還是完成了,雖然參考了許多資料,但是自己親手完成的第一個課程設(shè)計,還是挺激動地。這次課程設(shè)計充分運用了自己所學(xué)的東西,明白了自己的不足點,由于學(xué)藝不精,也遇到了不少麻煩,比如畫E-R圖時,各實體中關(guān)系的確定,由于對系統(tǒng)還不夠了解而找不到一個準(zhǔn)確的詞來形容,總體規(guī)劃材料太多,不易整理;相關(guān)數(shù)據(jù)庫沒有多注意,這次課程設(shè)計的重點只在對整個系統(tǒng)的總體思路設(shè)計。通過這次設(shè)計讓我明白了,只有通過自己動手才能真正學(xué)到東西。書本知識固然重要,但只有把它運用于實際才會發(fā)現(xiàn)自己的不足和錯誤,才能改進(jìn),才能達(dá)到學(xué)習(xí)的最終目標(biāo)。 以下是我總結(jié)出的一些經(jīng)驗:1.要對系統(tǒng)的功能做出

16、詳細(xì)的分析,并合理分解任務(wù)。2.把分解出來的子任務(wù),做成一個相對獨立的模塊。3.在設(shè)計一個模塊之前,要簡單構(gòu)想一下總界面的顯示情況。4.針對構(gòu)想出來的界面進(jìn)行程序的編寫。雖然我的課程設(shè)計存在許多問題,究其原因還是因為自己平時沒認(rèn)真學(xué)習(xí),以后定會認(rèn)真學(xué)習(xí),學(xué)以致用。附錄:參考文獻(xiàn)C程序設(shè)計(第三版) 譚浩強 著 清華大學(xué)出版社C語言程序設(shè)計實用指南 譚浩強 著 清華大學(xué)出版社課程設(shè)計與上級指導(dǎo) 譚浩強 著課程設(shè)計與習(xí)題詳解 葛日波 著源程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#includ

17、e<conio.h>#define N 3/測試數(shù)據(jù)人數(shù)為3struct student/設(shè)定一個內(nèi)容為學(xué)生信息的結(jié)構(gòu)體char name 10;/名字的長度允許最大為10char no10;/學(xué)號的長度允許最大為10char sex;int age;char bnote100;/備注的長度允許最大為100;void print(bool menu)/打印基本信息if(!menu)/主菜單 printf("ttt(歡迎使用本班級檔案管理系統(tǒng))tttn"); printf("*歡迎進(jìn)入我們的系統(tǒng)*nn"); printf("學(xué)生基本信

18、息錄入;press 1 n"); elseprintf("學(xué)生基本信息顯示,press 2 n");printf("學(xué)生基本信息保存,press 3 n");printf("學(xué)生基本信息刪除,press 4 n");printf("學(xué)生基本信息修改,press 5 n");printf("學(xué)生基本信息查詢,press 6 n"); printf("退出學(xué)生信息系統(tǒng),press 7 n"); void GetInfo(struct student *arr,int n

19、)/學(xué)生基本信息錄入char ch;for(int i=0;i<n;i+)printf("輸入學(xué)生的基本信息:name no age sex bnoten"); scanf("%s%s%d%c%c%s",,arri.no,&arri.age,&ch,&arri.sex,arri.bnote);void Display(struct student* arr,int n)/ 學(xué)生基本信息顯示 printf("學(xué)生基本信息:Name No Sex Age Noten"); for(int i

20、=0;i<n;i+) printf("%15s%15s%15c%15d%15sn",,arri.no,arri.sex,arri. age,arri.bnote); void Save(struct student* arr,int n)/ 學(xué)生基本信息保存,保存在c:student.txtFILE *fp;fp=fopen("c:student.txt","w+");if(fp=NULL)printf("文件不存在 !n");exit(0);fwrite(arr,sizeof(struct

21、 student)*n,n,fp);fclose(fp);void Modfiy(struct student* arr,int n)/學(xué)生基本信息修改char number10,ch;bool flag=false;printf(" 修改學(xué)生信息:n");printf(" 請輸入學(xué)號 :n");scanf("%s",number);for(int i=0;i<n;i+)if(!strcmp(number,arri.no)printf("infor: name no sex age bnoten");prin

22、tf("%12s%12s%12c%12d%12sn",,arri.no, arri.sex,arri.age,arri.bnote);printf("please input information:n");scanf("%s%s%c%c%d%s",,arri.no,&ch,&arri.sex,&arri.age,arri.bnote); Save(arr,n); flag=true;if(flag=false)printf("該學(xué)生不存在 !:n");v

23、oid Delete(struct student* arr,int n)/學(xué)生基本信息刪除char number10;bool flag=false;printf("Delete information:n");printf("please input the no:n");scanf("%s",number);for(int i=0;i<n;i+)if(!strcmp(number,arri.no)strcpy(," ");strcpy(arri.no," ");st

24、rcpy(arri.bnote," ");arri.sex=' 'arri.age=0;Save(arr,n);flag=true;if(flag=true)printf("該學(xué)生已刪除不存在!:n");void Search(struct student* arr,int n)/學(xué)生基本信息查詢int temp,i;bool flag=false; printf("-通過學(xué)號查詢,press 1-n"); printf("-通過姓名查詢,press 2-n"); printf("-通過性

25、別查詢,press 3-n"); printf("-通過年齡查詢,press 4-n"); printf("-退出, press 5-n"); scanf("%d",&temp); switch(temp) case 1: char num10; printf("請輸入學(xué)號:n"); scanf("%s",num); for(i=0;i<n;i+) if(!strcmp(num,arri.no) printf("%12s%12s%12c%12d%12sn&quo

26、t;,,arri.no,arri. sex,arri.age,arri.bnote); flag=true; if(!flag) printf("該學(xué)生不存在.n"); break; case 2: char num10; printf("please input name:n"); scanf("%s",num); for(i=0;i<n;i+) if(!strcmp(num,) printf("%12s%12s%12c%12d%12s",,arri.no, arri.sex,arri.age,arri.bnote); flag=true; if(!flag) printf("該學(xué)生不存在.n"); break; case 3: char ch; printf("請輸入性別:n"); ch=getch(); for(i=0;i<n;i+) if(ch=arri.sex) printf(

溫馨提示

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

最新文檔

評論

0/150

提交評論