歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

學(xué)生信息管理系統(tǒng) .doc

  • 資源ID:23331368       資源大小:221.50KB        全文頁(yè)數(shù):20頁(yè)
  • 資源格式: DOC        下載積分:5積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要5積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

學(xué)生信息管理系統(tǒng) .doc

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

注意事項(xiàng)

本文(學(xué)生信息管理系統(tǒng) .doc)為本站會(huì)員(小**)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!