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

下載本文檔

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

文檔簡介

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

2、、修改、刪除、保存等操作的管理。3、 設計方法結(jié)合C語言的有關知識,查閱資料,對班級檔案管理系統(tǒng)的內(nèi)容進行構思和設計,在Microsoft Visual C+6.0平臺上完成設計,并進行調(diào)試。29目錄第1章 緒論.5第2章 需求分析2.1問題描述.62.2 功能要求.62.3 算法提示.62.4項目開發(fā)的目的.7第3章 概要設計3.1程序模塊的組成.83.2班級檔案管理系統(tǒng).83.3各個程序的功能介紹.93.4系統(tǒng)結(jié)構圖.9第4章 模塊設計分析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參考文獻.18B源程代碼.20 第一章 緒論 班級檔案管理系統(tǒng)有六種功能,把這六種功能做成六個子函數(shù)。在主函數(shù)中設計一個菜單對這六個子函數(shù)進行管理,來實現(xiàn)對整個系統(tǒng)的操作。根據(jù)課題的要求,每個數(shù)據(jù)的結(jié)構應當包括:學號(char)、姓名(char)、性別(char)、年齡(int)、備注(char)。對一個有N個學生的班級,通過該系統(tǒng)實現(xiàn)對該班級學生的基本信息的錄入、顯示、修改、刪除、保存等操作的管理。最后為了以后按照處理后的順序保存到文件中。 第2章 需求分析2.1 問題描述:對一個有N個學生的班級,通過該系統(tǒng)實

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

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

6、設計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ù),主要是錄入學生的基本信息;2. DisPlay() 是顯示函數(shù),就是把學生的基本信息顯示在電腦上;3. Save() 是保存函數(shù),就是把學生基本信息保存下來;4. Delect() 是刪除函數(shù),把不要的信息刪除;5. Modfi

7、y() 是修改函數(shù),修改錯誤的學生基本信息;6. Search() 是查詢函數(shù),查詢學生的基本信息;7. print() 是輸出函數(shù),輸出學生的基本信息。3.2 班級檔案管理系統(tǒng) struct student /設定一個內(nèi)容為學生信息的結(jié)構體 char name10;/名字的長度允許最大為10; char no10;/學號的長度允許最大為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、相應的函數(shù)。 錄入函數(shù):用來錄入學生的基本信息。 顯示函數(shù):把錄入的學生的基本信息顯示在桌面上。 保存函數(shù):可以保存學生信息。 刪除函數(shù):可以刪除學生的錯誤信息。 修改函數(shù):可以修改舊的信息。 查詢函數(shù):方便管理員和學生查詢。 退出函數(shù):可以用來退出系統(tǒng)以保證學生信息的安全。班級檔案管理系統(tǒng) 3.4 系統(tǒng)結(jié)構圖 進入菜單退出系統(tǒng)信息的修改信息的刪除信息的保存信息的顯示信息的錄入 第4章 模塊設計分析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ù):錄入學生的基本信息; 菜單函數(shù):顯示系統(tǒng)主菜單; 顯示函數(shù):顯示所有學生信息; 查詢函數(shù):方便學生查找自己基本的信息; 刪除函數(shù):刪除某學生的信息; 保存函數(shù):保存好學生基本信息,以免丟失。4.3 系統(tǒng)的功能模塊的劃分: 開始 菜單界面 功能選擇 初始化函數(shù) 錄入學生信息 顯示學生信息 保存學生信息 刪除學生信息 修改學生信息 查詢學生信息 退出系統(tǒng) 結(jié)束 整個系統(tǒng)除了主函數(shù)外,另外還有14個函數(shù),實現(xiàn)七大功能:

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

11、L和一個清屏語句。比如:沒有這個函數(shù)的話,在你沒有輸入任何數(shù)據(jù)的情況下,去執(zhí)行顯示功能的時候會顯示一些亂碼。 (4)輸入記錄函數(shù) STUDENT *create() 這是一個無參函數(shù),用來執(zhí)行學生檔案的記錄的輸入,當學生為時停止輸入,函數(shù)結(jié)束后,帶回一個鏈表頭的指針指向下一個學生的信息插在表頭。 (5)顯示記錄函數(shù) void print(STUDENT *head) 這是有一個不返回值的有參函數(shù),形參為“鏈表頭的指針”,負責對全部學生成績的輸出,不足之處就是不能就是不能對學生成績進行分頁顯示。定義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打開文件錄入學生基本信息 stui.no stui.sex stui.age stui.bnote關閉并保存文件結(jié)束第5章 測試5.1存在的問題:在我們編號程序的時候其實還是存在許多問題的,當然這是一個過程,可以說錯誤基本上是不可避免的,比如說“一些輸入格式問題和一些習慣性的問題而導致的錯誤等等”。我個人認為系統(tǒng)調(diào)試需要比較扎實的基本功以及充分的細心,因為C語言中的有些錯誤是不直接明了的。在這

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

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

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

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

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

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

19、)/學生基本信息錄入char ch;for(int i=0;i<n;i+)printf("輸入學生的基本信息: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)/ 學生基本信息顯示 printf("學生基本信息: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)/ 學生基本信息保存,保存在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)/學生基本信息修改char number10,ch;bool flag=false;printf(" 修改學生信息:n");printf(" 請輸入學號 :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("該學生不存在 !:n");v

23、oid Delete(struct student* arr,int n)/學生基本信息刪除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("該學生已刪除不存在!:n");void Search(struct student* arr,int n)/學生基本信息查詢int temp,i;bool flag=false; printf("-通過學號查詢,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("請輸入學號: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("該學生不存在.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("該學生不存在.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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論