




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、長江大學工程技術(shù)學院 C 語言課程設(shè)計實習報告簡易學生成績管理系統(tǒng)學生姓名:尹航 學號: 201161469 序號: 37專業(yè)班級:勘工 61102 班 指導老師:汪利琴 報告日期: 2013/1/6目錄1. 第一部分 課程設(shè)計的題目與要求 32. 第二部分 課程設(shè)計題目功能 3(1) .系統(tǒng)功能模塊框圖設(shè)計 3-4(2) .數(shù)據(jù)結(jié)構(gòu)說明 4-5(3) .詳細設(shè)計 5-8( 4).調(diào)試與測試 8-123. 第三部分 課程設(shè)計總結(jié) 124.附錄 程序清單 12-18簡易學生成績管理系統(tǒng)第一部分 課程設(shè)計的題目與要求1. 問題的提出(1) 用記事本新建一個文本文件 2011.txt 來用于存放學生
2、的成績信息。(2) 再創(chuàng)建一個文本文件來用于存放每門課程的學分信息,文本文件名為 KG201160057.txt 。(3) 用主函數(shù)列一個主菜單并利用主菜單調(diào)用各個子菜單,通過各個函數(shù)來 實現(xiàn)以下功能:計算平加權(quán)均分并排序;排序;統(tǒng)計; 顯示學生成績 條。2. 功能要求(1) 計算加權(quán)平均分并排序:計算加權(quán)平均分;按平均分排序;將名次表顯示(2) 對學生信息實現(xiàn)排序功能:按姓名排序;按平均成績排序。將排序后的 結(jié)果顯示在屏幕上。(3) 統(tǒng)計:統(tǒng)計每門課的平均分;各分數(shù)段(60分以下;6069; 7079 ; 8089; 90分以上)的學生人數(shù)。用C語言創(chuàng)建一個數(shù)據(jù)文件,用該文件來存放統(tǒng)計后 的
3、結(jié)果,并將結(jié)果顯示在屏幕上。(4) 顯示學生成績條的功能:顯示指定學號的學生成績條;顯示指定姓名的學生成績 條。將結(jié)果顯示在屏幕上。第二部分 課程設(shè)計題目功能1 系統(tǒng)功能模塊框圖設(shè)計讀取學生信息按加權(quán)平均分排序進入程序退出/定義一個結(jié)構(gòu)體。保存學生成績信息/定義一個結(jié)構(gòu)體數(shù)組。保存多條成績信息voidstart()Void void voidmenu() xuanzhe() eadfile()voidViodnumshow()main()/在 main 函數(shù)中被調(diào)用 ,讀取成績信息至結(jié)構(gòu)體數(shù)組。便于 其他功能模塊調(diào)用/在 main 函數(shù)中被調(diào)用,顯示菜單。/在 main 函數(shù)中被調(diào)用,接受菜單
4、選擇命令。/在 xuanzhe 函數(shù)中被調(diào)用,在屏幕上顯示成績信息 void anjiaquanpx() / 在 xuanzhe 函數(shù) 中被調(diào)用,計算加 權(quán)平均分并按加權(quán) 平均 分排名在xuanzhe函數(shù)中被調(diào)用,按學號查看學生成績條 /主函數(shù),讀入成績文檔和課程學分文檔,計算加權(quán)平均分2.數(shù)據(jù)結(jié)構(gòu)說明#define M 10/ 定義常量 M 為學生人數(shù)#define N 4/定義常量 N 為課程數(shù)struct dataint num;char name10;int yy;int math;int jsj;int sx;int rank; double jqave; stuM;struct k
5、echeng/ 定義結(jié)構(gòu)體,保存課程信息int num;char kcname20;double xuefen; courseN;/ 定義結(jié)構(gòu)體數(shù)組,保存多門課程信息本程序主要采用結(jié)構(gòu)體數(shù)組進行臨時的數(shù)據(jù)儲存, 主要應(yīng)用數(shù)組、 文件作為數(shù)據(jù) 存貯的方式。3. 詳細設(shè)計主要函數(shù): 模塊功能說明: 讀取文件信息的函數(shù): void start()char title100;int num=10;int j;FILE *fpfile;int i=0;FILE *fpkc;int k;char str2100;if (fpfile = fopen(yinhang.txt,r)=NULL)printf(o
6、pen file error!n); fgets(title,300,fpfile); for(i=0;i10;i+) fscanf(fpfile,%d%s%d%d%d%d,&stui.num,,&stui.yy,&stui.jsj,&stui.mat h,&stui.sx);fpkc=fopen(kc201161469.txt,r); fgets(str2,100,fpkc);for(k=0;kN;k+)fscanf(fpkc,%d%s%lf,&coursek.num,coursek.kcname,&coursek.xuefen);printf(n); fclose(fpk
7、c); 計算加權(quán)平均分并排序的函數(shù): void anjiaquanpx(int a)/求加權(quán)平均分,名次int i,j;double s=0,sum;FILE *fp; for(i=0;iN;i+) s+=coursei.xuefen;for(i=0;iM;i+)sum=0; stui.rank=1;sum=stui.yy*course0.xuefen+stui.jsj*course1.xuefen+stui.math*course2.xuefen+stui.s x*course3.xuefen;stui.jqave=sum/s;for(i=0;iM;i+) for(j=0;jstui.jqa
8、ve)stui.rank+=1;if(fp=fopen( 加權(quán)平均分 .txt,w)=NULL)exit(0);printf( 名次 學號 姓名 大學英語 C 語言 高等數(shù)學 思想道德修養(yǎng) 平均成績 n);fprintf(fp, 名次 學號 姓名 大學英語 C 語言 高等數(shù)學 思想道德修養(yǎng) 平均成 績 n);if(a=1) scoresort();else namesort();for(i=0;iM;i+) fprintf(fp,%3d%4d%7s,stui.rank,stui.num,); fprintf(fp,%7d%7d%7d%7d,stui.yy,stui.jsj,s
9、tui.math,stui.sx); fprintf(fp,%8.2lfn,stui.jqave);printf(%d%10d%7s,stui.rank,stui.num,); printf(%7d%7d%7d%7d,stui.yy,stui.jsj,stui.math,stui.sx); printf(%8.2lfn,stui.jqave);printf(n);fclose(fp);統(tǒng)計的函數(shù)void tjpjf()/統(tǒng)計每門課程的平均分int i,sumyy=0,sumjsj=0,summath=0,sumsx=0;for(i=0;iM;i+) sumyy+=stui.y
10、y; printf(%dn,sumyy/10);for(i=0;iM;i+)sumjsj+=stui.jsj;printf(%dn,sumjsj/10);for(i=0;iM;i+) summath+=stui.math; printf(%dn,summath/10);for(i=0;iM;i+)sumsx+=stui.sx; printf(%dn,sumsx/10);顯示學生成績條的函數(shù)void numshow()/ 按學號查詢顯示成績條int xh,i,mark=0;printf( 學號 );scanf(%d,&xh);for(i=0;iM;i+)if(stui.num=xh) print
11、f( 學號 姓名 大學英語 C 語言 高等數(shù)學 思想道德修養(yǎng) 平均 成績 n);printf(%8d%7s%8d%10d%8d%9d%8.2lfn,stui.num,,stui.yy,stui.jsj,stui. math,stui.sx,stui.jqave);mark=1;if(mark=0) printf(not found);void xsxmcj() / 按姓名查詢顯示成績條char name10,i,mark=0;printf( 請輸入姓名 );scanf(%s,&name);for(i=0;iM;i+)if(strcmp(,name)=0)pr
12、intf( 學號 姓名 大學英語 C 語言 高等數(shù)學 思想道德修養(yǎng) 平均成 績 n);printf(%8d%11s%8d%8d%8d%9dn,stui.num,,stui.yy,stui.jsj,stui.math,st ui.sx);mark=1;if(mark=0) printf(not found); 4調(diào)試與測試1.用start ()函數(shù)從尹航.txt文件中讀取學生成績的詳細信息:_ rG:ksheyi n 也n勺 Txt - Nazepsd1亠丈樣(D離挖盍圍曄也格式話言(L)遜応勵FS祥回宙口四1:oase *占匯耐丨事匚丨旨士工丨電屯I底h圍圏回田倒雖|匕營SR
13、eidPSM. cp? I Ruploid r dLiu ufi | H u. cds | H Vnitl.pu; | mrHpro. Eifi | H uuplOl. epp | Q| xiiaoJi. txt yiiibang. lit1234567B91011學號200300012008000220030003200300042003000S2003000620030007200300032003000920030010帥措 超 強畫 名航味芒勿得瑞超偉明曉 姓尹威劉高張郭何胡黃前大學英語967691S4eo61697U4679匚語言93097168679274855190高等數(shù)學910
14、9677356E362747167思想道徳修養(yǎng)9061陰697098866343932. 進入主菜單界面,具有9個功能,請選擇(19): over - |i erosoft VismaI C+ - over.cppc *C:and Se 11 iiigs KAdh i ni str at orebugo rer. e:歡迎使用簡易學生成績管理系統(tǒng)- 績績 一 成成一 分生生 一序一 的-息2號名 一信均名績課學姓 一生平姓成門定定 一學權(quán)生均每曙 一路W-計示舌 一讀顯顯退 -1234-5678請輸入操作編號:返回菜單3. 從主菜單中選擇1進入1菜單功能,顯示學生成績信息IlcTQSQft V
15、i final C+ - Iover.cpp|CT PDoCintents and SettingsVAdaini str atorMD|ebugovrer exe*卸返零谿吾言高等數(shù)學思想道德修養(yǎng)Q3080001 20080002 20080003 20080004 20080005 2008000& 20080007 20080008 20080009 2B080010轄:尹航成咪対芒 高冨帥 張卷措976915480S1697346 ?9黃明璽輸入操作編號心養(yǎng)回菜單、俞曉9389716B679274855190918967785683627471879061846970988663489
16、34.從主菜單中選擇2,實現(xiàn)按加權(quán)平均分排序功能ca *C : Do cub cuts and S et tingsVAdaini s tr at or面D靶bu日。倉廠 exe*12 2Q0800063 200800104 200S0B025 200800036 200800087 20030058 200800079 2008000410 2H08R00?I 07 = nnl 日6 19 6 13 09 8 7 7 9 7 87478請輸入操作編號:宀返回菜單5.從主菜單中選3按學生姓名排序:6在菜單中選擇4按平均成績排序:ca Cl Vllacments aiid ScttingsYAd
17、aini str&tnrexe102008000120080006 200S001020080003200S0008200800052008000720080004w&slf 訓俞96817976917380E95446939290897185B77468519183 8?89677456&2787190989361S46370R6694893.8985.1184*4483,2279.0077-227KJ.33 6?. 11 64.0053-22請輸入操作編號:辭返回菜單.7從主菜單中選5進入統(tǒng)計每門課的平均分口!P74:?576口 冇 均分分作 平aw-入 語算卷輸:M返回菜單578江返回菜
18、單.8從菜單中選6,顯示指定學號的成績?nèi)敕祷夭藛?*5-20080001姓名大學英語G語言高等數(shù)學思想道德修養(yǎng)平均成績200803S1 尹航弘93?19093.89請輸入操作縊號心返回菜單9.從采單中選7,顯示指定姓名的成績zrrenrenEraT/ 乂兒nsnttno郵魅鏟返回篥單”學曙 姓名大學英語 C語言高等數(shù)學思想道德修養(yǎng)平均成績20086001 尹航9693919093.89隨鬻塑離嘗心返回菜単第三部分課程設(shè)計總結(jié)這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在汪 老師的辛勤指導下,終于游逆而解。 在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處, 對 以前所學過的知識理解得不夠深刻
19、, 掌握得不夠牢固,比如說結(jié)構(gòu)體通過這 次課程設(shè)計之后,一定把以前所學過的知識重新溫故。回顧起此次課程設(shè)計,至今讓我我們?nèi)愿锌H多,的確,從從拿到題目到 完成整個編程,從理論到實踐,幾個星期的日子里,可以學到很多很多的的東西, 同時不僅可以鞏固了以前所學過的知識, 而且學到了很多在書本上所沒有學到過 的知識,也懂得集體團隊的重要性。通過這次課程設(shè)計使我懂得了理論與實際相 結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相 結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手 能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的
20、,難免會遇到過各種各樣的問題同時,在汪老師的身上我學得到很多實用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!附錄程序清單#in elude #in elude #in elude#i nclude #defi ne M 10#defi ne N 4void readfile(); void menu();void readkc();void anjiaqua npx(); void chushihua(); struct xsinfo int num;char n ame10;int yy;int math;int jsj;int sx;in t ra
21、n k; double jqave; stuM;struct keche ngint nu m;char ken ame20;double xuefe n;courseN;void menu() prin tf(=、n);prin tf(=n);printf(”=歡迎使用=n);=n);、n);printf(printf(n);printf(|簡易學生成績管理系統(tǒng)|n);printf(n);printf(|1.讀取學生信息|n);printf(|2.按加權(quán)平均分排序|n);printf(|3.按學生姓名排序|n);printf(|4.按平均成績排序|n);printf(|5.統(tǒng)計每門課的平均分
22、|n);printf(|6.顯示指定學號的學生成績條|n);printf(|7.顯示指定姓名的學生成績條|n);printf(|8.退出|n);printf(n);printf(void start()char title800;int num=10;int j;FILE *fpfile;int i=0;FILE *fpkc;int k;char str2100;if (fpfile = fope n(2011.txt,r)=NULL)printf(學生成績信息文件打開錯誤!n);fgets(title,300,fpfile);for(i=0;i10;i+)fsca nf(fpfile,%d%
23、s%d%d%d%d, &stui. num,stui. name,& stui.yy,& stui.jsj, &stui.math,&stui.sx);fpkc=fope n( kc37.txt,r);fgets(str2,100,fpkc);for(k=0;kN;k+)fscan f(fpkc,%d%s%lf, &coursek. nu m,coursek.kc name,&coursek.xuefe n);prin tf(n); fclose(fpkc);void readfile()char title800;int num=10;int j;FILE *fpfile;int i=0;i
24、f (fpfile = fope n(2011.txt,r)=NULL)printf(學生成績信息文件打開錯誤!n);fgets(title,300,fpfile);puts(title);for(i=0;i10;i+)prin tf(%8d%11s%8d%8d%8d%9dn,stui. nu m,stui. name,stui.yy,stui.jsj,stui.math,stui.sx);void scoresort()int i,j;struct xsinfo t;system(cls);for(i=0;i9;i+)for(j=0;j9-i;j+)if(stuj.jqavestuj+1.j
25、qave)t =stuj;stuj=stuj+1;stuj+1=t;void n amesort()int i,j;struct xsinfo t;system(cls);for(i=0;i9;i+)for(j=0;jstuj+1. name0)t =stuj;stuj=stuj+1;stuj+1=t;void anjiaqua npx(i nt a)求加權(quán)平均分,名次int i,j;double s=0,sum;FILE *fp;for(i=0;iN;i+)s+=coursei.xuefe n;for(i=0;iM;i+)sum=0;stui.ra nk=1;sum=stui.yy*cour
26、se0.xuefe n+stui.jsj*course1.xuefe n+stui.math*course2.xuefe n+stui.s x*course3.xuefe n;stui.jqave=sum/s;for(i=0;iM;i+)for(j=0;jstui.jqave)stui.ra nk+=1;if(fp=fopen(jj1002 平均分.txt,w)=NULL)prin tf(Faile to build a new file! n);exit(0);printf(創(chuàng)建 MC1090221.txt 數(shù)據(jù)文件 n”);printf(名次學號姓名大學英語C語言 高等數(shù)學思想道德修養(yǎng)平均
27、成績n);fprintf(fp,名次學號姓名大學英語C語言 高等數(shù)學思想道德修養(yǎng)平均成績 n);if(a=1) scoresort();else n amesort();for(i=0;iM;i+)fprin tf(fp,%3d%4d%7s,stui.ra nk,stui. nu m,stui. name);fprin tf(fp,%7d%7d%7d%7d,stui.yy,stui.jsj,stui.math,stui.sx);fprin tf(fp,%8.2lfn,stui.jqave);prin tf(%d%10d%7s,stui.ra nk,stui. num,stui. name);p
28、rin tf(%7d%7d%7d%7d,stui.yy,stui.jsj,stui.math,stui.sx);prin tf(%8.2lfn,stui.jqave);prin tf(n); fclose(fp);void tjpjf()int i,sumyy=O,sumjsj=O,summath=O,sumsx=O; for(i=0;iM;i+)sumyy+=stui.yy;%dn ,sumyy/10);printf(英語平均分: for(i=0;iM;i+)sumjsj+=stui.jsj;printf(計算機平均分:%dn, sumjsj/10);for(i=0;iM;i+) summath+=stui.math;printf(數(shù)學平均分: for(i=0;iM;i+) sumsx+=stui.sx;printf(思修平均分: void nu mshow() int xh,i,mar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版(2024)七年級英語下冊Unit 8 學情調(diào)研測試卷(含答案)
- 第12課《四季循環(huán)》教學設(shè)計-2023-2024學年科學五年級下冊蘇教版
- 酒店電纜基礎(chǔ)施工方案
- 2025年新高考地理全真模擬試卷5(含答案解析)
- 2025年中考物理二輪復(fù)習:選擇題 實驗題 能力提升練習題(含答案解析)
- 廁所建造合同范本
- 公園管護合同范例
- 班級氛圍營造的實踐方法計劃
- 品牌在市場競爭中的演變與適應(yīng)計劃
- 企業(yè)借貸抵押合同范例
- 電子商務(wù)法律法規(guī)高職PPT完整全套教學課件
- HydroPro操作手冊說明書
- 四年級數(shù)學下冊-小數(shù)加減法的簡便運算課件
- 7S目視化管理標準
- keba教程科控編程手冊
- 附件4:項目成本管控要素集成庫20200713
- 設(shè)備維修作業(yè)安全操作規(guī)程匯總
- 海南碼頭防波堤工程施工組織設(shè)計圖文并茂
- 《企業(yè)內(nèi)部審計現(xiàn)狀及完善建議-以公牛集團為例【開題報告+正文】》14000字
- 小學“新時代好少年”推薦表
- GB 7101-2022食品安全國家標準飲料
評論
0/150
提交評論