《學生信息管理系統(tǒng) .doc》由會員分享,可在線閱讀,更多相關《學生信息管理系統(tǒng) .doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、滁州學院課程設計報告課程名稱: 數(shù)據(jù)結構 設計題目: 學生成績信息管理系統(tǒng) 系 別: 計算機科學與技術 專 業(yè): 計算機科學與技術 組 別: 第十組 起止日期: 11年5 月 20日 11年 6 月25日 指導教師: 楊斌 計算機科學與技術系二一一年制課程設計題目學生成績管理系統(tǒng)組長孫大成學號2010211119班級計科一班系別計算機科學與技術專業(yè)計算機科學與技術組員陳鳳霞 高山 陳世光指導教師楊斌課程設計目的方便用戶對學生成績的管理和查詢課程設計所需環(huán)境Microsoft Visual C+ 6.0課程設計任務要求應用數(shù)據(jù)結構的知識從文本中讀取數(shù)據(jù),設計算法,完成對學生成績的管理和查詢課程設
2、計工作進度計劃序號起止日期工 作 內 容分工情況15/205/25將學生的成績從文本文件中讀取出來,存入數(shù)組陳鳳霞完成25/255/30運用選擇排序法對成績進行降序排列陳世光完成36/16/10運用直接插入排序對成績進行升序排列孫大成完成46/106/15對某個學生的成績進行查找操作高山完成56/156/20對不及格學生的成績輸出到新建文檔中高山完成66/20設計主函數(shù)中的循環(huán)算法,便于多次操作孫大成完成指導教師簽字: 年 月 日教研室審核意見:教研室主任簽字: 年 月 日課程設計任務書18目錄引言21.1、課程簡介21.2、課程設計的背景2需求分析22.1問題要求22.2設計思路32.3運行
3、開發(fā)環(huán)境3概要設計33.1流程圖33.2 主要數(shù)據(jù)結構43.3 函數(shù)及其實現(xiàn)的功能4詳細設計4調試與操作說明155.1、成績的合并后輸出155.2、成績的降序輸出155.3、不及格成績學生的信息:155.3成績的查詢155.4、成績的不及格信息165.5成績的文本中讀取16課程設計總結與體會17致謝17參考文獻17課程設計的主要內容引言1.1、課程簡介當今社會,計算機技術和通信技術已經不斷發(fā)展,處理和傳輸?shù)臄?shù)據(jù)量越來越龐大。文本文件存儲的方式是普通人熟悉的數(shù)據(jù)管理的方式,我們要做的就是在文本中讀取數(shù)據(jù),在程序中處理數(shù)據(jù),生成新的數(shù)據(jù)再保留在文本文檔中,供其他人應用。1.2、課程設計的背景課程設
4、計是為了讓同學們了解學習數(shù)據(jù)結構的作用和意義。數(shù)據(jù)結構是計算機科學與技術專業(yè)的專業(yè)基礎課。所有的計算機系統(tǒng)軟件和應用軟件都要用到各種類型的數(shù)據(jù)結構。因此,想要更好地運用計算機來解決實際問題,僅僅掌握幾門計算機程序設計語言是遠遠難以應付當前眾多復雜的課題,想要有效地使用計算機,充分發(fā)揮它的性能,還必須學習和掌握好數(shù)據(jù)結構的有關知識,打好數(shù)據(jù)結構這門課的基礎,對于學習計算機專業(yè)其它的課程,如操作系統(tǒng)、軟件工程、編譯原理、數(shù)據(jù)庫、人工智能等十分有益。需求分析2.1問題要求現(xiàn)有學生成績信息文件1(1.txt),內容如下姓名 學號 語文 數(shù)學 英語 張明明 01 67 78 82李成友 02 78 91
5、 88張輝燦 03 68 82 56王露 04 56 45 77陳東明 05 67 38 47. . . . 學生成績信息文件2(2.txt),內容如下:姓名 學號 語文 數(shù)學 英語 陳果 31 57 68 82李華明 32 88 90 68張明東 33 48 42 56李明國 34 50 45 87陳道亮 35 47 58 77. . . .(文件內容可根據(jù)測試要求,自行制定)試編寫一個管理系統(tǒng),要求如下:1)、實現(xiàn)對兩個文件數(shù)據(jù)進行合并,生成新文件3.txt2)、抽取出三科成績中有補考的學生并保存在一個新文件4.txt3)、對合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方
6、法實現(xiàn))4)、輸入一個學生姓名后,能查找到此學生的信息并輸出結果(至少采用兩種查找方法實現(xiàn))5)、要求使用結構體,鏈或數(shù)組等實現(xiàn)上述要求.采用多種方法且算法正確者,可適當加分.2.2設計思路利用文件對學生成績等基本信息進行保存,并將其中的兩文件合并成一個,生成新的文件;學生成績的分析,將應補考的同學的基本信息保存在另一個文件中;利用合并進行降序。2.3運行開發(fā)環(huán)境運行環(huán)境 Microsoft Visual C+ 6.0;開發(fā)工具 C/C+概要設計3.1流程圖課程設計中算法的函數(shù)模塊學生信息的建立void create(Data stu)一些學生的信息的排序(合并排序)void hebing(D
7、ata stu)/hebing paixu補考同學信息的合并void bukao(Data stu)主函數(shù)的建立void main()結束圖3.1設計的流程圖3.2 主要數(shù)據(jù)結構結構如下表所述,建立包含系成績、學號、總分的信息存儲等具體數(shù)據(jù)結構定義如下:typedef struct data/建立結構體數(shù)組char name10;intXhao;int china;int math;int english;int sum;Data;3.3 函數(shù)及其實現(xiàn)的功能 利用文件對學生成績等基本信息進行保存,并將其中的兩文件合并成一個,生成新的文件;學生成績的分析,將應補考的同學的基本信息保存在另一個文件
8、中;利用合并進行降序。詳細設計4.1程序設計源代碼#include#include#include/為了輸入字符串#includetypedef struct data【1】char name10;intXhao;int china;int math;int english;int sum;Data;int k;/void create(Data stu)int i=0;【1】FILE *fp1,*fp2;if(fp1=fopen(E:c語言課程設計作業(yè)t1.txt,r)=NULL)printf(FILE not found!n);exit(0);if(fp2=fopen(E:c語言課程設計作
9、業(yè)t2.txt,r)=NULL)printf(FILE not found!n);exit(0);while(!feof(fp1)fscanf(fp1,%s%d%d%d%d,stui.name,&stui.Xhao,&stui.china,&stui.math,&stui.english);stui.sum=stui.china+stui.math+stui.english;i+;i-;while(!feof(fp2)fscanf(fp2,%s%d%d%d%d,stui.name,&stui.Xhao,&stui.china,&stui.math,&stui.english);stui.sum
10、=stui.china+stui.math+stui.english;i+;i-;k=i;printf(學號 姓名 語文 數(shù)學 英語 總分n);for(int j=0;ji;j+)printf(%d %-5s %d %d %d %d n,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum);coutendl;/1、選擇排序void hebing(Data stu)int max,jj,i;Data t;FILE *fp3;if(fp3=fopen(E:c語言課程設計作業(yè)t3.txt,w)=NULL)printf(FILE
11、 not found!n);exit(0);for(jj=0;jjk;jj+)max=jj;for(i=jj+1;ik;i+)if(stumax.sumstui.sum)t=stumax;stumax=stui;stui=t;for(int j=0;jk;j+)fprintf(fp3,%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum);printf(%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stu
12、j.english,stuj.sum);/2、直接插入排序void hebing2(Data stu)int t,i;Data temp;FILE *fp5;if(fp5=fopen(E:c語言課程設計作業(yè)t5.txt,w)=NULL)printf(FILE not found!n);exit(0);for(i=2;i stu0)stut+1=stut;t=t-1;stut+1= stu0;for(int j=1;j=k;j+)fprintf(fp5,%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.engli
13、sh,stuj.sum);printf(%d %-5s %d %d %d %dn,stuj.Xhao,stuj.name,stuj.china,stuj.math,stuj.english,stuj.sum);/void bukao(Data stu)FILE *fp4;if(fp4=fopen(E:c語言課程設計作業(yè)t4.txt,w)=NULL)printf(FILE not found!n);exit(0);for(int i=0;ik;i+)if(stui.china60)fprintf(fp4,%d-%s-%d ,stui.Xhao,stui.name,stui.china);prin
14、tf(%d-%s-%d ,stui.Xhao,stui.name,stui.china);fprintf(fp4,%sn,語文不及格:);printf(%sn,語文不及格:);if(stui.math60)fprintf(fp4,%d-%s-%d ,stui.Xhao,stui.name,stui.math);printf(%d-%s-%d ,stui.Xhao,stui.name,stui.math);fprintf(fp4,%sn,數(shù)學不及格:);printf(%sn,數(shù)學不及格:);if(stui.english60)fprintf(fp4,%d-%s-%d ,stui.Xhao,stu
15、i.name,stui.english);printf(%d-%s-%d ,stui.Xhao,stui.name,stui.english);fprintf(fp4,%sn,英語不及格:);printf(%sn,英語不及格:);/void search(Data stu)int j,flag=0;char name10;printf(輸入一個學生的姓名:n);scanf(%s,name);fflush(stdin);for(int i=0;ik;i+)j=strcmp(name,stui.name);if(j=0)flag=1;printf(%d-%s-%d-%d-%d-%dn,stui.X
16、hao,stui.name,stui.china,stui.math,stui.english,stui.sum);if(flag=0)coutnot foundendl;/void prf()cout#*#endl;cout #*輸入“1”,降序排列成績*結果見文本文件t3*#endl;cout #*輸入“2”,升序排列成績*結果見文本文件t5*#endl;cout #*輸入“3”,補考信息*結果見文本文件t4*#endl;cout #*輸入“4”,查找學生信息*#endl;cout #*輸入“0”,結束服務*#endl;void main()int j=1;char ch;Data stu
17、20;Data A20;prf();cout請輸入要執(zhí)行的步驟(以1,2,3,4,5,0 ):endl;scanf(%c,&ch);fflush(stdin);create(stu);for(int i=0;ik;i+,j+)數(shù)組【2】,實現(xiàn)直接插入排序Aj=stui;while(ch!=0)switch(ch)case1:cout降序排列endl;hebing(stu);break;case2:cout升序排列endl;hebing2(A);break;case3:cout補考信息endl;bukao(stu);break;case4:printf(查找信息);search(stu);bre
18、ak;cout請輸入要執(zhí)行的步驟(以1,2,3,4,0 ):endl;ch=getchar();fflush(stdin);調試與操作說明5.1、成績的合并后輸出圖5.1成績的合并5.2、成績的降序輸出5.3、不及格成績學生的信息:圖5.2成績的降序排序5.3成績的查詢圖5.3成績的查詢5.4、成績的不及格信息圖5.4成績的不及格學生信息5.5成績的文本中讀取在文本文件中查看上述操作的結果。圖5.5文本文件降序成績圖5.6文本文件補考信息課程設計總結與體會在課程設計中,我們組的成員分工合作。他們每個人遇到過不同程度的問題都會想著去解決去實現(xiàn),當一個人解決不了的時候,團隊的優(yōu)越性就體現(xiàn)出來了。我們一起探討,研究終于完成了這次的課程設計,雖然這只是一個小的程序,沒有牽涉到什么外圍的人力和物理資源。但是我們多少了解做課程設計的精髓,為以后的學術報告做好鋪墊。致謝感謝本組全體成員的努力以及老師們和同學們的幫助,其中有數(shù)據(jù)結構老師楊斌和C語言程序設計老師趙瑞斌等。參考文獻1 何欽銘,顏輝.C語言程序設計M.北京:高等教育出版社,2008.2 胡學剛.數(shù)據(jù)結構(C語言版)M.北京:高等教育出版社,2008評語: 評閱教師簽名: 年 月 日成 績