學(xué)生成績管理系統(tǒng)設(shè)計(jì)
《學(xué)生成績管理系統(tǒng)設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《學(xué)生成績管理系統(tǒng)設(shè)計(jì)(13頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 沈陽師范大學(xué)科信軟件學(xué)院 小學(xué)期課程設(shè)計(jì)報告 課題名稱: 學(xué)生成績管理系統(tǒng)設(shè)計(jì) 姓 名: 楊先勇 學(xué) 號: 12008065 專業(yè)年級: 2012級軟件工程2班 指導(dǎo)教師: 張麗娜 2014年6月26日 課程設(shè)計(jì)報告:學(xué)生成績管理系統(tǒng)設(shè)計(jì) 編程語言:C 一、 系統(tǒng)需求 學(xué)生成績信息包括:學(xué)期,學(xué)號,班
2、別,姓名,四門課程成績(語文、數(shù)學(xué)、英語和計(jì)算機(jī))等。 主要功能: (1) 能按學(xué)期、按班級完成對學(xué)生成績的錄入、修改 (2) 能按班級統(tǒng)計(jì)學(xué)生的成績,求學(xué)生的總分及平均分 (3) 能查詢學(xué)生成績,不及格科目及學(xué)生名單 (4) 能按班級輸出學(xué)生的成績單 二、 要求 使用二進(jìn)制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作 三、 設(shè)計(jì)目的 (1) 能完成對學(xué)生成績的錄入 (2) 能按班級統(tǒng)計(jì)學(xué)生的成績,求學(xué)生的總分及平均分,排序 (3) 能按班級,學(xué)期輸出學(xué)生的成績單和不及格科目及學(xué)生名單 (4) 能查詢單個學(xué)生成績 (5) 能修改單個學(xué)生信息 四
3、、 結(jié)構(gòu)圖 修改單個學(xué)生信息 修 改 void monify 結(jié) 構(gòu) 圖 班級int classes 學(xué)期int term 信息錄入void input 成績統(tǒng)計(jì)void sort 查詢 void search 姓名char name[10] 學(xué)號int num 成績int score[4] 學(xué)號stu[i].num、班級stu[i].classes,姓名stu[i].name、四門課成績stu[i].score 能按學(xué)號查詢單個學(xué)生成績 按班級統(tǒng)計(jì)學(xué)生的成
4、績,求學(xué)生的總分及平均分,排序
成績輸出void print
能按班級,學(xué)期輸出學(xué)生成績單和不及格科目及學(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請輸入學(xué)生的學(xué)號:");
fflush(stdin);
scanf("%d",&stu[i].num);
printf(" \n請輸入學(xué)生的班級:");
scanf("%d",&stu[i].classes);
printf("\n請輸入學(xué)生的姓名:");
scanf("%s", stu[i].name) ;
printf("\n請輸入學(xué)生的語文成績:");
scanf("%d",&stu[i].score[0]); 7、
printf("\n請輸入學(xué)生的數(shù)學(xué)成績:");
scanf("%d", &stu[i].score[1]);
printf("\n請輸入學(xué)生的英語成績:");
scanf("%d", &stu[i].score[2]);
printf("\n請輸入學(xué)生的計(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() /*查找并顯示一個記錄*/
{
system("cls");/*清屏*/
int number=0,i;
printf("\t\t\t 請輸入要查找學(xué)生的學(xué)號:");
sca 9、nf("%d",&number);
printf("學(xué)號\t姓名\t班級 語文 數(shù)學(xué) 英語 計(jì)算機(jī) 總分 平均分\n");
for(i=0;i 10、],stu[i].sum,stu[i].average); /*輸出學(xué)生信息*/
}
else
printf("沒找到該學(xué)生的信息\n");
system("pause");
}
void print() /*按學(xué)期、按班級輸出成績函數(shù)*/
{
system("cls");
char a;
printf("1、按學(xué)期輸出\n");
printf("2、按班級輸出\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("請輸入學(xué)期:\n");
scanf("%d",&m);
printf("學(xué)號\t姓名\t班級 語文 數(shù)學(xué) 英語 計(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()//按班級
{
int i,j,k;
printf("請輸入班級:\n");
scanf("%d",&k);
printf("學(xué)號\t姓名 13、\t班級 語文 數(shù)學(xué) 英語 計(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é)生名單及成績:\n");
printf("學(xué)號\t姓名\t班級 語文 數(shù)學(xué) 英語 計(jì)算機(jī) \n");
for(i=0;i 15、 /*輸出不及格學(xué)生名單及成績*/
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() /*修改成績函數(shù)*/ 16、
{
system("cls");
int number,i;
printf("\t\t\t請輸入要修改信息的學(xué)生學(xué)號:");
scanf("\t\t\t%d",&number);
for(i=0;i 17、anf("%d",&stu[i].term);
printf(" \n請輸入學(xué)生的學(xué)號:");
fflush(stdin);
scanf("%d",&stu[i].num);
printf(" \n請輸入學(xué)生的班級:");
scanf("%d",&stu[i].classes);
printf("\n請輸入學(xué)生的姓名:");
scanf("%s", stu[i].name) ;
printf("\n請輸入學(xué)生的語文成績:" 18、);
scanf("%d",&stu[i].score[0]);
printf("\n請輸入學(xué)生的數(shù)學(xué)成績:");
scanf("%d", &stu[i].score[1]);
printf("\n請輸入學(xué)生的英語成績:");
scanf("%d", &stu[i].score[2]);
printf("\n請輸入學(xué)生的計(jì)算機(jī)成績:");
scanf("%d", &stu[i].score[3]);
}
else
printf("沒找 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沈陽師范大學(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é)生成績記錄 Input the record\n"); /*輸入學(xué)生成績記錄*/
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\ 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("錯誤命令"); getchar();zcd();
}
} while(1);
}
void main()
{
zcd();
}
六、 調(diào)試與運(yùn)行
主菜單
成績錄入
統(tǒng)計(jì)排序 輸出成績
學(xué)號 姓名 班級 語文 數(shù)學(xué) 英語 計(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
查找
修改
請輸入要修改信息的學(xué)生學(xué)號:02
請輸入修改后的學(xué)生的信息
請輸入學(xué)生的學(xué)期:2
請輸入學(xué)生的學(xué)號:34
請輸入學(xué)生的班級:3
請輸入學(xué)生的姓名:yangyong
請輸入學(xué)生的語文成績:45
請輸入學(xué)生的數(shù)學(xué)成績:56
請輸入學(xué)生的英語成績:78
請輸入學(xué)生的計(jì)算機(jī)成績:66
30、
七、 設(shè)計(jì)總結(jié)
經(jīng)過幾周的課程設(shè)計(jì),我學(xué)到了很多東西:
①鞏固和加深了對編程的理解,提高綜合運(yùn)用本課程所學(xué)知識的能力。
②培養(yǎng)了我選用參考書,查閱手冊及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。
③經(jīng)過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。
④能夠按要求編寫課程設(shè)計(jì)報告書,能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果,正確繪制系統(tǒng)和程序框圖。
課程設(shè)計(jì)是把我們所學(xué)的理論知識進(jìn)行系統(tǒng)的總結(jié)并應(yīng)用于實(shí)踐的良好機(jī)會,有利于加強(qiáng)我們用知識理論來分析實(shí)際問題的能力,進(jìn)而加強(qiáng)了我們對知識認(rèn)識的實(shí)踐度,鞏固了我們的理論知識,深化了對知識的認(rèn)識,并為走向社會打下一個良好的基礎(chǔ)。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 造林密度(共28張PPT)
- 皮膚的色斑與美白祛斑化妝品2022優(yōu)秀文檔
- Module+3+My+schoolUnit+3+Language+in+use(共21張PPT)
- 三年級語文上冊 鹿柴 3課件 人教
- 根管長度的確定方法---電測法
- 看云識天氣 (4)(教育精品)
- 人教部編版二年級上冊語文課件坐井觀天
- 人教部編版二年級《媽媽睡了》課件1
- 護(hù)士執(zhí)照模擬考試 專業(yè)務(wù)實(shí)
- 焦?fàn)t-焦炭的生產(chǎn)
- 集團(tuán)財(cái)務(wù)軟件解決方案
- 蘇教版五上8成語故事2(教育精品)
- 七八九乘法口決求商
- 四年級英語下冊Unit3BankorBeach
- 土壤重金屬污染修復(fù)課件