C語言程序設計學生成績管理系統(tǒng)實驗報告-2_第1頁
C語言程序設計學生成績管理系統(tǒng)實驗報告-2_第2頁
C語言程序設計學生成績管理系統(tǒng)實驗報告-2_第3頁
C語言程序設計學生成績管理系統(tǒng)實驗報告-2_第4頁
C語言程序設計學生成績管理系統(tǒng)實驗報告-2_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、福建師范大學人民武裝學院 C語言程序設計報告書設計名稱:學生成績管理系統(tǒng)專業(yè):軟件工程指導老師:陳琳姓名: 黃強 學號: 6 2013-415 一、實驗目的1.在編輯應用程序過程中,逐步加深對C語言編程的理解;2.加強實踐的能力,動手能力,同時進一步對所學的知識進行鞏固; 3.培養(yǎng)初步編程的能力,為以后的學習奠定基礎(chǔ)。二、實驗內(nèi)容運用所學的C語言知識編輯一個應用程序:學習成績管理系統(tǒng)三系統(tǒng)軟件環(huán)境:本程序主要運行在: Visual C+ 6.0 Turbo C/C+ 3.0四課程設計題目:學生成績管理系統(tǒng)程序說明:有N個學生,每個學生的數(shù)據(jù)包含學號(不重復)姓名,性別,課程號,課程名,學分和課

2、程的三種得分。試設計一學生成績 管理系統(tǒng),使之能提供以下功能:(1)主菜單學生成績管理系統(tǒng)1. 錄入2. 查詢3. 刪除4. 排序5. 保存退出6. 退出(2)各菜單項功能錄入:輸入學生的學號、姓名性別,課程號,課程名,學分和課程的三種得分 成績查詢:A.基本信息查詢*按學號查詢學生記錄。*按名字查詢學生紀錄。B.成績查詢*按學號查詢學生記錄。*按名字查詢學生紀錄。紀錄刪除*按輸入的學號刪除排序A. 綜合成績升序。B. 綜合成績降序。C. 學分降序。D. 學分升序。由主函數(shù)登陸五數(shù)據(jù)結(jié)構(gòu)設計描述:菜單函數(shù)Input函數(shù) select函數(shù) del函數(shù) paixu函數(shù) 保存函數(shù) 退出系統(tǒng) 六結(jié)構(gòu)體

3、的定義和作用struct student /定義學生信息 int no; / 學號 char name20; /姓名 char sex4; /性別 int num; /課程號 char scn20; /課程名 int score; /學分 float score1; /成績1 float score2; /成績2 float score3; /成績3 float ave; /實得學分 float sum; /總分七系統(tǒng)各函數(shù)的功能,、相互調(diào)用關(guān)系1.函數(shù)實現(xiàn)功能說明:(1)menu函數(shù)是定義一個菜單函數(shù),其功能在于輸出菜單界面供使用者選擇。(2)input函數(shù)是定義用于輸入學生信息。(3)se

4、lect 函數(shù)是定義用于查詢學生信息。包括學號、姓名及各科成績。(4)del函數(shù)按輸入的學號刪除(5) paixu函數(shù)設置新菜單,并調(diào)用四個不同排序輸出函數(shù)。(6) 保存函數(shù) 保存信息。八心得體會 C語言是一種較為基礎(chǔ)和普遍的編程語言,應用相當廣泛,這次課程設計的要求與C語言的廣泛應用相比較還有很大的差距。我們對于C語言的理解和使用還處在一個初級的階段,我們要想掌握它,要學習的還很多,同時要懂得創(chuàng)新,許多的編程方法都是人們一步一步總結(jié)出來的,我想我們也要努力拓展自己的思維,努力去尋求新的方法,以創(chuàng)造出更為完善的應用程序。 九程序:#include #include /*清屏*/ #includ

5、e /*顯示目錄*/ #include #define n 10void zhjx();void menu();void input();void check();void fun();void fun2();void fun3();void fun4();void del();void paixu();void zhsx();void zhjx();void xfjx();void xfsx();void save();struct student /定義學生信息 int no; / 學號 char name20; /姓名 char sex4; /性別 int num; /課程號 char

