C語(yǔ)言學(xué)生信息管理系統(tǒng)61_第1頁(yè)
C語(yǔ)言學(xué)生信息管理系統(tǒng)61_第2頁(yè)
C語(yǔ)言學(xué)生信息管理系統(tǒng)61_第3頁(yè)
C語(yǔ)言學(xué)生信息管理系統(tǒng)61_第4頁(yè)
C語(yǔ)言學(xué)生信息管理系統(tǒng)61_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余10頁(yè)可下載查看

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論