![學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)c語(yǔ)言_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/24/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e1.gif)
![學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)c語(yǔ)言_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/24/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e2.gif)
![學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)c語(yǔ)言_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/24/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e3.gif)
![學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)c語(yǔ)言_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/24/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e4.gif)
![學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)c語(yǔ)言_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/24/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e/c8a5f5af-3eeb-4947-b3f5-1e56595a4d1e5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告書(shū)學(xué)生成績(jī)管理系統(tǒng)班級(jí)學(xué)號(hào):姓名:指導(dǎo)老師:21 / 19目錄1 題目要求 12 設(shè)計(jì)思想 33 系統(tǒng)完成功能及框圖 34 界面設(shè)計(jì) 45 核心算法及說(shuō)明 76 結(jié)論 167 參考資料 168 后記 16摘要:學(xué)生成績(jī)管理系統(tǒng)提供了強(qiáng)大的學(xué)生成績(jī)管理管理功能,方便系統(tǒng)管理員對(duì)學(xué)生成績(jī)等信息的添加,修改,刪除 ,查詢(xún) ,留言等操作,同時(shí)一樣的方面學(xué)生對(duì)自己各科成績(jī)查詢(xún) ,學(xué)習(xí)的交流.隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用.作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,有著手工管理所無(wú)法比
2、擬的優(yōu)點(diǎn) .1 、 題目要求題目七:學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)學(xué)生成績(jī)信息包括:學(xué)期,學(xué)號(hào),班別,姓名,四門(mén)課程成績(jī)( 語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī)) 等。主要功能:(1) 能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改(2) 能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分(3) 能查詢(xún)學(xué)生成績(jī),不及格科目及學(xué)生名單(4) 能按班級(jí)輸出學(xué)生的成績(jī)單要求:使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù),系統(tǒng)以菜單方式工作2、設(shè)計(jì)思想我們?cè)O(shè)計(jì)的學(xué)生成績(jī)管理系統(tǒng)共有7 個(gè)功能,所涉及到的函數(shù)有按回車(chē)返回主菜單、查詢(xún)、保存、輸入、修改、輸出、統(tǒng)計(jì)等等。這是一個(gè)關(guān)于學(xué)生成績(jī)的管理系統(tǒng),所以就會(huì)涉及到一系列問(wèn)題,例如:去各科成績(jī)的總和、平均
3、值、不幾個(gè)學(xué)生的科目及對(duì)應(yīng)的成績(jī)。這個(gè)程序的整個(gè)思路就是按照要求寫(xiě)出相應(yīng)的程序并使之能夠運(yùn)行。首先,寫(xiě)出所有能夠用到的庫(kù)函數(shù),并設(shè)計(jì)出能夠顯示主菜單的程序。其次按照主菜單設(shè)計(jì)出所有的有關(guān)程序。再次,由于這個(gè)程序會(huì)用到結(jié)構(gòu)體所以會(huì)涉及到“將數(shù)據(jù)從結(jié)構(gòu)體數(shù)組保存到文件中”、“將數(shù)據(jù)從文件讀到結(jié)構(gòu)體數(shù)組中”這兩個(gè)程序。為了使程序更完美還涉及了主函數(shù)的顯示。最后,就可以按照主菜單進(jìn)行一系列的操作。其實(shí),這些程序的設(shè)計(jì)都是根據(jù)以前學(xué)過(guò)的只是進(jìn)行的簡(jiǎn)單的程序的疊加。沒(méi)有什么可以害怕或是擔(dān)心的。3、系統(tǒng)完成功能及框圖成績(jī)統(tǒng)計(jì)查詢(xún)不及格同學(xué)按班級(jí)查詢(xún)成績(jī)修改學(xué)生記錄輸入學(xué)生記錄查看所有同學(xué)信息退出程序4、界面
4、設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)* * * *0退出*1查看所有學(xué)生信息,2輸入學(xué)生記錄*3 修改學(xué)生記錄*4 查詢(xún)C班0D*5 查詢(xún)t不及格記錄)*0成蛾統(tǒng)計(jì)單請(qǐng)輸入功或號(hào)s-/:*主菜單:、C;JBSOFTCTuTaiil)innt eap. exc請(qǐng)箍入功能號(hào)10-團(tuán);1破毀 學(xué)期 姓名京 *學(xué)生成筋營(yíng)展系統(tǒng)而¥退出*查看所有學(xué)生信息 *輸入學(xué)生記錄*修改學(xué)生記錄常苴詞班皴*宜詢(xún)(不及格記錄* 成矮線(xiàn)計(jì)收*- TJ TJ TJ J 1J 0rl23456t'+i*.;1,11京1*1+.1 4 i*fifufc寺|c學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)3WO22T6065.0T8.0阻。
5、4bu34TS056 0T6099.0魚(yú)包車(chē)鍵返回主案單.運(yùn)行1后界面八 C: JBSOFTCYuYaxil)iiiTTt ea.p. ex e*蛻*算*4c*京京京*加求*4:*#猿常*率*!*jK*學(xué)生成纏營(yíng)理系堤布不*0退出*1存著所有學(xué)生信息*團(tuán)輸入學(xué)生記錄*3修改學(xué)生記錄*查詢(xún)(班敘)*5直詢(xún)【不及格記錄)*成建統(tǒng)計(jì)*4cj*c*卡:* 本* *淳宓4*4:* 巾* 巾#*宓4uK4oKt時(shí)功能號(hào)卬-叼:4請(qǐng)輸入要置詢(xún)成豉的田級(jí)0班破 學(xué)期 姓名 學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)篁機(jī)23,。2278 0C5.070.0 弗口按回車(chē)鍵返回主菜單運(yùn)行4后界面兼*申窠卓*京*京:*尤*笨*率*本
6、*:!(窠京*京*班第*中常才學(xué)生成能管理系線(xiàn)*魄率流01退出*洋m查看所有學(xué)生信息事胃U喻入學(xué)生記錄*31修改學(xué)生記錄*國(guó)查詢(xún)(班皴】*5J魚(yú)網(wǎng)C不及格記錄)*6成統(tǒng)統(tǒng)計(jì)*濯*覃*尊*:窠*章*胃*事*京*享京* *:*%*(京請(qǐng)輸入功能號(hào)【口-81二5 請(qǐng)輸入所要查詢(xún)的班級(jí):3 請(qǐng)輸入所要查詢(xún)的學(xué)期:4 姓名:卜山字號(hào):31的不及格科目有:數(shù)學(xué)闞 按回車(chē)隆返回主菜單一.運(yùn)行5后界面5、核心算法及說(shuō)明#include <stdio . h>#include <io . h>#include <stdlib . h>#include <string .
7、 h>#define MAX 300 struct student charcla10;/ 班級(jí)charterm10;/ 學(xué)期char name10;/ 姓名char no10;/ 學(xué)號(hào)float ch;/ 語(yǔ)文float ma;/ 數(shù)學(xué)float en;/ 英語(yǔ)float com; / 計(jì)算機(jī);struct dataint count;/ 當(dāng)前學(xué)生數(shù)組中學(xué)生的個(gè)數(shù)struct student stuMAX; / 學(xué)生數(shù)組 dd;/ 顯示主菜單void menu()system("cls" );printf("n" );printf("t
8、tt*n");printf("ttt*n");printf("ttt*學(xué)生成績(jī)管理系統(tǒng)*n");printf("ttt*n");printf("ttt*0退出*n");printf("ttt*1查看所有學(xué)生信息*n");printf("ttt*2輸入學(xué)生記錄*n");printf("ttt*3修改學(xué)生記錄*n");printf("ttt*4查詢(xún)(班級(jí))*n");printf("ttt*5查詢(xún)(不及格記錄) *n&qu
9、ot;);printf("ttt*6成績(jī)統(tǒng)計(jì)*n");printf("ttt*n");printf( "ttt*n");/ 等待用戶(hù)按回車(chē)后回到主菜單void to_menu()char c1,c2;printf( "nnn 按回車(chē)鍵返回主菜單." );scanf( "%c%c", &c1, &c2);menu();/ 查看所有學(xué)生信息void view_data()int i;printf("班級(jí)t 學(xué)期 t 姓名 t 學(xué)號(hào) t 語(yǔ)文 t 數(shù)學(xué) t 英語(yǔ) t 計(jì)算機(jī)
10、" );printf( "nn");for (i =0;i <dd. count;i +)printf( "%st%st%st%st%.1ft%.1ft%.1ft%.1fn" ,dd . stui . cla,dd . stui . term,dd . stui . name,dd. stui . no,dd . stui . ch,dd . stui . ma,d d. stui . en,dd . stui . com);/ 將數(shù)據(jù)從結(jié)構(gòu)體數(shù)組保存到文件中void save_data()FILE *fp;int i,k;k =dd.
11、count;fp =fopen( "c:/dada.txt" , "w" );fwrite( &k, sizeof ( int ),1,fp);for (i =0;i <k;i +)fwrite( &dd. stui, sizeof ( struct student),1,fp);fclose(fp);/ 輸入學(xué)生記錄(按班級(jí)和學(xué)期)void add_data()struct student st;int b;int i,k,j;char term10,cla10;printf("請(qǐng)輸入所要錄入的學(xué)生的班級(jí):"
12、);scanf( "%s",cla);printf("請(qǐng)輸入所要錄入的學(xué)期:" );scanf( "%s",term);while (1)j =0;printf( "n 請(qǐng)輸入學(xué)生信息:" );printf( "n 姓名 t 學(xué)號(hào) t 語(yǔ)文 t 數(shù)學(xué) t 英語(yǔ) t 計(jì)算機(jī) " );printf( "nn");scanf( "%s%s%f%f%f%f,"st . name,st . no, &st . ch, &st . ma,&st
13、 . en, &st . com);for (i =0;i <dd. count;i +)if (strcmp(dd . stui . no,st . no) =0&&strcmp(dd . stui . term,term) =0)if (strcmp(dd . stui . no,st . no) =0)printf( "n 信息已存在,請(qǐng)重新輸入!n" );j =1;break;if (j =1)continue ;if (j =0)k = dd . count;strcpy(dd . stuk . cla,cla);strcpy(dd
14、. stuk . term,term);strcpy(dd. stuk. name,st. name);strcpy(dd. stuk. no,st . no);dd. stuk. ch=st .ch;dd. stuk. ma=st .ma;dd. stuk. en=st .en;dd. stuk. com=st. com;dd. count +;printf("nn 繼續(xù)添加學(xué)生信息1-yes 0-no:");scanf("%d", &b);if (b =0) break;save_data();/ 將數(shù)據(jù)從文件讀到結(jié)構(gòu)體數(shù)組中void rea
15、d_data()FILE *fp;int i,k;struct student st;k=0;if (access( "c:/dada.txt" ,0) =-1) / 如果文件不存在fp =fopen( "c:/dada.txt" , "w" );fwrite( &k, sizeof ( int ),1,fp);fclose(fp);fp =fopen( "c:/dada.txt" , "r" );fread( &k, sizeof ( int ),1,fp);dd. count
16、 =k;for (i =0;i <k;i +)fread( &st, sizeof ( struct student),1,fp);strcpy(dd. stui. cla,st .cla);strcpy(dd. stui. term,st. term);strcpy(dd .stui. name,);strcpy(dd .stui. no,st . no);dd. stui .ch=st .ch;dd. stui. ma=st .ma;dd. stui. en=st .en;dd. stui. com=st. com;fclose(fp);/ 修改學(xué)生成績(jī)記錄(按
17、班級(jí)和學(xué)期)void edit_data()char cla10,term10;int i; float ch,ma,en,com;printf("請(qǐng)輸入所要修改記錄的班級(jí):" );scanf("%s",cla);printf("請(qǐng)輸入所要修改記錄的學(xué)期:" );scanf("%s",term);for (i =0;i <dd. count;i +)if (strcmp(dd . stui . cla,cla) =0&&strcmp(dd . stui . term,term) =0 )pri
18、ntf("n 姓名:s,學(xué)號(hào): %s",dd . stui . name,dd. stui . no);printf( "n 請(qǐng)修改學(xué)生數(shù)據(jù):" );printf("n 語(yǔ)文成績(jī):" );scanf("%f" , &ch);dd. stui . ch=ch;printf("n 數(shù)學(xué)成績(jī):");scanf("%f" ,&ma);dd. stui . ma=ma;printf("n 英語(yǔ)成績(jī):");scanf("%f" ,&
19、amp;en);dd. stui . en=en;printf("n 計(jì)算機(jī)成績(jī):");scanf("%f" , &com);dd. stui . com=com;printf( "nn 編輯學(xué)生記錄成功!" ); save_data(); / 按班級(jí)輸出成績(jī)單void query_data_cla()int i;char cla10;printf( "n 請(qǐng)輸入要查詢(xún)成績(jī)的班級(jí):" );scanf( "%s",cla);for (i =0;i <dd. count;i +)if
20、(strcmp(dd . stui . cla,cla) =0)數(shù)學(xué) t 英語(yǔ) t 計(jì)算機(jī),dd . stui . cla,dd . ch,dd . stui . ma,dprintf( "班級(jí) t 學(xué)期 t 姓名 t 學(xué)號(hào) t 語(yǔ)文 t ");printf( "nn");printf( "%st%st%st%st%.1ft%.1ft%.1ft%.1fn"stui . term,dd . stui . name,dd. stui . no,dd . stui d. stui . en,dd . stui . com);/ 查詢(xún)不及格科
21、目的學(xué)生名單void query_data_pass()int i,s =0;char cla10,term10;printf("請(qǐng)輸入所要查詢(xún)的班級(jí):");scanf("%s",cla);printf("請(qǐng)輸入所要查詢(xún)的學(xué)期:");scanf("%s",term);for (i =0;i <dd. count;i +) if (strcmp(dd . stui . term,term) =0&&strcmp(dd . stui . cla,cla) =0)printf("n姓名:%
22、s學(xué)號(hào):%s的不及格科目有:,dd . stui . name,dd. stui . no);" 語(yǔ)文t");s+;" 數(shù)學(xué)t");s+;" 英語(yǔ)t");s+;" 計(jì)算機(jī) t" );s +; if (dd . stui . ch<60) printf( s=0;if (dd . stui . ma<60) printf( s=0;if (dd . stui . en<60) printf( s=0;if (dd . stui . com<60) printf( s=0;if (s =0)pr
23、intf( "0 科 " );/ 成績(jī)統(tǒng)計(jì) ( 按班級(jí)和學(xué)期) 求總分和平均分void count_data()char cla10,term10;int i,k =0; float sum4 = 0.0 ,average4; printf("請(qǐng)輸入所要統(tǒng)計(jì)記錄的班級(jí):" );scanf("%s",cla);printf("請(qǐng)輸入所要統(tǒng)計(jì)記錄的學(xué)期:" );scanf("%s",term);for (i =0;i <dd. count;i +)if (strcmp(dd . stui. c
24、la,cla) =0&&strcmp(dd . stui . term,term) =0)k +;sum0+=dd. stui.ch;sum1+=dd. stui.ma;sum2+=dd. stui.en;sum3+=dd. ;average0=sum0 / k;average1=sum1 / k;average2=sum2 / k;average3=sum3 / k;printf( "n所查詢(xún)SH級(jí)學(xué)期的各科總分為:n" ,cla,term);printf( "語(yǔ)文 t 數(shù)學(xué) t 英語(yǔ) t 計(jì)算機(jī) " );printf(
25、 "nn");printf( "%.1ft%.1ft%.1ft%.1ft",sum0,sum1,sum2,sum3);printf( "n所查詢(xún)SH級(jí)學(xué)期的各科平均分為:n" ,cla,term);printf( "語(yǔ)文 t 數(shù)學(xué) t 英語(yǔ) t 計(jì)算機(jī) ");printf( "nn");printf( "%.1ft%.1ft%.1ft%.1ft" ,average0,average1,average2, average3);/ 主函數(shù)void main()int fun;re
26、ad_data();menu();while (1)printf( "請(qǐng)輸入功能號(hào)0-8:" , &fun);scanf( "%d", &fun);switch (fun)case 0:/ 退出break;case 1: / 查看所有學(xué)生信息view_data(); break;case 2: / 按班級(jí)和學(xué)期輸入學(xué)生記錄add_data(); break;case 3: / 按班級(jí)和學(xué)期修改學(xué)生記錄edit_data();break;case 4: / 查詢(xún)(按班級(jí))query_data_cla(); break;case 5: / 查詢(xún)不及格學(xué)生及科目(按照班級(jí)和學(xué)期)query_data_pass();break;case 6: / 成績(jī)統(tǒng)計(jì) ( 按班級(jí)和學(xué)期求平均分和總分)count_data();break;if (fun =0) break ;to_menu()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Rilmazolam-生命科學(xué)試劑-MCE-2242
- cis-N-Acetyl-S-4-hydroxy-2-buten-1-yl-L-cysteine-d3-生命科學(xué)試劑-MCE-7054
- 3-4-MDPA-hydrochloride-生命科學(xué)試劑-MCE-3492
- 二零二五年度離婚后財(cái)產(chǎn)分割與共同生活費(fèi)用承擔(dān)協(xié)議
- 2025年度養(yǎng)老服務(wù)機(jī)構(gòu)專(zhuān)用房產(chǎn)租賃協(xié)議
- 二零二五年度貨車(chē)運(yùn)輸貨物跟蹤與反饋合同
- 2025年度股份占比協(xié)議書(shū)模板:知識(shí)產(chǎn)權(quán)入股股份占比協(xié)議書(shū)
- 二零二五年度企業(yè)食堂衛(wèi)生安全責(zé)任合同
- 2025年度越野輪車(chē)銷(xiāo)售與服務(wù)協(xié)議
- 跨學(xué)科知識(shí)體系的整合與實(shí)踐
- 綠色建筑項(xiàng)目造價(jià)咨詢(xún)服務(wù)方案
- DB34T4826-2024畜禽養(yǎng)殖業(yè)污染防治技術(shù)規(guī)范
- 腰麻課件教學(xué)課件
- 石油化工企業(yè)環(huán)境保護(hù)管理制度預(yù)案
- 2024年甘肅省高考?xì)v史試卷(含答案解析)
- 2024年山東省煙臺(tái)市初中學(xué)業(yè)水平考試地理試卷含答案
- 抗腫瘤治療所致惡心嘔吐護(hù)理
- 2024年廣東省中考地理試題(含解析)
- 西安經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)管委會(huì)招聘考試真題
- 冀教版小學(xué)英語(yǔ)六年級(jí)下冊(cè)全冊(cè)教案
- 2024人工智能開(kāi)源大模型生態(tài)體系研究報(bào)告
評(píng)論
0/150
提交評(píng)論