6、scn20; /課程名 int score; /學分 float score1; /成績1 float score2; /成績2 float score3; /成績3 float ave; /實得學分 float sum; /總分; struct student stun,*p,t;int now=0,i,j,k,l; char ch;void main() int h,flag1,flag2; char name20=hq,password10=111; char person20,password110;printf (tt * 歡迎進入學生成績管理系統(tǒng)!*nn);printf (ttt

7、用 戶 登 錄nn); for(h=0;h!=5;) printf(tttt 用戶名:); gets(person); flag1=strcmp(person,name); printf(tttt 密碼:); gets(password1); flag2=strcmp(password,password1); if(flag1=0 & flag2=0) printf(tttt 登陸成功!nn); menu(); break; else printf (ttt 用戶名或密碼錯誤!nn);printf (ttt 請注意:您還剩%d次機會!nn,4-h); h+;if (h=5) printf (對

8、不起,您輸入的用戶名或密碼有誤,已被強制退出。n); void menu() int as; char ch; do printf(nnnntt*&*&*&*&*&*&*&*&*&*); start: printf(nnnnttt 歡迎使用學生成績管理系統(tǒng)n); printf(nnnntt*按任意鍵繼續(xù)*); ch=getch(); while(!ch); system(cls); /*以下為功能選擇模塊*/ doprintf(學生管理系統(tǒng)n);printf(tt);printf(1-學生成績錄入ntt);printf(2-查詢ntt);printf(3-刪除學生記錄ntt);printf(4

9、-排序ntt);printf(5-保存退出ntt);printf(6-退出ntt);printf(tttt選擇功能選項(輸入所選功能前的數(shù)字):); scanf(%d,&as); switch(as) case 1:input();break;case 2:check();break;case 3:del();break;case 4:paixu();break;case 5:save();break;case 6:system(exit);exit(0);break; default:system(cls); goto start; while(1); void input() /*學生信息

10、錄入模塊*/ int i=0; char ch; do printf(tttt1.錄入學生信息n輸入第%d個學生的信息n,i+1); printf(n輸入8位的學生學號:); scanf(%u,&stui.no); fflush(stdin); printf(n輸入學生姓名:); fflush(stdin); gets(); printf(n輸入學生性別:); fflush(stdin); gets(stui.sex); fflush(stdin); printf(n輸入學生課程號:); scanf(%d,&stui.num); fflush(stdin); printf(n

11、輸入學生課程名:); gets(stul.scn); ;fflush(stdin); printf(n輸入課程學分:); scanf(%d,&stui.score); printf(n輸入學生平時成績:); fflush(stdin); scanf(%f,&stui.score1); printf(n輸入學生實驗成績:); fflush(stdin); scanf(%f,&stui.score2); printf(n輸入學生卷面成績:); fflush(stdin); scanf(%f,&stui.score3); printf(nn); if(stui.score20) stui.sum=s

12、tui.score1*0.15+stui.score2*0.15+stui.score3*0.7; else stui.sum=stui.score1*0.3+stui.score3*0.7; k=stui.sum/10; switch(k) case 10:(float)stui.ave=(float)stui.score;break; case 9:(float)stui.ave=(float)stui.score;break; case 8:(float)stui.ave=(float)stui.score*0.8;break;case 7:(float)stui.ave=(float)

