學生成績管理系統(tǒng)設(shè)計
《學生成績管理系統(tǒng)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《學生成績管理系統(tǒng)設(shè)計(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 沈陽師范大學科信軟件學院 小學期課程設(shè)計報告 課題名稱: 學生成績管理系統(tǒng)設(shè)計 姓 名: 楊先勇 學 號: 12008065 專業(yè)年級: 2012級軟件工程2班 指導教師: 張麗娜 2014年6月26日 課程設(shè)計報告:學生成績管理系統(tǒng)設(shè)計 編程語言:C 一、 系統(tǒng)需求 學生成績信息包括:學期,學號,班
2、別,姓名,四門課程成績(語文、數(shù)學、英語和計算機)等。 主要功能: (1) 能按學期、按班級完成對學生成績的錄入、修改 (2) 能按班級統(tǒng)計學生的成績,求學生的總分及平均分 (3) 能查詢學生成績,不及格科目及學生名單 (4) 能按班級輸出學生的成績單 二、 要求 使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作 三、 設(shè)計目的 (1) 能完成對學生成績的錄入 (2) 能按班級統(tǒng)計學生的成績,求學生的總分及平均分,排序 (3) 能按班級,學期輸出學生的成績單和不及格科目及學生名單 (4) 能查詢單個學生成績 (5) 能修改單個學生信息 四
3、、 結(jié)構(gòu)圖 修改單個學生信息 修 改 void monify 結(jié) 構(gòu) 圖 班級int classes 學期int term 信息錄入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)計學生的成
4、績,求學生的總分及平均分,排序
成績輸出void print
能按班級,學期輸出學生成績單和不及格科目及學生名單
結(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請輸入學生的學號:");
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]); 7、
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];//算總 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 請輸入要查找學生的學號:");
sca 9、nf("%d",&number);
printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\n");
for(i=0;i 10、],stu[i].sum,stu[i].average); /*輸出學生信息*/
}
else
printf("沒找到該學生的信息\n");
system("pause");
}
void print() /*按學期、按班級輸出成績函數(shù)*/
{
system("cls");
char a;
printf("1、按學期輸出\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()//按學期
{
int i,m;
printf("請輸入學期:\n");
scanf("%d",&m);
printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 總分 平均分\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); /*輸出學生信息*/
}
system("pause");system("cls");print();
}
void print2()//按班級
{
int i,j,k;
printf("請輸入班級:\n");
scanf("%d",&k);
printf("學號\t姓名 13、\t班級 語文 數(shù)學 英語 計算機 總分 平均分\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); /*輸出學生信息*/
}
}
printf("輸出不及格學生名單及成績:\n");
printf("學號\t姓名\t班級 語文 數(shù)學 英語 計算機 \n");
for(i=0;i 15、 /*輸出不及格學生名單及成績*/
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請輸入要修改信息的學生學號:");
scanf("\t\t\t%d",&number);
for(i=0;i 17、anf("%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請輸入學生的語文成績:" 18、);
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("沒找 19、到該學生的信息\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);
/*輸出學生信息*/
system("pause");system("cls");print();
}
void zcd()
{
int n=0;
char m;
system("cls");/*清屏*/
printf(" 22、按任一鍵進入主菜單\n "); /*按任意鍵進入主菜單*/
printf("********************************************************************************\n");
printf("\t\t沈陽師范大學軟件學院歡迎您\n");
printf("\n\t\t\t--------- 歡迎您使用學生管理系統(tǒng)\n\n\t\t\t\t\t-----------\n");
printf("*************************************ME 23、NU***************************************\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\ 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)試與運行
主菜單
成績錄入
統(tǒng)計排序 輸出成績
學號 姓名 班級 語文 數(shù)學 英語 計算機 總分 平均分
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
查找
修改
請輸入要修改信息的學生學號:02
請輸入修改后的學生的信息
請輸入學生的學期:2
請輸入學生的學號:34
請輸入學生的班級:3
請輸入學生的姓名:yangyong
請輸入學生的語文成績:45
請輸入學生的數(shù)學成績:56
請輸入學生的英語成績:78
請輸入學生的計算機成績:66
30、
七、 設(shè)計總結(jié)
經(jīng)過幾周的課程設(shè)計,我學到了很多東西:
①鞏固和加深了對編程的理解,提高綜合運用本課程所學知識的能力。
②培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。
③經(jīng)過實際編譯系統(tǒng)的分析設(shè)計、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計方法。
④能夠按要求編寫課程設(shè)計報告書,能正確闡述設(shè)計和實驗結(jié)果,正確繪制系統(tǒng)和程序框圖。
課程設(shè)計是把我們所學的理論知識進行系統(tǒng)的總結(jié)并應(yīng)用于實踐的良好機會,有利于加強我們用知識理論來分析實際問題的能力,進而加強了我們對知識認識的實踐度,鞏固了我們的理論知識,深化了對知識的認識,并為走向社會打下一個良好的基礎(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年防凍教育安全教育班會全文PPT
- 2025年寒假安全教育班會全文PPT
- 初中2025年冬季防溺水安全教育全文PPT
- 初中臘八節(jié)2024年專題PPT
- 主播直播培訓提升人氣的方法正確的直播方式如何留住游客
- XX地區(qū)機關(guān)工委2024年度年終黨建工作總結(jié)述職匯報
- 心肺復(fù)蘇培訓(心臟驟停的臨床表現(xiàn)與診斷)
- 我的大學生活介紹
- XX單位2024年終專題組織生活會理論學習理論學習強黨性凝心聚力建新功
- 2024年XX單位個人述職述廉報告
- 一文解讀2025中央經(jīng)濟工作會議精神(使社會信心有效提振經(jīng)濟明顯回升)
- 2025職業(yè)生涯規(guī)劃報告自我評估職業(yè)探索目標設(shè)定發(fā)展策略
- 2024年度XX縣縣委書記個人述職報告及2025年工作計劃
- 寒假計劃中學生寒假計劃安排表(規(guī)劃好寒假的每個階段)
- 中央經(jīng)濟工作會議九大看點學思想強黨性重實踐建新功