![ageyjiC語言學生成績管理系統(tǒng)設計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/29/93c7f6ec-1323-4fab-9d38-26445a5402c6/93c7f6ec-1323-4fab-9d38-26445a5402c61.gif)
![ageyjiC語言學生成績管理系統(tǒng)設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/29/93c7f6ec-1323-4fab-9d38-26445a5402c6/93c7f6ec-1323-4fab-9d38-26445a5402c62.gif)
![ageyjiC語言學生成績管理系統(tǒng)設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/29/93c7f6ec-1323-4fab-9d38-26445a5402c6/93c7f6ec-1323-4fab-9d38-26445a5402c63.gif)
![ageyjiC語言學生成績管理系統(tǒng)設計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/29/93c7f6ec-1323-4fab-9d38-26445a5402c6/93c7f6ec-1323-4fab-9d38-26445a5402c64.gif)
![ageyjiC語言學生成績管理系統(tǒng)設計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/29/93c7f6ec-1323-4fab-9d38-26445a5402c6/93c7f6ec-1323-4fab-9d38-26445a5402c65.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、、| !_一個人總要走陌生的路,看陌生的風景,聽陌生的歌,然后在某個不經意的瞬間,你會發(fā)現,原本費盡心機想要忘記的事情真的就這么忘記了. 2009年C語言程序設計 探究式自主設計報告 系 部: 電子電氣工程系 專 業(yè): 電氣自動化 班 級: 姓 名: 課題名稱: 學生成績管理體統(tǒng) 指導老師: * 學 院 2009年12月12日說 明1、設計的目的1)復習鞏固C語言的基礎知識,進一步加深對C語言編程的理解和掌握;2)利用所學知識,理論和實際結合,利用資源,采用模塊化的結構,使用模仿修改自主設計相結合的方法,鍛煉學生綜合分析解決實際問題的編程能力;3)培養(yǎng)學生在項目開發(fā)中團隊合作精神、創(chuàng)新意識及實
2、戰(zhàn)能力。2、設計的任務根據學生的實際情況,進行分組選題。主要的課程設計題目如下(學生也可自主選題):1、圖書管理系統(tǒng) 2、學生信息管理系統(tǒng)3、學生成績管理系統(tǒng) 4、學生通訊錄管理系統(tǒng)5、職工信息管理系統(tǒng) 6、設計簡單的計算器課程設計采用學生自主設計和指導老師輔導相結合的方式。3、設計要求與設計報告 設計要求:1、任選上述題目之一,或自選題目。2、模塊化的程序設計 3、鋸齒形的程序書寫格式。4、必須通過編譯連接運行設計報告:1、設計目的和任務2、總體設計:包括程序設計組成框圖、流程圖。3、詳細設計:包括模塊功能說明:函數功能、入口及出口參數說明,函數調用關系描述等。4、調試與測試:包括調試方法,
3、測試結果分析與討論,測試過程中遇到的主要問題及采取的解決措施。5、源程序清單和執(zhí)行結果:清單中應有足夠的注釋。 設計目的和任務(主要介紹設計的任務,為什么要設計,設計要達到什么樣的目的。)設計目的:(1)基本掌握面向過程程序設計的基本思路和方法; (2)達到熟練掌握C語言的基本知識和技能; (3)能夠利用所學的基本知識和技能,解決簡單的程序設計問題程序功能:(1). 學生基本信息及成績所選科目成績的錄入。 (2). 基本信息的查詢(分系、班級;分科目)與修改。 (3). 對每系或每班各科成績進行分析(即求單科平均成績、及格率和優(yōu)秀率); (4). 對所開課程的成績分析(求其平均成績,最高分和最
4、低分); (5). 對學生考試成績進行排名;目 錄一、總體設計1二、詳細設計1三、調試與測試 1四、源程序清單和執(zhí)行結果1五、建議和體會1六、參考文獻1一:總體設計設計流程圖如下:二、詳細設計 1、輸入初始的學生信息:其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現此操作。 2、查詢模塊:可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。 3、插入模塊:可用insert( )函數來實現。其中通過學號的大小來比較的,并且以此來排序。4、輸出學生的信息以及成
5、績:通過學生的姓名來查看學生的語文、數學、英語和計算機等相關成績,同時也可以分別通過caverage() 、 maverage() 、eaverage() 和comaverage() 來輸出語文、數學、英語和計算機等成績的平均分數、最高和最低分數。 5、退出系統(tǒng):可用一個函數exit()來實現,首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內存空間,再退出此程序。 三、調試與測試四、源程序設計和測試結果 五、建議和體會 六、參考文獻指導教師的評語及評分考核小組意見及評分綜合評分三:調試與測試 問題一、學生初始信息模塊:其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數
6、cin(stu *p1)來實現此操作。當正確輸入存在的學生學號,系統(tǒng)進行判斷時,提示不存在此學生。 解決辦法及步驟:1、一個個輸出所有的學生的學號,檢查文件中是否有此學生,發(fā)現有。 2、既然有此學生,那么檢查循環(huán)判斷是否有此學生的語句發(fā)現沒有錯 3、輸出用于循環(huán)檢查語句中的學生信息,發(fā)現亂碼 4、仔細分析亂碼的原因,最后發(fā)現是變量的類型錯誤,錯將學生類型的結構體指針變量定義為了其他類型的指針變量。 問題二、查詢模塊:可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。當正確輸入查找信息時,系統(tǒng)卻不能夠得到所要查找的學生信
7、息以及學生的語文、數學、英語和計算機的成績。解決辦法及步驟:1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然后再繼續(xù)正確輸入查找信息看能否得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。 2、檢查當我們在輸入查找信息時,看是否我們輸入的信息有誤,若是這樣的話,我們應當仔細輸入查找信息。四:源程序清單和執(zhí)行結果 源程序如下: #include stdio.h #include math.h #define N 30 struct student long int num; char name10; char sex3; int Chinese,Math,English,t
8、otal,average; stuN=4001,lks,m,100,100,100,4002,lyt,w,99,63,89,4003,asd,w,60,70,80,4004,fgh,m,41,100,98, 4005,asd,m,74,74,87,4006,yt,m,85,58,78,4007,qwe,w,74,100,87,4008,dcs,w,74,85,96, 4009,qfg,m,74,78,36,4010,gft,m,45,85,98,4011,mn,m,60,77,17,4012,yer,w,78,78,100,4013,lsd,m,100,89,85,s; int M=13; v
9、oid modify(struct student stu) int t;long num;char z; t=search(stu)-400; printf(input num:); scanf(%ld,&stut.num); printf(input name:); scanf(%s,); printf(input sex:); scanf(%s,stut.sex); printf(input score of Chinese:); scanf(%d,&stut.Chinese); printf(input score of Math:); scanf(%d,&stut.
10、Math); printf(input score of English:); scanf(%d,&stut.English); stut.average=(stut.English+stut.Math+stut.Chinese)/3; stut.total=stut.English+stut.Math+stut.Chinese; printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4ldt,stut.num); printf( %st,); printf(%st,stut.sex); pri
11、ntf(%4dt%4dt%4dt%4d%8dn,stut.Chinese,stut.Math,stut.English,stut.total,stut.average); printf(Next?y/n?); scanf(%s,&z);if(z=y) modify(stu); void output(struct student stu) int i; printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); for(i=0;iM;i+) printf(t%4ldt,stui.num); printf( %st,);
12、 printf(%st,stui.sex); printf(%4dt%4dt%4dt%4d%8dn,stui.Chinese,stui.Math,stui.English,stui.total,stui.average); void sort(struct student stu) int i,j,t; printf(1.an yingyu chengcheji paixun2.an yuwen chengji paixun3.an shuxue chengji paixun4.an pingjue chengji paixun5.an zongfen paixun); scanf(%d,&t
13、); switch(t) case 1: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Englishstuj+1.English) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 2: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Chinesestuj+1.Chinese) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 3: for(i=0;i
14、M-1;i+) for(j=0;jM-i-1;j+) if(stuj.Mathstuj+1.Math) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 4: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.averagestuj+1.average) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 5: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.t
15、otalstuj+1.total) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; int search(struct student stu) long t,i,z,K=y;char name20; printf(1.an xuehao chazhaon2.an xingming chazhaon); scanf(%d,&z); switch(z) case 1: printf(qing shuru xuehao:n); scanf(%ld,&t); for(i=0;iM;i+) if(stui.num=t) K=x;
16、printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4ldt,stui.num); printf( %st,); printf( %st,stui.sex); printf(%4dt%4dt%4dt%4d%6dn,stui.Chinese,stui.Math,stui.English,stui.total,stui.average); return(stui.num); getche(); break; if(K=y) printf(No find); getchar(); break; ca
17、se 2: printf(qing shuru xingming:); scanf(%s,name); for(i=0;iM;i+) if(strcmp(,name)=0) K=x; printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4ldt,stui.num); printf( %st,); printf( %st,stui.sex); printf(%4dt%4dt%4dt%4d%6dn,stui.Chinese,stui.Math,stui.English,stui.
18、total,stui.average); getche(); break; if(K=y) printf(No find); getchar(); break; void insert(struct student stu) int i;char z=y; for(i=M;i=N&z=y;i+) printf(input num:); scanf(%ld,&stui.num); printf(input name:); scanf(%s,); printf(input name:); scanf(%s,stui.sex); printf(input score of Chin
19、ese:); scanf(%d,&stui.Chinese); printf(input score of Math:); scanf(%d,&stui.Math); printf(input score of English:); scanf(%d,&stui.English); stui.average=(stui.English+stui.Math+stui.Chinese)/3; stui.total=stui.English+stui.Math+stui.Chinese; printf(Next?y/n?); z=getche(); if(z!=y) M=i+1; sort(stu)
20、; output(stu); void delete(struct student stu) long t,i,z;char l,name20; printf(1.an xuehao shanchu/n2.an xingming chanchu); scanf(%d,&z); switch(z) case 1: printf(qing shuru xuehao:); scanf(%ld,&t); for(i=0;iM;i+) if(stui.num=t) printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4l
21、dt,stui.num); printf( %st,); printf(%st,stui.sex); printf(%4dt%4dt%4dt%4d%8dn,stui.Chinese,stui.Math,stui.English,stui.total,stui.average); break; printf(Go on?y/n?); scanf(%s,&l); if(l=y) for(;iM;i+) stui=stui+1; stuM-1.num=0; output(stu); else break; case 2: printf(qing shuru xingming:);
22、scanf(%s,name); for(i=0;iM;i+) if(strcmp(,name)=0) printf(tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn); printf(t%4ldt,stui.num); printf( %st,); printf(%st,stui.sex); printf(%4dt%4dt%4dt%4d%8dn,stui.Chinese,stui.Math,stui.English,stui.total,stui.average); break; printf(Go on?y
23、/n?); scanf(%s,&l); if(l=y) for(;iM;i+) stui=stui+1; stuM-1.num=0; output(stu); else break; main() int choice,i; clrscr(); for(i=0;iM;i+) stui.average=(stui.English+stui.Math+stui.Chinese)/3; ; stui.total=stui.English+stui.Math+stui.Chinese; for(;) printf(n- xuesheng chengji guanli xitong-n); printf
24、(1.modify xuesheng jilu n); printf(2.output xuesheng jilun); printf(3.sort xuesheng jilun); printf(4.search xuesheng jilun); printf(5.insert xuesheng jilun); printf(6.delete xuesheng jilun); printf(7. exitn); printf(pllease input(1-7):n); scanf(%d,&choice); switch(choice) case 1: modify(stu); break; case 2: output(stu); break; case 3: sort(stu); break; case 4: search(stu); break; case 5: insert(stu); break; case 6: delete(stu); break; case 7: exit(); break; getch();五:建議和體會本學期我們的C語言程序設計課程的考試題目是讓學生自主設計。全班共分了6個小組,我們3組需要完成的題目是設計學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年裝卸機械項目立項申請報告模式
- 2025年上海高級商場物業(yè)管理續(xù)簽合同協(xié)議
- 2025年膠片型相機、CCD相機、紅外相機、恒星相機項目規(guī)劃申請報告模板
- 2025年勞動合同法續(xù)約條件規(guī)定
- 優(yōu)化農業(yè)產業(yè)供應鏈的合同范例2025年
- 2025年設備租賃展示合同范本
- 2025年公共交通廣告安裝服務協(xié)議
- 2025年上海技術顧問合同
- 2025年建筑項目材料采購申請及供銷協(xié)議
- 2025年二手房產交易定金給付合同協(xié)議樣本
- GB/T 25784-20102,4,6-三硝基苯酚(苦味酸)
- GB/T 21114-2007耐火材料X射線熒光光譜化學分析熔鑄玻璃片法
- 特種設備安全監(jiān)察指令書填寫規(guī)范(特種設備安全法)參考范本
- 航空維修工程管理-第1章課件
- 《長方形的面積》-完整版課件
- 五年級上冊英語Module6Unit1Youcanplaybasketballwell外研社課件
- 工業(yè)企業(yè)現場監(jiān)測工況核查表
- 沉淀池及排水溝清理記錄表
- 玩具公司職位說明書匯編
- 04 第三章 環(huán)境污染物的生物轉運和生物轉化 -毒物動力學
- ic半導體測試基礎(中文版)參考范本
評論
0/150
提交評論