13、stui.score*0.7;break;case 6:(float)stui.ave=(float)stui.score*0.6;break;default:(float)stui.ave=0.0;i+; now=i; printf(是否繼續(xù)輸入?(Y/N); fflush(stdin); ch=getch(); system(cls); while(ch!=n&ch!=N); system(cls); void check() /查詢printf(查 詢n);printf(tt*學生基本信息查詢*n);printf(tt);printf(1-按學號查詢ntt);printf(2-按姓名查詢

14、ntt);printf(*學生成績查詢*n);printf(tt);printf(3-按學號查詢ntt);printf(4-按姓名查詢ntt);printf(0-返回主菜單ntt);printf(請選擇:);scanf(%d,&i);switch(i)case 0:menu();break; /調(diào)用主菜單函數(shù),表示返回主菜單case 1:fun();break; /調(diào)用函數(shù)fun1,表示按學號查詢學生基本信息case 2:fun2();break; /調(diào)用函數(shù)fun2,表示按姓名查詢學生基本信息case 3:fun3();break; /調(diào)用函數(shù)fun3,表示按學號查詢學生成績case 4:f

15、un4();break; /調(diào)用函數(shù)fun4,表示按姓名查詢學生成績;void fun() /按學號查詢1int i,j;printf(請輸入要查詢同學的學號:);scanf(%d,&j);for(i=0;inow;i+) /從第一名學生開始if(stui.no=j) /查找與輸入學號相同的學號并輸出printf(學號:%dn,stui.no);printf(姓名:%sn,);printf(性別:%sn,stui.sex); check(); ;void fun2() /按姓名查詢1char name20;printf(請輸入要查詢同學的姓名:);scanf(%s,&name

16、);for(i=0;inow;i+)if(strcmp(,name)=0)printf(學號:%dn,stui.no);printf(姓名:%sn,);printf(性別:%sn,stui.sex); ;void fun3() /按學號查詢2int i;printf(請輸入要查詢同學的學號:);scanf(%d,&j);for(i=0;inow;i+)if(stui.no=j) printf(平時成績%fn,stui.score1); printf(實驗成績:%fn,stui.score2); printf(卷面成績:%fn,stui.score3); pr

17、intf(總分:%fn,stui.sum);printf(學分:%fn,stui.ave); check();void fun4()/按姓名查詢2int i;char name20;printf(請輸入要查詢同學的姓名:);scanf(%s,&name);for(i=0;inow;i+)if(strcmp(,name)=0) printf(平時成績%fn,stui.score1); printf(實驗成績:%fn,stui.score2); printf(卷面成績:%fn,stui.score3); printf(總分:%fn,stui.sum);printf(學分:%fn,

18、stui.ave); check();void del() /*刪除數(shù)據(jù)函數(shù)*/ unsigned long inum; int i; printf(輸入要刪除學生的學號:); fflush(stdin); scanf(%u,&inum); for(i=0;inow;i+) if(stui.no=inum) if(i=now)now-=1; else stui=stunow-1; now-=1; break; system(cls); menu();void paixu() /排序 int i;printf(排 序n);printf(tt);printf(1-按綜合成績升序ntt);print

19、f(2-按綜合成績降序ntt);printf(3-按實得學分升序ntt);printf(4-按實得學分降序ntt);printf(0-返回主菜單ntt);printf(請選擇:);scanf(%d,&i);switch(i)case 0:menu();break;case 1:zhsx();break;case 2:zhjx();break;case 3:xfsx();break;case 4:xfjx();break;void zhsx()/綜合成績升序 int i,j;for(i=0;ii;j-) if(stuj.sumstuj-1.sum) t=stuj;stuj=stuj-1;stuj

20、-1=t; for(i=0;inow;i+)printf(學號:%d,stui.no);printf(姓名:%s,);printf(性別:%s,stui.sex); printf(平時成績%f,stui.score1); printf(實驗成績:%f,stui.score2); printf(卷面成績:%f,stui.score3); printf(總分:%fn,stui.sum);paixu();void zhjx()/綜合成績降序 int i,j;for(i=0;ii;j-) if(stuj.sumstuj-1.sum) t=stuj;stuj=stuj-1;stuj-1

21、=t; for(i=0;inow;i+)printf(學號:%d,stui.no);printf(姓名:%s,);printf(性別:%s,stui.sex); printf(平時成績%f,stui.score1); printf(實驗成績:%f,stui.score2); printf(卷面成績:%f,stui.score3); printf(總分:%fn,stui.sum);paixu();void xfjx()/學分降序 int i,j;for(i=0;ii;j-) if(stuj.avestuj-1.ave) t=stuj;stuj=stuj-1;stuj-1=t; for(i=0;inow;i+)printf(學號:%dn,stui.no);printf(姓名:%s,);printf(性別:%s,stui.sex); printf(平時成績%f,stui.score1); printf(實驗成績:%f,stui.score2); printf(卷面成績:%f,stui.score3); printf(總分:%fn,stui.sum);paixu();void xfsx()/學分升序 int i,j;for(i=0;ii;j-) if(stuj.avestuj-1.ave) t=stuj;stuj=stu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論