




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一 . 應用程序名稱:Student.exe二 . 應用程序的主題、設計目的:應用程序的主題是管理好學生成績,設計目的是進一步掌握和實踐C語言編程。三、應用程序簡介:1. 基本結構:學生成績管理系統界面增加學生修改學生刪除學生查詢學生總分值各科目各科目成績信息成績信息成績信息成績信息排序優秀學生不及格學生存儲讀取讀存儲學生成績信息取存儲退出2. 基本內容:編寫一個成績管理程序。每個學生的信息包含學生學號、姓名、性別和6 門課程成績。(1) 學生信息創建 ( 順序存儲和鏈式存儲都可 ) ;(2) 各個信息的輸入與輸出;(3) 按總成績實現升序排列;(4) 按學號查詢成績;(5) 輸出各門課程成績
2、高于 90 和低于 60 的學生的姓名及該門課程的成績。3. 運行環境:本程序使用 Visual C+ 2008 編譯器制作,在 windows 7 64bit 系統中成功運行, windows XP 也可正常運行。4. 測試結果:經過測試,所要求的內容基本上達到,個人認為比較好的地方是篩選和排序,不足之處是不明白存儲方面的知識,以及程序流程的認識。5. 實驗心得:參考了許多網上資料,存儲方面的知識依然不懂,部分代碼都不是自己寫的,而且看不太懂,所以程序流程自己都不太清楚,但是,經過老師驗收代碼,說了很多問題之后,明白了那些不知道也不明白的問題, 學到了很多東西 , 更好的理解了語言的編程,
3、明白了看代碼與寫代碼的實際區別,以后要好好努力。附錄:/ 學生信息管理 .cpp : 定義控制臺 應用程序的入口點。/#include stdio.h#include stdafx.h#include string.h#include stdlib.h/* 定義學生結構體*/struct Studentchar ID20,Name20,Sex20;float Chinese/*語文*/;float Math/*數學 */;float English/*英語*/;float Physics/*物理 */;float Chemical/*化學*/;float Biological/*生物 */;f
4、loat Add/*總分值*/;/* 聲明學生數組及學生數量*/struct Student students100;int num=0;/* 求總成績值*/float Add(struct Student stu)return stu.Chinese+stu.Math+stu.English+stu.Physics+stu.Chemical+stu.Biological;/* 通過學號返回數組下標*/int Student_SearchByIndex(char id)int i;for (i=0;inum;i+)if (strcmp(studentsi.ID,id)=0)return i;r
5、eturn -1;/* 顯示單條學 生記錄 */void Student_DisplaySingle(int index)printf(%8s%6s%6s%8s%8s%8s%8s%8s%8s%8sn,學號 , 姓名 , 性別 , 語文 , 數學 , 英語, 物理 , 化學, 生物 , 總分);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);/* 插入學生信息 */void Student_Insert()while(1)printf(請輸入學號 :);scanf(%s,&studentsnum.ID);getchar();printf(請輸入姓名 :);scanf(%s,&studentsnum.Name);getchar();printf(請輸入性別:);scanf(%s,&studentsnum.Sex)
7、;getchar();printf(請輸入語文成績:);scanf(%f,&studentsnum.Chinese);getchar();printf(請輸入數學成績:);scanf(%f,&studentsnum.Math);getchar();printf(請輸入英語成績:);scanf(%f,&studentsnum.English);getchar();printf(請輸入物理成 績:);scanf(%f,&studentsnum.Physics);getchar();printf(請輸入化學成績:);scanf(%f,&studentsnum.Chemical);getchar();
8、printf(請輸入生物成 績:);scanf(%f,&studentsnum.Biological);getchar();studentsnum.Add=Add(studentsnum);num+;printf(是否繼續 ?(y/n);if (getchar()=n)system(cls);break;/* 修改學生信息 */void Student_Modify()while(1)char id20;int index;printf(請輸入要修改的 學生的學號 :);scanf(%s,&id);getchar();index=Student_SearchByIndex(id);if (in
9、dex=-1)printf(學生不存在 !n);elseprintf(你要修改的 學生信息 為 :n);Student_DisplaySingle(index);printf(-請輸入新值 -n);printf(請輸 入學號 :);scanf(%s,&studentsindex.ID);getchar();printf(請輸 入姓名 :);scanf(%s,&studentsindex.Name);getchar();printf(請輸入性別:);scanf(%s,&studentsindex.Sex);getchar();printf(請輸 入語文成績:);scanf(%f,&student
10、sindex.Chinese);getchar();printf(請輸 入數學成績:);scanf(%f,&studentsindex.Math);getchar();printf(請輸 入英語成績:);scanf(%f,&studentsindex.English);getchar();printf(請輸 入物理成 績:);scanf(%f,&studentsindex.Physics);getchar();printf(請輸入化學成績:);scanf(%f,&studentsindex.Chemical);getchar();printf(請輸入生物成 績:);scanf(%f,&stud
11、entsindex.Biological);getchar();studentsindex.Add=Add(studentsindex);printf(是否繼續 ?(y/n);if (getchar()=n)system(cls);break;/* 刪除學生信息 */void Student_Delete()int i;while(1)char id20;int index;printf(請輸入要刪除的學生的學號 :);scanf(%s,&id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(學生不存在 !n);el
12、seprintf(你要刪除的學生信息 為 :n);Student_DisplaySingle(index);printf(是否 真的要刪除?(y/n);if (getchar()=y)for (i=index;inum-1;i+)studentsi=studentsi+1;num-;getchar();printf(是否繼續 ?(y/n);if (getchar()=n) system(cls); break;/* 按學號查詢 */void Student_Select()while(1)char id20;int index;printf(請輸入要查詢的學生的學號 :);scanf(%s,&
13、id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(學生不存在 !n);elseprintf(你要查詢的學生信息 為 :n);Student_DisplaySingle(index);printf(是否繼續 ?(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;/* 顯示學生信息 */void Student_Display()int i;printf(%8s%6s%6s%8s%8s%8s%8s%8s%8s%8sn,學號 ,姓名 ,性別,語文,數學 ,英語,物理 ,化學,生物 ,總分);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);/* 選出優秀學生信息 */void Student_90A()int i;printf(%10s%10s%10s%10s%10sn,科目 ,學號 ,姓名 ,性別,分數);printf(-n);for (i=0;i=90)printf(%10s%10s%10s%10s%10.1fn
16、,語文,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,數學,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,英語,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,化學,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);/* 選出不及格 學生信息 */void Student_60A()int i;printf(%10s%10s%10s%10s%10sn,科目 ,學號 ,姓名 ,性別,分數);printf(-n);for (i=0;i
19、num;i+)if (studentsi.Chinese60)printf(%10s%10s%10s%10s%10.1fn,語文,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,數學,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,英語,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,化學,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);/* 將學生信息 從文件讀出*/void IO_ReadInfo()FILE *fp;int i;if (fp=fopen(Database.txt,rb)=NULL)printf(不能打 開文件 !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);/* 將學生信息 寫入文件 */void IO_WriteInfo()FILE *fp;int i;if (fp=fopen(Database.txt,wb)=NULL)printf(不能打 開文件 !n);return;if (fwrite(&num,sizeof(int),1,fp)!=1)printf(寫入文件 錯誤 !n);for (i=0;inum;i+)if (fwrite(&studentsi,sizeof(struct Student),1,fp)!=1)printf(寫入文件 錯誤 !n);fclose(fp);/* 主程序 */int main()int choice;IO_ReadInfo();while(1)/* 主菜單*/printf(ntt-學生成績管理系 統 -nn);pri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券資產投資管理辦法
- 福田外賣區域管理辦法
- 外地項目安全管理辦法
- 科技培訓機構管理辦法
- 育兒護理培訓課件
- 肩頸護理課件教學
- 肝硬化護理課件
- 肝癌的護理課件
- 如何有效培訓課件
- 高考一檢數學試卷
- 安徽省2024年普通高校招生國家專項計劃首輪投檔最低分及名次(物理科目組合)-3
- 2025年傳染病防控技能競賽筆試理論考試題庫600題(附答案)
- 人教PEP版英語五年級下冊Recycle 2單元教學設計(2課時教案)
- 【泉州:寒街孤影尋暖意 一抹亮色映霜花】中原地產2024年泉州樓市分析報告正式版
- SJG 124-2022 建筑廢棄物綜合利用設施建設運營標準
- 國家開放大學法律事務專科《刑法學(1)》期末紙質考試總題庫2025春期版
- 中職高教版(2023)語文職業模塊-第三單元3.3《鑒賞家》【課件】
- 《電氣質量工藝培訓》課件
- 2023工業企業常見安全隱患整改對應依據標準
- 醫院信息化網絡安全培訓
- 發電廠安全隱患排查
評論
0/150
提交評論