歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

C語言學生成績管理系統(tǒng)課程設計報告.doc

  • 資源ID:6517015       資源大?。?span id="nwhh5xx" class="font-tahoma">959.50KB        全文頁數(shù):14頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

C語言學生成績管理系統(tǒng)課程設計報告.doc

C語言課程設計報告 一 .問題描述: 題目七:學生成績管理系統(tǒng)設計 學生成績信息包括:學期,學號,班別,姓名,四門課程成績(語文、數(shù)學、英語和計算機)等。 主要功能: (1) 能按學期、按班級完成對學生成績的錄入、修改 (2) 能按班級統(tǒng)計學生的成績,求學生的總分及平均分 (3) 能查詢學生成績,不及格科目及學生名單 (4) 能按班級輸出學生的成績單 要求:使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作 學生成績信息包括:學期,學號,班別,姓名,四門課程成績(語文、數(shù)學、英語和計算機)等。要求使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作,實現(xiàn)對學生成績的錄入,修改,統(tǒng)計,排序,查詢,輸出等功能。 二 .設計目的 設計“學生成績管理系統(tǒng)”使其具有以下功能: (1) 能完成對學生成績的錄入 (2) 能按班級統(tǒng)計學生的成績,求學生的總分及平均分,排序 (3) 能按班級,學期輸出學生的成績單和不及格科目及學生名單 (4) 能查詢單個學生成績 (5) 能修改單個學生信息 三 . 要求 系統(tǒng)以菜單方式工作 四 . 功能 1 輸入功能:可以一次完成無數(shù)條信息的輸入。 2 輸出功能:能按班級輸出學生的成績單。 3 修改功能:完成對單個學生成績的修改。 4 查找功能:完成對單個學生信息查找,并顯示。 5 排序功能:按學生成績進行排序,并顯示。 6 有一個清晰美觀界面來調用各個功能 五.模塊圖 修 改 void monify 修改單個學生信息 主 流 程 學期int term 班級int classes 信息錄入void input 成績統(tǒng)計void sort 查詢 void search 姓名char name[10] 學號int num 成績int score[4] 學號stu[i].num、班級stu[i].classes,姓名stu[i].name、四門課成績stu[i].score 能按學號查詢單個學生成績 按班級統(tǒng)計學生的成績,求學生的總分及平均分,排序 成績輸出void print 能按班級,學期輸出學生成績單和不及格科目及學生名單 結構數(shù)組struct student 六 . 詳細內容 整個系統(tǒng)除了主函數(shù)外,另外還有5個函數(shù),實現(xiàn)六大功能:輸入功能、輸出功能、修改功能,查找并顯示功能、排序并顯示功能。各個函數(shù)的詳細設計說明分別如下: 1 . 定義結構體及宏定義 #include <stdlib.h> #include <stdio.h> #include <string.h> #define NUM 100 struct student { int term; int num; int classes; char name[10]; int score[4]; int sum; float average; }stu[NUM]; 2.主函數(shù) main() 利用無限次循環(huán)for(;;)和swithch()進行菜單選擇來實現(xiàn)各函數(shù)的調用,系統(tǒng)根據(jù)輸入的數(shù)字選項來調用相應的函數(shù)。等執(zhí)行完每一個函數(shù)功能后,按任一鍵回到主界面也要通過這個函數(shù)來實現(xiàn)! void main() { zcd(); } /*主函數(shù)界面*/ void zcd() { int n=0; char m; system("cls");/*清屏*/ printf("按任一鍵進入主菜單\n "); /*按任一鍵進入主菜單*/ printf("********************************************************************************\n"); printf("\t\t華中科技大學文華學院歡迎您\n"); printf("\n\t\t\t--------- 歡迎使用學生管理系統(tǒng)\n\n\t\t\t\t\t-----------\n"); printf("*************************************MENU***************************************\n"); printf("\t\t\t1. 輸入學生成績記錄 Input the record\n"); /*輸入學生成績記錄*/ printf("\t\t\t2. 排序并顯示 Sort to make new a file\n"); /*排序*/ printf("\t\t\t3. 按班級顯示成績單 Print the record\n"); /*顯示*/ printf("\t\t\t4. 查找個人成績 Search record on name\n"); /*查找*/ printf("\t\t\t5. 修改 Modify a record\n"); /*修改*/ printf("\t\t\t6. 退出 Quit\n"); /*退出*/ printf("********************************************************************************\n"); printf("\n\t\t\t輸入你的選擇Enter your choice(1~7):"); fflush(stdin); m=getchar(); do {switch(m) { case 1:input();zcd();break; case 2:sort();system("pause");zcd();break; case 3:print();system("pause");break; case 4:search();zcd();break; case 5:modify();system("pause");zcd();break; case 6:exit(0); /*如菜單返回值為7則程序結束*/ default:printf("錯誤命令"); getchar();zcd(); } } while(1); } 3輸入信息函數(shù) void input() { system("cls"); int i; char a; for(i=0;i<NUM;i++) { printf(" \n請輸入學生的學期:"); scanf("%d",&stu[i].term); printf(" \n請輸入學生的學號:"); fflush(stdin); scanf("%d",&stu[i].num); printf(" \n請輸入學生的班級:"); scanf("%d",&stu[i].classes); printf("\n請輸入學生的姓名:"); scanf("%s", stu[i].name) ; printf("\n請輸入學生的語文成績:"); scanf("%d",&stu[i].score[0]); printf("\n請輸入學生的數(shù)學成績:"); scanf("%d", &stu[i].score[1]); printf("\n請輸入學生的英語成績:"); scanf("%d", &stu[i].score[2]); printf("\n請輸入學生的計算機成績:"); scanf("%d", &stu[i].score[3]); stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];//算總分和平均 stu[i].average=(float)stu[i].sum/4.0; printf("是否要繼續(xù)添加(按N&n退出)"); fflush(stdin); a=getchar(); if(a==n||a==N) break; } } 4、排序并顯示函數(shù) void sort() { int i,j=0; float temp; for(i=0;i<NUM;i++) { stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]; stu[i].average=(float)stu[i].sum/4.0; } for(i=0;i<NUM-1;i++) { for(j=i+1;j<NUM;j++) { if(stu[i].sum<stu[j].sum) { temp=stu[i].sum; stu[i].sum=stu[j].sum; stu[j].sum=temp; } } } printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\n"); for(i=0;i<NUM;i++) printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average); /*輸出學生信息*/ } } } system("pause");system("cls");print(); } 5查找并顯示一個記錄 void search() { system("cls");/*清屏*/ int number=0,i; printf("\t\t\t 請輸入要查找學生的學號:"); scanf("%d",&number); printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\n"); for(i=0;i<NUM;i++) if(number==stu[i].num) break;/*查找判斷*/ if(i<NUM) {printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2], stu[i].score[3],stu[i].sum,stu[i].average); /*輸出學生信息*/ } else printf("沒找到該學生的信息\n"); system("pause"); } 6.按學期、按班級輸出成績函數(shù) void print() { system("cls"); char a; printf("1、按學期輸出\n"); printf("2、按班級輸出\n"); printf("3、返回\n"); fflush(stdin); a=getchar(); switch(a) { case 1:print1(); case 2:print2(); case 3:zcd(); default:print(); } } void print1()//按學期 { int i,m; printf("請輸入學期:\n"); scanf("%d",&m); printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\n"); for(i=0;i<NUM;i++) { if(m==stu[i].term) printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2], stu[i].score[3],stu[i].sum,stu[i].average); /*輸出學生信息*/ } system("pause");system("cls");print(); } void print2()//按班級 { int i,j,k; printf("請輸入班級:\n"); scanf("%d",&k); printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\n"); for(i=0;i<NUM;i++) { if(k==stu[i].classes) { stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]; stu[i].average=stu[i].sum/4.0; printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2], stu[i].score[3],stu[i].sum,stu[i].average); /*輸出學生信息*/ } } printf("輸出不及格學生名單及成績:\n"); printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 \n"); for(i=0;i<NUM;i++) {for(j=0;j<4;j++) { if(stu[i].score[j]<60&&k==stu[i].classes) /*輸出不及格學生名單及成績*/ printf("%d\t%s\t%d%5d%5d%5d%6d\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2], stu[i].score[3]); break; } } system("pause");system("cls");print(); } 7修改成績函數(shù) void modify() { system("cls"); int number,i; printf("\t\t\t請輸入要修改信息的學生學號:"); scanf("\t\t\t%d",&number); for(i=0;i<NUM;i++) if(number=stu[i].num) break;/*查找判斷*/ if(i<NUM)/*查找判斷*/ { printf("請輸入修改后的學生的信息:"); printf(" \n請輸入學生的學期:"); scanf("%d",&stu[i].term); printf(" \n請輸入學生的學號:"); fflush(stdin); scanf("%d",&stu[i].num); printf(" \n請輸入學生的班級:"); scanf("%d",&stu[i].classes); printf("\n請輸入學生的姓名:"); scanf("%s", stu[i].name) ; printf("\n請輸入學生的語文成績:"); scanf("%d",&stu[i].score[0]); printf("\n請輸入學生的數(shù)學成績:"); scanf("%d", &stu[i].score[1]); printf("\n請輸入學生的英語成績:"); scanf("%d", &stu[i].score[2]); printf("\n請輸入學生的計算機成績:"); scanf("%d", &stu[i].score[3]); } else printf("沒找到該學生的信息\n"); system("paues");system("cls");zcd(); } 七.運行過程 主菜單 成績錄入 統(tǒng)計排序 按學期輸出成績 按班級輸出成績 查找個人成績 修改單個學生信息 八.設計總結 經過幾周的課程設計,我學到了很多東西: ①鞏固和加深了對編程的理解,提高綜合運用本課程所學知識的能力。 ②培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。 ③經過實際編譯系統(tǒng)的分析設計、編程調試,掌握應用軟件的分析方法和工程設計方法。 ④能夠按要求編寫課程設計報告書,能正確闡述設計和實驗結果,正確繪制系統(tǒng)和程序框圖。 課程設計是把我們所學的理論知識進行系統(tǒng)的總結并應用于實踐的良好機會,有利于加強我們用知識理論來分析實際問題的能力,進而加強了我們對知識認識的實踐度,鞏固了我們的理論知識,深化了對知識的認識,并為走向社會打下一個良好的基礎。 在這次課程設計中我遇到許多問題和麻煩,得到了老師的幫助和指導,才能夠使得這次課程設計順利的進行下去,另外,在程序調試過程中,也得到很多同學的幫助,給我及時指出錯誤,提出許多寶貴意見。在此對老師和同學們表示感謝! (后附完整程序)

注意事項

本文(C語言學生成績管理系統(tǒng)課程設計報告.doc)為本站會員(w****2)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




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

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

備案號:ICP2024067431-1 川公網安備51140202000466號


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