版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù) 據(jù) 結(jié) 構(gòu)課 程 設(shè) 計(jì) 報(bào) 告課題名稱學(xué)生成績(jī)管理系統(tǒng) 姓名 學(xué)院 系科班級(jí) 指導(dǎo)老師 日期2013年1月17日 目錄一、問題描述 3二、基本要求 3三、設(shè)計(jì)目的4四、概念設(shè)計(jì)4五、詳細(xì)設(shè)計(jì) 5n 1主要數(shù)據(jù)結(jié)構(gòu) 5n 2模塊功能 5n 3調(diào)用關(guān)系 5六、源程序5七、測(cè)試結(jié)果12八、心得體會(huì)15九、參考文獻(xiàn)16學(xué)生成績(jī)管理系統(tǒng)一、 問題描述現(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(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. . . . 二、 基本要求試編寫一管理系統(tǒng),要求如下:1) 實(shí)現(xiàn)對(duì)兩個(gè)文件數(shù)據(jù)進(jìn)行合并,生成新文件3.txt2) 抽取出三科成績(jī)中有補(bǔ)考的學(xué)生并保存在一個(gè)新文件4.txt3) 對(duì)合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(至少采用兩種排序方法實(shí)現(xiàn))4) 輸入一個(gè)學(xué)生姓名后,能查找到此學(xué)生的信息并輸出結(jié)果(至少采用兩種查找方法實(shí)現(xiàn))5) 要求使用結(jié)構(gòu)體和數(shù)組實(shí)現(xiàn)上述要求.三、 設(shè)計(jì)目
3、的1)培養(yǎng)學(xué)生綜合程序設(shè)計(jì)的能力,訓(xùn)練學(xué)生靈活應(yīng)用所學(xué)數(shù)據(jù)結(jié)構(gòu)知識(shí),獨(dú)立完成問題分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)和編程實(shí)現(xiàn)等軟件開發(fā)全過程的綜合實(shí)踐能力。2)鞏固、深化學(xué)生的理論知識(shí),提高編程水平,培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的學(xué)習(xí)作風(fēng)。為今后學(xué)習(xí)其他計(jì)算機(jī)課程打下基礎(chǔ)。3)將書本上的理論知識(shí)和工作、生產(chǎn)實(shí)際有機(jī)地結(jié)合起來(lái),從而鍛煉學(xué)生分析問題、解決實(shí)際問題的能力,提高編程序能力和創(chuàng)新意識(shí)。四、 概要設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)讀取文件1讀取文件2合并兩文件放在文件3把補(bǔ)考的放在文件4退出查找文件中的人信息五、 詳細(xì)設(shè)計(jì)1)主要數(shù)據(jù)結(jié)構(gòu):struct student char name6;int num;long
4、 int chi;long int math;long int eng;long int sum;2)模塊功能:合并模板、提取模板、排序模板、查詢模板、模塊功能1、生成文件3:實(shí)現(xiàn)對(duì)兩個(gè)文件數(shù)據(jù)進(jìn)行合并,生成新文件3.txt;2、查看文件3:顯示文件3里的所有信息;3、生成文件補(bǔ)考文件4:抽取出三科成績(jī)中有補(bǔ)考的學(xué)生并保存在一個(gè)新文件4.txt; 4、查看文件4:顯示文件4里的所有信息;5、排序后的文件3:對(duì)合并后的文件3.txt中的數(shù)據(jù)按總分降序排序(冒泡、插入); 6、查找學(xué)生信息:按姓名查找學(xué)生的信息并輸出結(jié)果(順序、折半);3)調(diào)用關(guān)系主函數(shù)可調(diào)用其它函數(shù)六、 源程序#include#
5、includestruct student char name6;int num;long int chi;long int math;long int eng;long int sum;struct student stu1100,stu2100,stu3100,stu4100,t,tmp;FILE *fp;int i,j;void creat1() /對(duì)1.txt的成績(jī)進(jìn)行讀取 int i; for(i=1;i=5;i+) fscanf(fp,%s %d %ld %ld %ld,,&stu1i.num,&stu1i.chi,&stu1i.math,&stu1i.eng)
6、; printf(n1.txt中學(xué)生的成績(jī)?nèi)缦?n);printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ)n);for(i=1;i=5;i+) printf(%s %d %ld %ld %ldn,,stu1i.num,stu1i.chi,stu1i.math,stu1i.eng);void creat2() /對(duì)2.txt的成績(jī)進(jìn)行讀取 int i; for(j=1;j=5;j+) fscanf(fp,%s %d %ld %ld %ld,,&stu2j.num,&stu2j.chi,&stu2j.math,&stu2j.eng); printf(n2.txt中學(xué)生
7、的成績(jī)?nèi)缦?n); printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ)n); for(j=1;j=5;j+) printf(%s %d %ld %ld %ldn,,stu2j.num,stu2j.chi,stu2j.math,stu2j.eng);void hb() /把合并后的成績(jī)賦值到新的結(jié)構(gòu)體數(shù)組stu3a中 int i;for(i=1;i=5;i+) stu3i=stu1i;for(i=6;i=6+j;i+) stu3i=stu2i-5; printf(n3.txt中所有學(xué)生的成績(jī)名單:n);printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 總分n); for(i=1;i=10;
8、i+) stu3i.sum=stu3i.math+stu3i.eng+stu3i.chi; printf(%s %d %ld %ld %ld %ldn,,stu3i.num,stu3i.chi,stu3i.math,stu3i.eng,stu3i.sum); fprintf(fp,%s %d %ld %ld %ld %ldn,,stu3i.num,stu3i.chi,stu3i.math,stu3i.eng,stu3i.sum); int extract() /把成績(jī)中需要補(bǔ)考的學(xué)生成績(jī)保存在數(shù)組stu4j中 int j; j=1;for(i=1;i=1
9、0;i+)if(stu3i.math60|stu3i.eng60|stu3i.chi60)stu4j=stu3i;j+;printf(n補(bǔ)考學(xué)生成績(jī)名單如下:n);printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ)n); for(i=1;ij;i+) fprintf(fp,%5s %3d %4d %4d %4n,,stu4i.num,stu4i.chi,stu4i.math,stu4i.eng); printf(%5s %3d %4d %4d %4dn,,stu4i.num,stu4i.chi,stu4i.math,stu4i.eng);void sort1()
10、 /冒泡排序 for(i=1;i=10;i+)for(j=i+1;jstu3i.sum) t=stu3j; stu3j=stu3i; stu3i=t; printf(n按總分由高到低排序(冒泡)后的成績(jī)?nèi)缦?n); printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 總分n); for(i=1;i=10;i+)printf(%s %d %ld %ld %ld %ldn,,stu3i.num,stu3i.chi,stu3i.math,stu3i.eng,stu3i.sum);void sort2() /插入排序 for(i=2;istu3i-1.sum)tmp=stu3i;stu3i
11、=stu3i-1;for(j=i-1;j0&tmp.sumstu3j.sum;j-)stu3j+1=stu3j;stu3j+1=tmp;printf(n按總分由高到低排序(插入)后的成績(jī)?nèi)缦?n); printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 總分n); for(i=1;i=10;i+)printf(%s %d %ld %ld %ld %ldn,,stu3i.num,stu3i.chi,stu3i.math,stu3i.eng,stu3i.sum);void search1() /名字查找方式(順序查找) char fname6; printf(n請(qǐng)輸入要查找學(xué)生的姓名:)
12、; scanf(%s,&fname); for(i=1;i=10;i+) if(!strcmp(,fname) printf(n你所查找(名字順序)的學(xué)生成績(jī)?nèi)缦?n); printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 總分n); printf(%s %d %ld %ld %ld %ldn,,stu3i.num,stu3i.chi,stu3i.math,stu3i.eng,stu3i.sum); void search2() / 名字查找方式(折半查找) char fname6; int mid,low=1; int high=10; printf(n請(qǐng)輸入
13、要查找的學(xué)生的姓名:); scanf(%s,&fname); while(low0) high=mid; else low=mid; printf(n你所查找(名字折半)的學(xué)生成績(jī)?nèi)缦?n); printf(姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 總分n); printf(%s %d %ld %ld %ld %ldn,,stu3mid.num,stu3mid.chi,stu3mid.math,stu3mid.eng,stu3mid.sum);void main() char digit;printf(*系統(tǒng)功能菜單* n);printf( - - n);printf( * n);
14、printf( *1. 讀取3.txt的成績(jī)(合并) * *2. 讀取4.txt的成績(jī)(補(bǔ)考) * n);printf( * n); printf( *3. 按總分排序(冒泡) * *4. 按總分排序(插入) * n);printf( * n);printf( *5. 按名字查找 (順序) * *6. 按名字查找(折半) * n);printf( * n);printf( *7. 退出系統(tǒng) * n);printf( * n);printf( - - n);printf(請(qǐng)選擇菜單編號(hào):);scanf(%c,&digit);switch(digit) case 1: fp=fopen(d:1.t
15、xt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); break;case 2: fp=fopen(d:1.txt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); fp=fopen(d:4.txt,w); extract(); fclose(fp); br
16、eak;case 3: fp=fopen(d:1.txt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); sort1(); break;case 4: fp=fopen(d:1.txt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); sort2(); br
17、eak;case 5: fp=fopen(d:1.txt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); search1(); break; case 6: fp=fopen(d:1.txt,r+); creat1(); fclose(fp); fp=fopen(d:2.txt,r+); creat2(); fclose(fp); fp=fopen(d:3.txt,w); hb(); fclose(fp); search2(); break; case 7: break;七、 測(cè)試結(jié)果1) 合并:2) 排序:冒泡排序:插入排序:3) 抽出補(bǔ)考學(xué)生:4) 按姓名查找:順序查找:折半查找: 八、 心得體會(huì)本系統(tǒng)設(shè)計(jì)是為了合并兩個(gè)信息表,然后對(duì)信息表進(jìn)行排序,從信息中查詢信息。由于C語(yǔ)言學(xué)的不扎實(shí),編程時(shí)遇到了很多困難,開始調(diào)試的時(shí)候經(jīng)常出現(xiàn)很多的錯(cuò)誤,經(jīng)常容易煩躁,但是經(jīng)過一段的時(shí)間的鍛煉使得我能夠一步一步的去解決問題。在程序設(shè)計(jì)方面,逐漸感覺到模塊化設(shè)計(jì)的重要性,應(yīng)該分析出功能模塊,然后對(duì)其細(xì)節(jié)中的共性和特性作
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030挪威漁業(yè)市場(chǎng)現(xiàn)狀發(fā)展趨勢(shì)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030挪威海洋油氣開發(fā)產(chǎn)業(yè)技術(shù)創(chuàng)新方向研究分析及投資策略報(bào)告
- 2025-2030挪威海洋工程行業(yè)市場(chǎng)競(jìng)爭(zhēng)態(tài)勢(shì)供需平衡及投資方向評(píng)估報(bào)告
- 2025-2030挪威海上石油開采行業(yè)市場(chǎng)競(jìng)爭(zhēng)發(fā)展?jié)摿ν顿Y評(píng)估分析研究報(bào)告
- 2025-2030挪威建筑建材行業(yè)市場(chǎng)長(zhǎng)期運(yùn)營(yíng)庫(kù)存配置調(diào)研分析報(bào)告
- 2025-2030招商行業(yè)市場(chǎng)供需分析及投資評(píng)估規(guī)劃前景發(fā)展研究報(bào)告
- 2025-2030投資評(píng)估規(guī)劃分析報(bào)告農(nóng)業(yè)現(xiàn)代化技術(shù)與市場(chǎng)前景研究
- 2025-2030投影幕布光學(xué)設(shè)計(jì)方案與高清顯示效果測(cè)試分析
- 2025-2030執(zhí)業(yè)獸醫(yī)管理辦法配套政策實(shí)施細(xì)則醫(yī)療糾紛第三方調(diào)解機(jī)構(gòu)選擇標(biāo)準(zhǔn)
- 2026廣東深圳北理莫斯科大學(xué)漢語(yǔ)中心招聘參考題庫(kù)附答案
- 工程維保三方合同
- 地鐵車輛檢修安全培訓(xùn)
- 造血干細(xì)胞移植臨床應(yīng)用和新進(jìn)展課件
- GB/T 10802-2023通用軟質(zhì)聚氨酯泡沫塑料
- 黑布林英語(yǔ)閱讀初一年級(jí)16《柳林風(fēng)聲》譯文和答案
- 杰青優(yōu)青學(xué)術(shù)項(xiàng)目申報(bào)答辯PPT模板
- 宿舍入住申請(qǐng)書
- 深圳中核海得威生物科技有限公司桐城分公司碳13-尿素原料藥項(xiàng)目環(huán)境影響報(bào)告書
- 2023年全國(guó)高考體育單招文化考試數(shù)學(xué)試卷真題及答案
- GB/T 28733-2012固體生物質(zhì)燃料全水分測(cè)定方法
- GB/T 14404-2011剪板機(jī)精度
評(píng)論
0/150
提交評(píng)論