![數據結構課程設計學生成績管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/77947767-aba7-4326-8aa7-9d15d8988e44/77947767-aba7-4326-8aa7-9d15d8988e441.gif)
![數據結構課程設計學生成績管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/77947767-aba7-4326-8aa7-9d15d8988e44/77947767-aba7-4326-8aa7-9d15d8988e442.gif)
![數據結構課程設計學生成績管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/77947767-aba7-4326-8aa7-9d15d8988e44/77947767-aba7-4326-8aa7-9d15d8988e443.gif)
![數據結構課程設計學生成績管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/77947767-aba7-4326-8aa7-9d15d8988e44/77947767-aba7-4326-8aa7-9d15d8988e444.gif)
![數據結構課程設計學生成績管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/77947767-aba7-4326-8aa7-9d15d8988e44/77947767-aba7-4326-8aa7-9d15d8988e445.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數 據 結 構 課 程 設 計設計題目:學生成績管理系統(tǒng) 學生姓名: 專業(yè)班級: 1 0 計網( 2) 班 指導教師: 完成時間: 2011.12.18 信息工程 學院 計科 系目錄引 言3第一章 總體概述41.1、課程設計應完成的工作41.2、學生成績管理系統(tǒng)基本操作的步驟4第二章 需求分析52.1、系統(tǒng)需求52.1.1問題描述:52.1.2功能要求:52.1.3輸入輸出的形式52.2、開發(fā)環(huán)境6第三章 詳細設計63.1、系統(tǒng)流程圖63.2、界面設計73.2.1主界面:在此界面用戶可以選擇要操作的選項,回車之后即可進入相關的頁面進行操作73.2.2 在本用戶界面可以輸入學生的基本信息73.2
2、.3在本用戶界面里可以顯示學生的基本信息83.2.4可以在本用戶界面插入新的學生信息83.2.5可以在本用戶界面顯示插入過后的學生信息83.2.7 可以在刪除信息過后再顯示學生的基本信息9第四章 源代碼10參考文獻16引 言通過本課程設計,使自己更加系統(tǒng)地理解和掌握數據結構的基本概念;能自如地根據實際要求,設計相應的數據結構,并運用c或c+語言實現所設計的算法,編寫較大型的程序,分析和解決實際應用問題,進一步加深、鞏固所學專業(yè)課程的基本理論知識,理論聯系實際,進一步培養(yǎng)自己綜合分析問題和解決問題的能力。掌握c語言或c+語言獨立的編寫、調試應用程序和進行其它相關設計的技能。此項目主要是考察我們對
3、結構體、數組、文件等具體操作,以及對c語言語法的掌握,所以做成此項目要求比較高的設計要求,對整體有很熟悉的概括,同時調試過程也是很重要的,對程序界面的要求也比較高,要設計的合理同時也要美觀一點,能夠人性化的描述清楚你的各個功能,一目了然,對其他用戶使用本程序簡單易懂,這才能成本程序或本系統(tǒng)是成功的。對于學生成績管理系統(tǒng),此項目每年都有學生去做,但是能夠在其他項目中脫穎而出,還要有自己的設計特色,用簡單的語言詳細描述系統(tǒng)的功能,這才是關鍵。這個設計能夠練習我們的理解和運用結構化程序設計的思想和方法,掌握開發(fā)一個小型實用系統(tǒng)的基本方法,學會調試一個比較長的程序的基本方法,同時掌握書寫程序設計開發(fā)文
4、檔的能力。第一章 總體概述1.1、課程設計應完成的工作1.1.1編寫算法1.1.2算法測試,并有具體的測試結果和結果分析1.1.3撰寫課程報告,內容包括: (1)封面 (2)目錄 (3)課程設計報告正文 (4)使用說明 (5)參考文獻1.2、學生成績管理系統(tǒng)基本操作的步驟 (1)輸入學生信息并保存到文件 (2)讀取文件并輸出學生信息 (3)按姓名及學號查詢 (4)插入信息 (5)按學號或姓名刪除信息 (6)按數據結構降序(冒泡)排序 (7)退出第二章 需求分析2.1、系統(tǒng)需求2.1.1問題描述: 該系統(tǒng)實現對若干個大學生的學習成績進行管理。至少包括以下信息:學號、姓名、成績。2.1.2功能要求
5、:(1)使用中文菜單,界面設計和用戶輸入輸出要人性化些;(2) 將學生信息保存在文本文檔中,具體對學生信息進行插入刪除查詢操作時,將保存在文本文檔中的學生信息提取出來,保存在自己定義的數據結構中,然后再對該數據結構進行操作,所有操作完成,或者在相應的命令后,再將學生信息保存到文本文檔中。(3)具有數據輸入功能,輸入的數據能最終保存在文件中;(4)具有數據刪除功能,能最終從文件中刪除;(5)排序功能,根據自己設計的數據結構,設計排序算法(6)具有查詢功能(姓名查詢)2.1.3輸入輸出的形式本系統(tǒng)是一個學生成績管理系統(tǒng),采用vc+6.0 編譯器作為開 發(fā)環(huán)境,這個環(huán)境是我們在學習c+的平臺。輸入數
6、據類型主要是char、int、float等數據類型,輸入內容包括:成績、學號、姓名。用戶在輸入學生數據時要保證輸入數據格式的正確性,系統(tǒng)不會自動檢測輸入的數據是否正確,輸出形式與輸入形式類似,根據需要可以選擇顯示輸入的各項內容,還可以選擇顯示計算好平均分后并排序后的記錄,顯示內容包括:學號、姓名、成績。 2.2、開發(fā)環(huán)境visual c+不僅僅是是一個c+編譯器,而是一個基于windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境,這種環(huán)境開發(fā)出來的軟件穩(wěn)定性好、可移植性強,可以編制各種各樣的windows應用程序。第三章 詳細設計3.1、系統(tǒng)流程圖 開始 主界面查詢學生信息輸出學生成績輸入學生成績退出本系
7、統(tǒng)插入學生成績刪除學生信息 結束3.2、界面設計3.2.1主界面:在此界面用戶可以選擇要操作的選項,回車之后即可進入相關的頁面進行操作3.2.2 在本用戶界面可以輸入學生的基本信息3.2.3在本用戶界面里可以顯示學生的基本信息3.2.4可以在本用戶界面插入新的學生信息3.2.5可以在本用戶界面顯示插入過后的學生信息3.2.6 在本用戶界面可以實現刪除信息的操作3.2.7 可以在刪除信息過后再顯示學生的基本信息所有操作均有提示語,比較人性化的管理,易懂,簡單。第四章 源代碼#include /*引用庫函數*/#include#include#includetypedef struct /*定義結
8、構體數組*/ char num10; /*學號*/ char name20; /*姓名*/ int score; /*成績*/student;student stu80; /*結構體數組變量*/int menu_select() /*菜單函數*/ char c; do system(cls); /*運行前清屏*/ printf(tt*學生成績管理系統(tǒng)*n); /*菜單選擇*/ printf(tt | 1. 輸入成績 |n); printf(tt | 2. 顯示記錄 |n);printf(tt | 3. 排序記錄 |n); printf(tt | 4. 插入數據 |n); printf(tt |
9、 5. 刪除數據 |n); printf(tt | 6. 查找顯示 |n); printf(tt | 0. 退 出 |n); printf(tt*n); printf(ttt請選擇操作(0-9):); c=getchar(); /*讀入選擇*/ while(c6); return(c-0); /*返回選擇*/int input(student stud,int n) /*輸入若干條記錄*/int i=0;char sign,x10; /*x10為清除多余的數據所用*/while(sign!=n&sign!=n) /*判斷*/ printf(ttt學生學號:); /*交互輸入*/ scanf(t
10、tt%s,studn+i.num); printf(ttt學生姓名:); scanf(ttt%s,studn+); printf(ttt學生成績:); scanf(ttt%d,&studn+i.score); gets(x); /*清除多余的輸入*/ printf(ttt繼續(xù)嗎?(y/n); scanf(ttt%c,&sign); /*輸入判斷*/ i+;return(n+i);void display(student stud,int n) /*顯示所有記錄*/int i;printf(ttt-n); /*格式頭*/printf(ttt學號 姓名 成績n);printf(ttt-
11、n);for(i=1;i1&i%10=0) /*每十個暫停*/ printf(ttt-n); /*格式*/ printf(ttt); system(pause); printf(ttt-n); printf(ttt);system(pause);void sort_by_num(student stud,int n) /*按學號排序*/ int i,j,*p,*q,s; char t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(stu
12、dj.num,t); strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t); p=&studj+1.score; q=&studj.score; s=*p; *p=*q; *q=s; int insert_a_record(student stud,int n) /*插入一條記錄*/char x10; /*清除多余輸入所用*/ printf(ttt學生學號:); /*交互式輸入*/ scanf(ttt%s,studn.num); printf(ttt學生姓名:); scanf(ttt%s,st
13、); printf(ttt學生成績:); scanf(ttt%d,&studn.score); gets(x); n+; sort_by_num(stud,n); /*調用排序函數*/ printf(ttt插入成功!n); /*返回成功信息*/ return(n);int delete_a_record(student stud,int n) /*按姓名查找,刪除一條記錄*/ char s20; int i=0,j; printf(ttt姓名?:); /*交互式問尋*/ scanf(%s,s); while(strcmp(,s)!=0&in) i+; /*查
14、找判斷*/ if(i=n) printf(ttt記錄不存在!n); /*返回失敗信息*/ return(n); for(j=i;jn-1;j+) /*刪除操作*/ strcpy(studj.num,studj+1.num); strcpy(,studj+1.name); studj.score=studj+1.score; printf(ttt刪除成功!n); /*返回成功信息*/ return(n-1);void query_a_record(student stud,int n) /*查找并顯示一個記錄*/ char s20; int i=0; printf(ttt姓名
15、?:); /*交互式輸入*/ scanf(ttt%s,s); while(strcmp(,s)!=0&in) i+; /*查找判斷*/ if(i=n) printf(ttt記錄不存在!n); /*輸入失敗信息*/ return; printf(ttthis(her) number:%sn,studi.num); /*輸出該學生信息*/ printf(ttthis(her) score:%dn,studi.score);void main() /*主函數*/int n=0; for(;) switch(menu_select() /*選擇判斷*/ case 1: printf
16、(ttt輸入信息n); /*輸入若干條記錄*/ n=input(stu,n); break; case 2: printf(ttt顯示記錄n); /*顯示所有記錄*/ display(stu,n); break; case 3: printf(ttt排序記錄n); sort_by_num(stu,n); /*按學號排序*/ printf(ttt排序成功!n); printf(ttt); system(pause); break; case 4: printf(ttt插入數據n); n=insert_a_record(stu,n); /*插入一條記錄*/ printf(ttt); system(
17、pause); break; case 5: printf(ttt刪除數據n); n=delete_a_record(stu,n); /*按姓名查找,刪除一條記錄*/ printf(ttt); system(pause); break; case 6: printf(ttt查找顯示n); query_a_record(stu,n); /*查找并顯示一個記錄*/ printf(ttt); system(pause); break; case 0: printf(tt);ttt退出!n); /*結束程序*/ printf(t system(pause); exit(0); 參考文獻【1】嚴蔚敏,吳
18、偉民.數據結構(c語言版).北京:清華大學出版社,2009.【2】耿國華.數據結構c語言描述.西安:西安電子科技大學出版社,2002.【3】田魯懷.數據結構.北京:電子工業(yè)出版社,2006.【4】彭波.數據結構及算法.北京:機械工業(yè)出版社,2008.【5】宗大華,宗杰,黃芳.數據結構.北京:人民郵電出版社,2010.【6】王紅梅,胡明,王濤.數據結構(c+版).北京:清華大學出版社,2005.【7】范策,周世平,胡瀟昆.算法與數據結構(c語言版).北京:機械工業(yè)出版社,2004.【8】陳慧南.算法設計與分析)(c+語言描述).北京:電子工業(yè)出版社,2006.【9】秦鋒.數據機構(c+版).北京:北京大學出版社,2006.【10】李春葆,尹為民,李蓉蓉.數據結構教程.北京:清華大學出版社,2009.【11】顧為兵.數據結構及應用算法.合肥:中國科學技術大學出版社,2008.【12】吉根林.數據結構教程(c+版).北京:電子工業(yè)出版社,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州農業(yè)職業(yè)學院《通信工程概論》2023-2024學年第二學期期末試卷
- 曲靖2025年云南曲靖市麒麟區(qū)益寧街道衛(wèi)生服務中心招聘筆試歷年參考題庫附帶答案詳解
- 云南工貿職業(yè)技術學院《簡明空氣動力學》2023-2024學年第二學期期末試卷
- 徐州醫(yī)科大學《供應鏈系統(tǒng)模擬實驗》2023-2024學年第二學期期末試卷
- 2024年02月山東2024年中國民生銀行濟南分行誠聘英才筆試歷年參考題庫附帶答案詳解
- 四川文化產業(yè)職業(yè)學院《化學史》2023-2024學年第二學期期末試卷
- 山東工程職業(yè)技術大學《國際商務管理》2023-2024學年第二學期期末試卷
- 廣東職業(yè)技術學院《虛擬現實設計》2023-2024學年第二學期期末試卷
- 蘭州博文科技學院《宗教經驗之種種》2023-2024學年第二學期期末試卷
- 2025年全球醫(yī)療趨勢報告
- 成都四川成都簡陽市簡城街道便民服務和智慧蓉城運行中心招聘綜治巡防隊員10人筆試歷年參考題庫附帶答案詳解
- 2025-2030全球廢棄食用油 (UCO) 轉化為可持續(xù)航空燃料 (SAF) 的催化劑行業(yè)調研及趨勢分析報告
- 山東省臨沂市蘭山區(qū)2024-2025學年七年級上學期期末考試生物試卷(含答案)
- 湖北省武漢市2024-2025學年度高三元月調考英語試題(含答案無聽力音頻有聽力原文)
- 商務星球版地理八年級下冊全冊教案
- 天津市河西區(qū)2024-2025學年四年級(上)期末語文試卷(含答案)
- 2025年空白離婚協(xié)議書
- 校長在行政會上總結講話結合新課標精神給學校管理提出3點建議
- 北京市北京四中2025屆高三第四次模擬考試英語試卷含解析
- 2024年快遞行業(yè)無人機物流運輸合同范本及法規(guī)遵循3篇
- T-CSUS 69-2024 智慧水務技術標準
評論
0/150
提交評論