學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
《學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 沈陽(yáng)師范大學(xué)科信軟件學(xué)院 小學(xué)期課程設(shè)計(jì)報(bào)告 課題名稱(chēng): 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì) 姓 名: 楊先勇 學(xué) 號(hào): 12008065 專(zhuān)業(yè)年級(jí): 2012級(jí)軟件工程2班 指導(dǎo)教師: 張麗娜 2014年6月26日 課程設(shè)計(jì)報(bào)告:學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì) 編程語(yǔ)言:C 一、 系統(tǒng)需求 學(xué)生成績(jī)信息包括:學(xué)期,學(xué)號(hào),班
2、別,姓名,四門(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)以菜單方式工作 三、 設(shè)計(jì)目的 (1) 能完成對(duì)學(xué)生成績(jī)的錄入 (2) 能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分,排序 (3) 能按班級(jí),學(xué)期輸出學(xué)生的成績(jī)單和不及格科目及學(xué)生名單 (4) 能查詢(xún)單個(gè)學(xué)生成績(jī) (5) 能修改單個(gè)學(xué)生信息 四
3、、 結(jié)構(gòu)圖 修改單個(gè)學(xué)生信息 修 改 void monify 結(jié) 構(gòu) 圖 班級(jí)int classes 學(xué)期int term 信息錄入void input 成績(jī)統(tǒng)計(jì)void sort 查詢(xún) void search 姓名char name[10] 學(xué)號(hào)int num 成績(jī)int score[4] 學(xué)號(hào)stu[i].num、班級(jí)stu[i].classes,姓名stu[i].name、四門(mén)課成績(jī)stu[i].score 能按學(xué)號(hào)查詢(xún)單個(gè)學(xué)生成績(jī) 按班級(jí)統(tǒng)計(jì)學(xué)生的成
4、績(jī),求學(xué)生的總分及平均分,排序
成績(jī)輸出void print
能按班級(jí),學(xué)期輸出學(xué)生成績(jī)單和不及格科目及學(xué)生名單
結(jié)構(gòu)數(shù)組struct student
五、 程序代碼
#include
5、e[10];
int score[4];
int sum;
double average;
}stu[NUM];
void print1();
void print2();
void zcd();
void input() /*輸入信息函數(shù)*/
{
system("cls");
int i;
char a;
for(i=0;i 6、nf("%d",&stu[i].term);
printf(" \n請(qǐng)輸入學(xué)生的學(xué)號(hào):");
fflush(stdin);
scanf("%d",&stu[i].num);
printf(" \n請(qǐng)輸入學(xué)生的班級(jí):");
scanf("%d",&stu[i].classes);
printf("\n請(qǐng)輸入學(xué)生的姓名:");
scanf("%s", stu[i].name) ;
printf("\n請(qǐng)輸入學(xué)生的語(yǔ)文成績(jī):");
scanf("%d",&stu[i].score[0]); 7、
printf("\n請(qǐng)輸入學(xué)生的數(shù)學(xué)成績(jī):");
scanf("%d", &stu[i].score[1]);
printf("\n請(qǐng)輸入學(xué)生的英語(yǔ)成績(jī):");
scanf("%d", &stu[i].score[2]);
printf("\n請(qǐng)輸入學(xué)生的計(jì)算機(jī)成績(jī):");
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];//算總 8、分和平均
stu[i].average=(float)stu[i].sum/4.0;
printf("是否要繼續(xù)添加(按N&n退出)");
fflush(stdin);
a=getchar();
if(a==n||a==N)
break;
}
}
void search() /*查找并顯示一個(gè)記錄*/
{
system("cls");/*清屏*/
int number=0,i;
printf("\t\t\t 請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):");
sca 9、nf("%d",&number);
printf("學(xué)號(hào)\t姓名\t班級(jí) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) 總分 平均分\n");
for(i=0;i 10、],stu[i].sum,stu[i].average); /*輸出學(xué)生信息*/
}
else
printf("沒(méi)找到該學(xué)生的信息\n");
system("pause");
}
void print() /*按學(xué)期、按班級(jí)輸出成績(jī)函數(shù)*/
{
system("cls");
char a;
printf("1、按學(xué)期輸出\n");
printf("2、按班級(jí)輸出\n");
printf("3、返回\n");
fflush(stdin);
a=getchar();
switch(a)
11、
{
case 1:print1();
case 2:print2();
case 3:zcd();
default:print();
}
}
void print1()//按學(xué)期
{
int i,m;
printf("請(qǐng)輸入學(xué)期:\n");
scanf("%d",&m);
printf("學(xué)號(hào)\t姓名\t班級(jí) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) 總分 平均分\n");
for(i=0;i 12、\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); /*輸出學(xué)生信息*/
}
system("pause");system("cls");print();
}
void print2()//按班級(jí)
{
int i,j,k;
printf("請(qǐng)輸入班級(jí):\n");
scanf("%d",&k);
printf("學(xué)號(hào)\t姓名 13、\t班級(jí) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) 總分 平均分\n");
for(i=0;i 14、,
stu[i].score[0],stu[i].score[1],stu[i].score[2], stu[i].score[3],stu[i].sum,stu[i].average); /*輸出學(xué)生信息*/
}
}
printf("輸出不及格學(xué)生名單及成績(jī):\n");
printf("學(xué)號(hào)\t姓名\t班級(jí) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) \n");
for(i=0;i 15、 /*輸出不及格學(xué)生名單及成績(jī)*/
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();
}
void modify() /*修改成績(jī)函數(shù)*/ 16、
{
system("cls");
int number,i;
printf("\t\t\t請(qǐng)輸入要修改信息的學(xué)生學(xué)號(hào):");
scanf("\t\t\t%d",&number);
for(i=0;i 17、anf("%d",&stu[i].term);
printf(" \n請(qǐng)輸入學(xué)生的學(xué)號(hào):");
fflush(stdin);
scanf("%d",&stu[i].num);
printf(" \n請(qǐng)輸入學(xué)生的班級(jí):");
scanf("%d",&stu[i].classes);
printf("\n請(qǐng)輸入學(xué)生的姓名:");
scanf("%s", stu[i].name) ;
printf("\n請(qǐng)輸入學(xué)生的語(yǔ)文成績(jī):" 18、);
scanf("%d",&stu[i].score[0]);
printf("\n請(qǐng)輸入學(xué)生的數(shù)學(xué)成績(jī):");
scanf("%d", &stu[i].score[1]);
printf("\n請(qǐng)輸入學(xué)生的英語(yǔ)成績(jī):");
scanf("%d", &stu[i].score[2]);
printf("\n請(qǐng)輸入學(xué)生的計(jì)算機(jī)成績(jī):");
scanf("%d", &stu[i].score[3]);
}
else
printf("沒(méi)找 19、到該學(xué)生的信息\n");
system("paues");system("cls");zcd();
}
void sort() /*排序并顯示函數(shù)*/
{
int i,j=0;
int temp;
for(i=0;i 20、
for(i=0;i 21、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);
/*輸出學(xué)生信息*/
system("pause");system("cls");print();
}
void zcd()
{
int n=0;
char m;
system("cls");/*清屏*/
printf(" 22、按任一鍵進(jìn)入主菜單\n "); /*按任意鍵進(jìn)入主菜單*/
printf("********************************************************************************\n");
printf("\t\t沈陽(yáng)師范大學(xué)軟件學(xué)院歡迎您\n");
printf("\n\t\t\t--------- 歡迎您使用學(xué)生管理系統(tǒng)\n\n\t\t\t\t\t-----------\n");
printf("*************************************ME 23、NU***************************************\n");
printf("\t\t\t1. 輸入學(xué)生成績(jī)記錄 Input the record\n"); /*輸入學(xué)生成績(jī)記錄*/
printf("\t\t\t2. 排序并顯示 Sort to make new a file\n"); /*排序*/
printf("\t\t\t3. 按班級(jí)顯示成績(jī)單 Print the record\n"); /*顯示*/
printf("\t\t\t4. 查找個(gè)人成績(jī) Search record on name\ 24、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) 25、;
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: 26、exit(0); /*如菜單返回值為7則程序結(jié)束*/
default:printf("錯(cuò)誤命令"); getchar();zcd();
}
} while(1);
}
void main()
{
zcd();
}
六、 調(diào)試與運(yùn)行
主菜單
成績(jī)錄入
統(tǒng)計(jì)排序 輸出成績(jī)
學(xué)號(hào) 姓名 班級(jí) 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) 總分 平均分
2 2 2 27、 22 22 22 2 68 17
8 8 8 8 9 9 9 35 8.75
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 28、 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 0 0.00
0 0 0 0 0 0 0 29、 0 0.00
0 0 0 0 0 0 0 0 0.00
查找
修改
請(qǐng)輸入要修改信息的學(xué)生學(xué)號(hào):02
請(qǐng)輸入修改后的學(xué)生的信息
請(qǐng)輸入學(xué)生的學(xué)期:2
請(qǐng)輸入學(xué)生的學(xué)號(hào):34
請(qǐng)輸入學(xué)生的班級(jí):3
請(qǐng)輸入學(xué)生的姓名:yangyong
請(qǐng)輸入學(xué)生的語(yǔ)文成績(jī):45
請(qǐng)輸入學(xué)生的數(shù)學(xué)成績(jī):56
請(qǐng)輸入學(xué)生的英語(yǔ)成績(jī):78
請(qǐng)輸入學(xué)生的計(jì)算機(jī)成績(jī):66
30、
七、 設(shè)計(jì)總結(jié)
經(jīng)過(guò)幾周的課程設(shè)計(jì),我學(xué)到了很多東西:
①鞏固和加深了對(duì)編程的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。
②培養(yǎng)了我選用參考書(shū),查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問(wèn)題、解決問(wèn)題的能力。
③經(jīng)過(guò)實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。
④能夠按要求編寫(xiě)課程設(shè)計(jì)報(bào)告書(shū),能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果,正確繪制系統(tǒng)和程序框圖。
課程設(shè)計(jì)是把我們所學(xué)的理論知識(shí)進(jìn)行系統(tǒng)的總結(jié)并應(yīng)用于實(shí)踐的良好機(jī)會(huì),有利于加強(qiáng)我們用知識(shí)理論來(lái)分析實(shí)際問(wèn)題的能力,進(jìn)而加強(qiáng)了我們對(duì)知識(shí)認(rèn)識(shí)的實(shí)踐度,鞏固了我們的理論知識(shí),深化了對(duì)知識(shí)的認(rèn)識(shí),并為走向社會(huì)打下一個(gè)良好的基礎(chǔ)。
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會(huì)全文PPT
- 2025年寒假安全教育班會(huì)全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專(zhuān)題PPT
- 主播直播培訓(xùn)提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機(jī)關(guān)工委2024年度年終黨建工作總結(jié)述職匯報(bào)
- 心肺復(fù)蘇培訓(xùn)(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學(xué)生活介紹
- XX單位2024年終專(zhuān)題組織生活會(huì)理論學(xué)習(xí)理論學(xué)習(xí)強(qiáng)黨性凝心聚力建新功
- 2024年XX單位個(gè)人述職述廉報(bào)告
- 一文解讀2025中央經(jīng)濟(jì)工作會(huì)議精神(使社會(huì)信心有效提振經(jīng)濟(jì)明顯回升)
- 2025職業(yè)生涯規(guī)劃報(bào)告自我評(píng)估職業(yè)探索目標(biāo)設(shè)定發(fā)展策略
- 2024年度XX縣縣委書(shū)記個(gè)人述職報(bào)告及2025年工作計(jì)劃
- 寒假計(jì)劃中學(xué)生寒假計(jì)劃安排表(規(guī)劃好寒假的每個(gè)階段)
- 中央經(jīng)濟(jì)工作會(huì)議九大看點(diǎn)學(xué)思想強(qiáng)黨性重實(shí)踐建新功