![最新C語言課程設計報告學生成績管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/817ed050-a8cc-4212-85bb-0039a4a45f83/817ed050-a8cc-4212-85bb-0039a4a45f831.gif)
![最新C語言課程設計報告學生成績管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/817ed050-a8cc-4212-85bb-0039a4a45f83/817ed050-a8cc-4212-85bb-0039a4a45f832.gif)
![最新C語言課程設計報告學生成績管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/817ed050-a8cc-4212-85bb-0039a4a45f83/817ed050-a8cc-4212-85bb-0039a4a45f833.gif)
![最新C語言課程設計報告學生成績管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/817ed050-a8cc-4212-85bb-0039a4a45f83/817ed050-a8cc-4212-85bb-0039a4a45f834.gif)
![最新C語言課程設計報告學生成績管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/817ed050-a8cc-4212-85bb-0039a4a45f83/817ed050-a8cc-4212-85bb-0039a4a45f835.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精品文檔機電工程學院中南大學本科生C語言課程設計題 目 學生成績管理系統(tǒng)精品文檔一、課程設計題目:學生成績管理系統(tǒng)給出 n 個學生的 4 門考試的成績表,每個學生的信息由學號、姓 名以及各科成績組成。 對學生的考試成績進行有關統(tǒng)計: 按某一科分 數(shù)或平均分數(shù)高低次序,列出名次表,分數(shù)相同的為同一名次;按名 次打印出每個學生的學號、 姓名、總分以及各科成績, 并打印統(tǒng)計表。三、概要設計程序要有的功能:1. 輸入學生成績2. 保存成績3. 學生成績排序4. 學生成績查詢5. 學生成績清單6. 退出管理系統(tǒng)程序運行當中, 通過選擇對應的功能序號來實現(xiàn)所需功能。 對輸入的 數(shù)據(jù)要有事先的分析, 如果用
2、戶輸入的數(shù)據(jù)與實際不相符如輸入成績 的數(shù)值為負,則程序應輸出相應的提示: “數(shù)據(jù)不存在” 。再者就是, 當再輸入完相應的數(shù)據(jù)后, 程序作出相應的提示, 詢問用戶是否要繼 續(xù)輸入。在排列學生成績時候,如果出現(xiàn)成績相同的情況,程序自動 作出處理。四、設計任務將程序分為六個方面: 1. 輸入學生成績 、2. 保存成績 、3. 學生成 績排序 、4. 學生成績查詢 、5. 學生成績清單 、6. 退出管理系統(tǒng)。 每個人負責兩個方面的程序,其中侯蒙召負責 1、2 兩個程序,楊天 靜負責 3、4 兩個,張振陸負責 5、6兩個,最后交由組長侯蒙召組合 整理,形成現(xiàn)在的總的程序。流程圖:四、詳細設計源程序:#i
3、nclude<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct Studentchar name20;int no;int math;int program;int english;int chinese;int aver;stu100,t;int num=0;int menu()int a;char s20;system("cls");/* 程序介紹 */printf(" 歡迎使用學生成績管理系統(tǒng) , 該系統(tǒng)包括以下幾項功 能 ,
4、 請根據(jù)提示做相應操作 n");printf(" 1->輸入學生成績 n");printf(" 2->保存成績 n");printf(" 3->學生成績排序 n");printf(" 4->學生成績查詢 n");printf(" 5->學生成績清單 n");printf(" 6->退出管理系統(tǒng) n");/* 選擇操作 */printf("n");printf(" 請選擇要進行操作的編號 :n"
5、;); doprintf("Enter you choice(06):"); scanf("%s",s); a=atoi(s);while (a<0 | a>6);return a;int enter()int i=0;printf(" 請輸入學生信息 n");printf("NO.:");scanf("%d",&stunum.no);printf(" 姓名 :");scanf("%10s",);printf(&q
6、uot; 數(shù)學 :");scanf("%4d",&stunum.math);printf(" 程序設計 :");scanf("%4d",&gram);printf(" 英語 :");scanf("%4d",&stunum.english);printf(" 語文 :");scanf("%4d",&stunum.chinese);stunum.aver=(stunum.math+stunum.pr
7、ogram+stunum.e nglish+stunum.chinese)/4;num=num+1;printf(" 是否繼續(xù)輸入? (y/n):n");if(getch()='y'|getch()='Y')enter();elsereturn(0);void save()FILE*fp;int i;if(fp=fopen("stu.dat","wb")=NULL)printf("The fire can not openn");return;for(i=0;i<num;i+)
8、if(fwrite(&stui,sizeof(struct Student),1,fp)!=1) printf("The wirte errorn");return;printf(" 數(shù)據(jù)保存成功 n"); system("pause");fclose(fp);void sort()int i, j, k;int sort_no;printf("1- 按數(shù)學成績排 n"); printf("2- 按程序設計成績排 n");printf("3- 按英語成績排 n");p
9、rintf("4- 按語文成績排 n");printf("5- 按平均分成績排 n"); printf("6- 返回主菜單 n"); scanf("%d",&sort_no);if(sort_no=1) / 數(shù)學成績排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.math>stuk.math)k=j;t=stuk;stuk=stui;stui=t;printf(" 學號 姓名 數(shù)學 程序 英語 語文 均分n&qu
10、ot;);for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);else if(sort_no = 2)/ 程序設計成績排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+) if(gram>gram) k=j
11、; t=stuk; stuk=stui; stui=t;語文printf(" 學號 姓名 數(shù)學 程序 英語 平均分 n");for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);else if(sort_no = 3) / 英語成績排序for(i=0; i<num-1; i+)k
12、 = i;for(j=i+1; j<num; j+)if(stuj.english>stuk.english) k=j; t=stuk; stuk=stui; stui=t;printf(" 學號 姓名 數(shù)學 程序 英語 平均分 n");for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, st
13、ui.aver);else if(sort_no = 4) / 語文績排序for(i=0; i<num-1; i+)k = i;for(j=i+1; j<num; j+)if(stuj.chinese>stuk.chinese) k=j; t=stuk; stuk=stui; stui=t;printf(" 學號 姓名 數(shù)學 程序 英語 平均分 n");語文語文for(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, , stui.math);printf("%
14、5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);else if(sort_no=5) / 平均分排序for(i=0; i<num-1; i+)k = i; for(j=i+1; j<num; j+) if(stuj.aver>stuk.aver) k=j; t=stuk; stuk=stui; stui=t;語文printf(" 學號 姓名 數(shù)學 程序 英語 平均分 n");for(i=0; i<num; i+)printf("%4d %5
15、s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);else if(sort_no=6) / 返回上層return;elseprintf(" 錯誤的排序方式 !n"); return;void list()int i;printf(" 學生成績清單 n");printf(" 學號 姓名 數(shù)學 程序 英語 語文 均分n");f
16、or(i=0; i<num; i+)printf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);void search()char NAME20;int search_no;int no,i;printf("請選擇以下的方式對學生數(shù)據(jù)進行查詢 :n");printf("1->學號查詢 n");print
17、f("2->姓名查詢 n");printf("3->返回主菜單 n");printf("請選擇要進行查詢內容的編號 :n");scanf(" %d", &search_no); if(search_no=1)printf("請輸入要查詢的學號 n");scanf("%d", &no);for(i=0; i<num; i+)if(no=stui.no)printf(" 學號 姓名 數(shù)學 程序 英語 語 文 平均分 n");p
18、rintf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);elseprintf(" 數(shù)據(jù)不存在 ");return;else if(search_no=2)printf(" 請輸入要查詢的姓名 n"); scanf("%s", NAME);for(i=0; i<num; i+)if(str
19、cmp(NAME,)=0)printf(" 學號 姓名 數(shù)學 程序設計 英語 語文 平均分 n");printf("%4d %5s %5d", stui.no, , stui.math);printf("%5d %5d %4d %4dn",stui.english, stui.chinese, gram, stui.aver);elseprintf(" 數(shù)據(jù)不存在 ");return; elsereturn; void main()menu();while(1)s
20、witch(menu() case 1:enter();break;case 2:save();break;case 3:sort(); system("pause"); break;case 4:search(); system("pause"); break;case 5:list(); system("pause"); break;case 6:printf("baibai!n"); exit(0);break;五、程序使用說明、測試分析及結果程序的主要功能 :1- 輸入學生成績2- 保存成績3- 學生成績排
21、序4- 學生成績查詢5- 學生成績清單6- 退出管理系統(tǒng) 輸入程序對應功能的相應序號,選擇相應功能,然后根據(jù)提示繼續(xù)。 例如:想要輸入學生的相關信息,輸入 1,然后根據(jù)提示輸入學生相 關信息,再輸入 2,保存學生信息。2、對應測試結果與分析:程序運行當中, 通過選擇對應的功能序號來實現(xiàn)所需功能。 對輸入的 數(shù)據(jù)要有事先的分析, 如果用戶輸入的數(shù)據(jù)與實際不相符如輸入成績 的數(shù)值為負,則程序應輸出相應的提示: “數(shù)據(jù)不存在”。當再輸入 完相應的數(shù)據(jù)后,程序作出相應的提示,詢問用戶是否要保存數(shù)據(jù)。3、每個模塊設計和調試時存在問題的思考輸入完相應的數(shù)據(jù)后, 程序不會自動作出相應的提示, 詢問用戶是否 要保存數(shù)據(jù)。在排列學生成績時候,如果出現(xiàn)成績相同的情況,程序 自動作出處理。4、運行界面(截圖)茨1-2-3-4-5-一月成成簽 塞生生出 A A $ A四生績績績雷系QUJ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程合同保險理賠流程與處理規(guī)范
- 2025年度智能建筑項目施工合同范本
- 2025年度建筑勞務派遣與施工現(xiàn)場管理三方合同大全
- 達州2024年四川達州萬源市衛(wèi)生健康局定向醫(yī)學專科生引進10人筆試歷年參考題庫附帶答案詳解
- 甘肅2025年甘肅省中醫(yī)院招聘32人筆試歷年參考題庫附帶答案詳解
- 湖州浙江湖州長興縣機關事務管理服務中心招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 河北2025年河北省氣象部門招聘應屆畢業(yè)生2人筆試歷年參考題庫附帶答案詳解
- 昆明2025年中國地質調查局昆明自然資源綜合調查中心招聘10人(第一批)筆試歷年參考題庫附帶答案詳解
- 成都四川成都市衛(wèi)生健康委員會所屬6家事業(yè)單位招聘高層次人才109人筆試歷年參考題庫附帶答案詳解
- 廣西2025年廣西血液中心招聘4人筆試歷年參考題庫附帶答案詳解
- 統(tǒng)編版小學語文五年級下冊第四單元解讀與大單元設計思路
- 貓狗創(chuàng)業(yè)計劃書
- 復產(chǎn)復工試題含答案
- 部編版語文三年級下冊第六單元大單元整體作業(yè)設計
- 售后服務經(jīng)理的競聘演講
- 臨床醫(yī)技科室年度運營發(fā)展報告
- 慢加急性肝衰竭護理查房課件
- 文件丟失應急預案
- 從建設和諧社會角度思考治超限載(十)
- 幼兒園小班開學家長會課件
- 云南華葉投資公司2023年高校畢業(yè)生招聘1人筆試參考題庫(共500題)答案詳解版
評論
0/150
提交評論