




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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):2.基本內(nèi)容:編寫一個(gè)成績(jī)管理程序。每個(gè)學(xué)生的信息包含學(xué)生學(xué)號(hào)、姓名、性別和6門課程成績(jī)。(1)學(xué)生信息創(chuàng)建(順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)都可);(2)各個(gè)信息的輸入與輸出;(3)按總成績(jī)實(shí)現(xiàn)升序排列;(4)按學(xué)號(hào)查詢成績(jī);(5)輸出各門課程成績(jī)高于90和低于60的學(xué)生的姓名及該門課程的成績(jī)。3.運(yùn)行環(huán)境: 本程序使用Visual C+ 2008編譯器制作,在windows 7 64bit系統(tǒng)中成功運(yùn)行,windows XP也可正常運(yùn)
2、行。 4.測(cè)試結(jié)果:經(jīng)過測(cè)試,所要求的內(nèi)容基本上達(dá)到,個(gè)人認(rèn)為比較好的地方是篩選和排序,不足之處是不明白存儲(chǔ)方面的知識(shí),以及程序流程的認(rèn)識(shí)。5.實(shí)驗(yàn)心得:參考了許多網(wǎng)上資料,存儲(chǔ)方面的知識(shí)依然不懂,部分代碼都不是自己寫的,而且看不太懂,所以程序流程自己都不太清楚,但是,經(jīng)過老師驗(yàn)收代碼,說了很多問題之后,明白了那些不知道也不明白的問題,學(xué)到了很多東西,更好的理解了語(yǔ)言的編程,明白了看代碼與寫代碼的實(shí)際區(qū)別,以后要好好努力。附錄:/ 學(xué)生信息管理.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。/#include "stdio.h"#include "stdafx.h&qu
3、ot;#include "string.h"#include "stdlib.h"/*定義學(xué)生結(jié)構(gòu)體*/struct Student char ID20,Name20,Sex20; float Chinese/*語(yǔ)文*/; float Math/*數(shù)學(xué)*/; float English/*英語(yǔ)*/; float Physics/*物理*/; float Chemical/*化學(xué)*/; float Biological/*生物*/; float Add/*總分值*/;/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/struct Student students100;int
4、 num=0;/*求總成績(jī)值*/float Add(struct Student stu) return stu.Chinese+stu.Math+stu.English+stu.Physics+stu.Chemical+stu.Biological;/*通過學(xué)號(hào)返回?cái)?shù)組下標(biāo)*/int Student_SearchByIndex(char id) int i; for (i=0;i<num;i+) if (strcmp(studentsi.ID,id)=0) return i; return -1;/*顯示單條學(xué)生記錄*/void Student_DisplaySingle(int in
5、dex) 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",student
6、sindex.ID,studentsindex.Name,studentsindex.Sex, studentsindex.Chinese,studentsindex.Math,studentsindex.English, studentsindex.Physics,studentsindex.Chemical,studentsindex.Biological,studentsindex.Add);/*插入學(xué)生信息*/void Student_Insert() while(1) printf("請(qǐng)輸入學(xué)號(hào):"); scanf("%s",&stud
7、entsnum.ID); getchar(); printf("請(qǐng)輸入姓名:"); scanf("%s",&studentsnum.Name); getchar(); printf("請(qǐng)輸入性別:"); scanf("%s",&studentsnum.Sex); getchar(); printf("請(qǐng)輸入語(yǔ)文成績(jī):"); scanf("%f",&studentsnum.Chinese); getchar(); printf("請(qǐng)輸入數(shù)學(xué)成績(jī)
8、:"); 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",&
9、studentsnum.Chemical); getchar(); 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) ch
10、ar id20; int index; printf("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):"); scanf("%s",&id); getchar(); index=Student_SearchByIndex(id); if (index=-1) printf("學(xué)生不存在!n"); else printf("你要修改的學(xué)生信息為:n"); Student_DisplaySingle(index); printf("- 請(qǐng)輸入新值-n"); printf("請(qǐng)輸入學(xué)號(hào):");
11、 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",&studentsindex.Ch
12、inese); 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(&quo
13、t;請(qǐng)輸入化學(xué)成績(jī):"); scanf("%f",&studentsindex.Chemical); getchar(); printf("請(qǐng)輸入生物成績(jī):"); scanf("%f",&studentsindex.Biological); getchar(); studentsindex.Add=Add(studentsindex); printf("是否繼續(xù)?(y/n)"); if (getchar()='n') system("cls"); bre
14、ak; /*刪除學(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"); else printf("你要?jiǎng)h除的學(xué)生信息為:n"); Student_DisplaySingle(index); prin
15、tf("是否真的要?jiǎng)h除?(y/n)"); if (getchar()='y') for (i=index;i<num-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é)
16、生的學(xué)號(hào):"); scanf("%s",&id); getchar(); index=Student_SearchByIndex(id); if (index=-1) printf("學(xué)生不存在!n"); else printf("你要查詢的學(xué)生信息為:n"); Student_DisplaySingle(index); printf("是否繼續(xù)?(y/n)"); if (getchar()='n') system("cls"); break; /*按總分值排序
17、*/void Student_SortByAdd() int i,j; struct Student tmp; for (i=0;i<num;i+) for (j=1;j<num-i;j+) if (studentsj-1.Add<studentsj.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)"
18、,"姓名","性別","語(yǔ)文","數(shù)學(xué)","英語(yǔ)","物理","化學(xué)","生物","總分"); printf(" -n"); for (i=0;i<num;i+) printf("%8s%6s%6s%8.1f%8.1f%8.1f%8.1f%8.1f%8.1f%8.1fn",studentsi.ID,studentsi.Name,studentsi.Sex, student
19、si.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)","姓名","性別
20、","分?jǐn)?shù)");printf(" -n");for (i=0;i<num;i+) if (studentsi.Chinese>=90) printf("%10s%10s%10s%10s%10.1fn","語(yǔ)文",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Chinese); printf("n");void Student_90B()int i;for (i=0;i<num;i+) if (studentsi
21、.Math>=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<num;i+) if (studentsi.English>=90) printf("%10s%10s%10s%10s%10.1fn","英語(yǔ)",studentsi.ID,s
22、tudentsi.Name,studentsi.Sex,studentsi.English);printf("n");void Student_90D()int i;for (i=0;i<num;i+) if (studentsi.Physics>=90) printf("%10s%10s%10s%10s%10.1fn","物理",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Physics);printf("n");void Student_9
23、0E()int i;for (i=0;i<num;i+) if (studentsi.Chemical>=90) printf("%10s%10s%10s%10s%10.1fn","化學(xué)",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Chemical);printf("n");void Student_90F()int i;for (i=0;i<num;i+) if (studentsi.Biological>=90) printf("%10
24、s%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&q
25、uot;);for (i=0;i<num;i+) if (studentsi.Chinese<60)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;i<num;i+) if (studentsi.Math<60) printf("%10s%10s%10s%10s%1
26、0.1fn","數(shù)學(xué)",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Math);printf("n");void Student_60C()int i;for (i=0;i<num;i+) if (studentsi.English<60) printf("%10s%10s%10s%10s%10.1fn","英語(yǔ)",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.English)
27、;printf("n");void Student_60D()int i;for (i=0;i<num;i+) if (studentsi.Physics<60) printf("%10s%10s%10s%10s%10.1fn","物理",studentsi.ID,studentsi.Name,studentsi.Sex,studentsi.Physics);printf("n");void Student_60E()int i;for (i=0;i<num;i+) if (studentsi.C
28、hemical<60) 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;i<num;i+) if (studentsi.Biological<60) printf("%10s%10s%10s%10s%10.1fn","生物",student
29、si.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("不能打開文件!n"); return; if (fread(&num,sizeof(int),1,fp)!=1) num=-1; else for(i=0;i<num;i+
30、) fread(&studentsi,sizeof(struct Student),1,fp); fclose(fp);/*將學(xué)生信息寫入文件*/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("寫入文件錯(cuò)誤!n"); for (i=0;i<num;i+) if (fwrite(&studentsi,sizeof(struct Student),1,fp)!=1) printf("寫入文件錯(cuò)誤!n"); fclose(fp);/*主程序*/int main() int choice; IO_ReadInfo(); while(1) /*主菜單*/ printf("ntt- 學(xué)生成績(jī)管理系統(tǒng)-nn"); printf("ttt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能語(yǔ)音識(shí)別軟件開發(fā)合同
- 安全與保密措施表格(特定行業(yè))
- 廣東省深圳市福田區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 《中學(xué)語(yǔ)文文學(xué)鑒賞與實(shí)踐活動(dòng)教案》
- 清潔能源工程項(xiàng)目建設(shè)合同
- 框架協(xié)議合同
- 關(guān)于調(diào)整辦公時(shí)間的內(nèi)部通知流程說明
- 機(jī)械工程材料性能分析知識(shí)要點(diǎn)
- 關(guān)于職場(chǎng)禮儀的普及
- 物流配送策略對(duì)比表
- GB/T 4292-2017氟化鋁
- GB/T 41-20161型六角螺母C級(jí)
- GB/T 3811-2008起重機(jī)設(shè)計(jì)規(guī)范
- CB/T 615-1995船底吸入格柵
- 11471勞動(dòng)爭(zhēng)議處理(第10章)
- 2022年河南省對(duì)口升學(xué)計(jì)算機(jī)類專業(yè)課考試真題卷
- 人工智能賦能教育教學(xué)變革的研究
- 經(jīng)營(yíng)性公墓建設(shè)標(biāo)準(zhǔn)
- 患教-頸動(dòng)脈斑塊課件
- 審計(jì)部組織架構(gòu)及崗位設(shè)置
- 流行性乙型腦炎PPT課件
評(píng)論
0/150
提交評(píng)論