下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一 . 應(yīng)用程序名稱:Student.exe二 . 應(yīng)用程序的主題、設(shè)計(jì)目的:應(yīng)用程序的主題是管理好學(xué)生成績(jī),設(shè)計(jì)目的是進(jìn)一步掌握和實(shí)踐C語(yǔ)言編程。三、應(yīng)用程序簡(jiǎn)介:1. 基本結(jié)構(gòu):學(xué)生成績(jī)管理系統(tǒng)界面增加學(xué)生修改學(xué)生刪除學(xué)生查詢學(xué)生總分值各科目各科目成績(jī)信息成績(jī)信息成績(jī)信息成績(jī)信息排序優(yōu)秀學(xué)生不及格學(xué)生存儲(chǔ)讀取讀存儲(chǔ)學(xué)生成績(jī)信息取存儲(chǔ)退出2. 基本內(nèi)容:編寫(xiě)一個(gè)成績(jī)管理程序。每個(gè)學(xué)生的信息包含學(xué)生學(xué)號(hào)、姓名、性別和6 門(mén)課程成績(jī)。(1) 學(xué)生信息創(chuàng)建 ( 順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)都可 ) ;(2) 各個(gè)信息的輸入與輸出;(3) 按總成績(jī)實(shí)現(xiàn)升序排列;(4) 按學(xué)號(hào)查詢成績(jī);(5) 輸出各門(mén)課程成績(jī)
2、高于 90 和低于 60 的學(xué)生的姓名及該門(mén)課程的成績(jī)。3. 運(yùn)行環(huán)境:本程序使用 Visual C+ 2008 編譯器制作,在 windows 7 64bit 系統(tǒng)中成功運(yùn)行, windows XP 也可正常運(yùn)行。4. 測(cè)試結(jié)果:經(jīng)過(guò)測(cè)試,所要求的內(nèi)容基本上達(dá)到,個(gè)人認(rèn)為比較好的地方是篩選和排序,不足之處是不明白存儲(chǔ)方面的知識(shí),以及程序流程的認(rèn)識(shí)。5. 實(shí)驗(yàn)心得:參考了許多網(wǎng)上資料,存儲(chǔ)方面的知識(shí)依然不懂,部分代碼都不是自己寫(xiě)的,而且看不太懂,所以程序流程自己都不太清楚,但是,經(jīng)過(guò)老師驗(yàn)收代碼,說(shuō)了很多問(wèn)題之后,明白了那些不知道也不明白的問(wèn)題, 學(xué)到了很多東西 , 更好的理解了語(yǔ)言的編程,
3、明白了看代碼與寫(xiě)代碼的實(shí)際區(qū)別,以后要好好努力。附錄:/ 學(xué)生信息管理 .cpp : 定義控制臺(tái) 應(yīng)用程序的入口點(diǎn)。/#include stdio.h#include stdafx.h#include string.h#include stdlib.h/* 定義學(xué)生結(jié)構(gòu)體*/struct Studentchar ID20,Name20,Sex20;float Chinese/*語(yǔ)文*/;float Math/*數(shù)學(xué) */;float English/*英語(yǔ)*/;float Physics/*物理 */;float Chemical/*化學(xué)*/;float Biological/*生物 */;f
4、loat Add/*總分值*/;/* 聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/struct Student students100;int num=0;/* 求總成績(jī)值*/float Add(struct Student stu)return stu.Chinese+stu.Math+stu.English+stu.Physics+stu.Chemical+stu.Biological;/* 通過(guò)學(xué)號(hào)返回?cái)?shù)組下標(biāo)*/int Student_SearchByIndex(char id)int i;for (i=0;inum;i+)if (strcmp(studentsi.ID,id)=0)return i;r
5、eturn -1;/* 顯示單條學(xué) 生記錄 */void Student_DisplaySingle(int index)printf(%8s%6s%6s%8s%8s%8s%8s%8s%8s%8sn,學(xué)號(hào) , 姓名 , 性別 , 語(yǔ)文 , 數(shù)學(xué) , 英語(yǔ), 物理 , 化學(xué), 生物 , 總分);printf(-n);printf(%8s%6s%6s%8.1f%8.1f%8.1f%8.1f%8.1f%8.1fn,studentsindex.ID,studentsindex.Name,studentsindex.Sex,studentsindex.Chinese,studentsindex.Math
6、,studentsindex.English,studentsindex.Physics,studentsindex.Chemical,studentsindex.Biological,studentsindex.Add);/* 插入學(xué)生信息 */void Student_Insert()while(1)printf(請(qǐng)輸入學(xué)號(hào) :);scanf(%s,&studentsnum.ID);getchar();printf(請(qǐng)輸入姓名 :);scanf(%s,&studentsnum.Name);getchar();printf(請(qǐng)輸入性別:);scanf(%s,&studentsnum.Sex)
7、;getchar();printf(請(qǐng)輸入語(yǔ)文成績(jī):);scanf(%f,&studentsnum.Chinese);getchar();printf(請(qǐng)輸入數(shù)學(xué)成績(jī):);scanf(%f,&studentsnum.Math);getchar();printf(請(qǐng)輸入英語(yǔ)成績(jī):);scanf(%f,&studentsnum.English);getchar();printf(請(qǐng)輸入物理成 績(jī):);scanf(%f,&studentsnum.Physics);getchar();printf(請(qǐng)輸入化學(xué)成績(jī):);scanf(%f,&studentsnum.Chemical);getchar();
8、printf(請(qǐng)輸入生物成 績(jī):);scanf(%f,&studentsnum.Biological);getchar();studentsnum.Add=Add(studentsnum);num+;printf(是否繼續(xù) ?(y/n);if (getchar()=n)system(cls);break;/* 修改學(xué)生信息 */void Student_Modify()while(1)char id20;int index;printf(請(qǐng)輸入要修改的 學(xué)生的學(xué)號(hào) :);scanf(%s,&id);getchar();index=Student_SearchByIndex(id);if (in
9、dex=-1)printf(學(xué)生不存在 !n);elseprintf(你要修改的 學(xué)生信息 為 :n);Student_DisplaySingle(index);printf(-請(qǐng)輸入新值 -n);printf(請(qǐng)輸 入學(xué)號(hào) :);scanf(%s,&studentsindex.ID);getchar();printf(請(qǐng)輸 入姓名 :);scanf(%s,&studentsindex.Name);getchar();printf(請(qǐng)輸入性別:);scanf(%s,&studentsindex.Sex);getchar();printf(請(qǐng)輸 入語(yǔ)文成績(jī):);scanf(%f,&student
10、sindex.Chinese);getchar();printf(請(qǐng)輸 入數(shù)學(xué)成績(jī):);scanf(%f,&studentsindex.Math);getchar();printf(請(qǐng)輸 入英語(yǔ)成績(jī):);scanf(%f,&studentsindex.English);getchar();printf(請(qǐng)輸 入物理成 績(jī):);scanf(%f,&studentsindex.Physics);getchar();printf(請(qǐng)輸入化學(xué)成績(jī):);scanf(%f,&studentsindex.Chemical);getchar();printf(請(qǐng)輸入生物成 績(jī):);scanf(%f,&stud
11、entsindex.Biological);getchar();studentsindex.Add=Add(studentsindex);printf(是否繼續(xù) ?(y/n);if (getchar()=n)system(cls);break;/* 刪除學(xué)生信息 */void Student_Delete()int i;while(1)char id20;int index;printf(請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào) :);scanf(%s,&id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(學(xué)生不存在 !n);el
12、seprintf(你要?jiǎng)h除的學(xué)生信息 為 :n);Student_DisplaySingle(index);printf(是否 真的要?jiǎng)h除?(y/n);if (getchar()=y)for (i=index;inum-1;i+)studentsi=studentsi+1;num-;getchar();printf(是否繼續(xù) ?(y/n);if (getchar()=n) system(cls); break;/* 按學(xué)號(hào)查詢 */void Student_Select()while(1)char id20;int index;printf(請(qǐng)輸入要查詢的學(xué)生的學(xué)號(hào) :);scanf(%s,&
13、id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(學(xué)生不存在 !n);elseprintf(你要查詢的學(xué)生信息 為 :n);Student_DisplaySingle(index);printf(是否繼續(xù) ?(y/n);if (getchar()=n) system(cls); break;/* 按總分值排序 */void Student_SortByAdd()int i,j;struct Student tmp;for (i=0;inum;i+)for (j=1;jnum-i;j+)if (studentsj-
14、1.Addstudentsj.Add)tmp=studentsj-1;studentsj-1=studentsj;studentsj=tmp;/* 顯示學(xué)生信息 */void Student_Display()int i;printf(%8s%6s%6s%8s%8s%8s%8s%8s%8s%8sn,學(xué)號(hào) ,姓名 ,性別,語(yǔ)文,數(shù)學(xué) ,英語(yǔ),物理 ,化學(xué),生物 ,總分);printf(-n);for (i=0;inum;i+)printf(%8s%6s%6s%8.1f%8.1f%8.1f%8.1f%8.1f%8.1f%8.1fn,studentsi.ID,studentsi.Name,stude
15、ntsi.Sex,studentsi.Chinese,studentsi.Math,studentsi.English,studentsi.Physics,studentsi.Chemical,studentsi.Biological,studentsi.Add);system(pause);system(cls);/* 選出優(yōu)秀學(xué)生信息 */void Student_90A()int i;printf(%10s%10s%10s%10s%10sn,科目 ,學(xué)號(hào) ,姓名 ,性別,分?jǐn)?shù));printf(-n);for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn
16、,語(yǔ)文,studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Chinese);printf(n);void Student_90B()int i;for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn,數(shù)學(xué),studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Math);printf(n);void Student_90C()int i;for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn,英語(yǔ),studentsi.ID,
17、studentsi.Name,studentsi.Sex,studentsi.English);printf(n);void Student_90D()int i;for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn,物理,studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Physics);printf(n);void Student_90E()int i;for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn,化學(xué),studentsi.ID,studentsi.Name
18、,studentsi.Sex,studentsi.Chemical);printf(n);void Student_90F()int i;for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn,生物,studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Biological);printf(n);/* 選出不及格 學(xué)生信息 */void Student_60A()int i;printf(%10s%10s%10s%10s%10sn,科目 ,學(xué)號(hào) ,姓名 ,性別,分?jǐn)?shù));printf(-n);for (i=0;i
19、num;i+)if (studentsi.Chinese60)printf(%10s%10s%10s%10s%10.1fn,語(yǔ)文,studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Chinese);printf(n);void Student_60B()int i;for (i=0;inum;i+)if (studentsi.Math60)printf(%10s%10s%10s%10s%10.1fn,數(shù)學(xué),studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Math);printf(n);
20、void Student_60C()int i;for (i=0;inum;i+)if (studentsi.English60)printf(%10s%10s%10s%10s%10.1fn,英語(yǔ),studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.English);printf(n);void Student_60D()int i;for (i=0;inum;i+)if (studentsi.Physics60)printf(%10s%10s%10s%10s%10.1fn,物理,studentsi.ID,studentsi.Name,stu
21、dentsi.Sex,studentsi.Physics);printf(n);void Student_60E()int i;for (i=0;inum;i+)if (studentsi.Chemical60)printf(%10s%10s%10s%10s%10.1fn,化學(xué),studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Chemical);printf(n);void Student_60F()int i;for (i=0;inum;i+)if (studentsi.Biological60)printf(%10s%10s%10s%
22、10s%10.1fn,生物,studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Biological);printf(n);/* 將學(xué)生信息 從文件讀出*/void IO_ReadInfo()FILE *fp;int i;if (fp=fopen(Database.txt,rb)=NULL)printf(不能打 開(kāi)文件 !n);return;if (fread(&num,sizeof(int),1,fp)!=1)num=-1;elsefor(i=0;inum;i+)fread(&studentsi,sizeof(struct Student)
23、,1,fp);fclose(fp);/* 將學(xué)生信息 寫(xiě)入文件 */void IO_WriteInfo()FILE *fp;int i;if (fp=fopen(Database.txt,wb)=NULL)printf(不能打 開(kāi)文件 !n);return;if (fwrite(&num,sizeof(int),1,fp)!=1)printf(寫(xiě)入文件 錯(cuò)誤 !n);for (i=0;inum;i+)if (fwrite(&studentsi,sizeof(struct Student),1,fp)!=1)printf(寫(xiě)入文件 錯(cuò)誤 !n);fclose(fp);/* 主程序 */int main()int choice;IO_ReadInfo();while(1)/* 主菜單*/printf(ntt-學(xué)生成績(jī)管理系 統(tǒng) -nn);pri
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年健康檔案工作計(jì)劃
- 2024-2030年中國(guó)農(nóng)業(yè)物聯(lián)網(wǎng)項(xiàng)目可行性研究報(bào)告
- 2024-2030年中國(guó)公路工程承包行業(yè)項(xiàng)目管理模式分析及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 2024年廣告發(fā)布保密協(xié)議
- 2024年地球衛(wèi)星數(shù)據(jù)共享協(xié)議
- 2024年臨時(shí)建筑拆除工程質(zhì)量保證協(xié)議
- 2024年工程環(huán)境保護(hù)合同
- 2024年工程承包合同標(biāo)的及工程范圍
- 2024年室內(nèi)裝修采購(gòu)合同:工程使用
- 2024年平房及附屬物買(mǎi)賣協(xié)議
- 四川省南充市語(yǔ)文小升初試卷及解答參考(2024-2025學(xué)年)
- 教育心理學(xué)-形考作業(yè)1(第一至三章)-國(guó)開(kāi)-參考資料
- 某地產(chǎn)集團(tuán)有限公司檔案歸檔范圍、保管期限及分類表
- 2024版CSCO淋巴瘤診療指南解讀
- 云計(jì)算導(dǎo)論(微課版) 課件 項(xiàng)目9 構(gòu)建高可用云應(yīng)用
- 2024年陜西省中考英語(yǔ)試題及解析版
- GB/T 25356-2024機(jī)場(chǎng)道面除冰防冰液
- 9《復(fù)活(節(jié)選)》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 2024-2030年中國(guó)維生素原料藥市場(chǎng)產(chǎn)銷需求與前景趨勢(shì)預(yù)測(cè)報(bào)告
- 《藥品管理法》知識(shí)考試題庫(kù)300題(含答案)
- 期中測(cè)試卷(1-4單元)試題-2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論