C語言學(xué)生管理系統(tǒng)綜合實驗報告_第1頁
C語言學(xué)生管理系統(tǒng)綜合實驗報告_第2頁
C語言學(xué)生管理系統(tǒng)綜合實驗報告_第3頁
C語言學(xué)生管理系統(tǒng)綜合實驗報告_第4頁
C語言學(xué)生管理系統(tǒng)綜合實驗報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、佛山科學(xué)技術(shù)學(xué)院實驗報告實驗名稱小型學(xué)生信息管理系統(tǒng)實驗項目編寫一學(xué)生信息管理系統(tǒng),用來管理學(xué)生基本信息及成績信息專業(yè)班級 姓名XXX 學(xué)號指導(dǎo)教師 成績 日期1、 試驗?zāi)康谋緦嶒灋閷W(xué)生提供了一個既動手又動腦,上機(jī)實踐的機(jī)會。學(xué)生通過分析和解決 該實驗,將課本上的理論知識和實際有機(jī)地結(jié)合起來,鍛煉學(xué)生分析、解決較復(fù)雜問 題的能力,提高學(xué)生編寫綜合系統(tǒng)程序的能力。2、 實驗內(nèi)容編寫一個學(xué)生信息管理系統(tǒng),主要用來管理學(xué)生基本信息及成績信息。系統(tǒng)功能模塊如下圖:排序 查詢 統(tǒng)計I具體要求為:1 .建立學(xué)生信息,每個學(xué)生的信息應(yīng)包括:學(xué)號、姓名、性別、班級、至少 3門課程的成績;2 .數(shù)據(jù)輸入:輸入學(xué)

2、生的各項信息;3 .數(shù)據(jù)修改:根據(jù)輸入學(xué)生的學(xué)號可以選擇修改該學(xué)生的信息;4 .數(shù)據(jù)處理:可以選擇處理方式為:排序、查詢、統(tǒng)計。其中:a)排序:按學(xué)號排序b)查詢:根據(jù)學(xué)號查詢成績c)統(tǒng)計:可以選擇統(tǒng)計各學(xué)生的平均成績或統(tǒng)計所有存在不及格科目的學(xué)生;5 .數(shù)據(jù)輸出:輸出學(xué)生的相應(yīng)結(jié)果信息;6 .退出:退出整個學(xué)生信息管理系統(tǒng)。7 .輸出結(jié)果截屏的第一條記錄一定要反映出你自己的真實信息。3、 程序組織結(jié)構(gòu)圖、函數(shù)調(diào)用關(guān)系圖四、程序清單#include<>#include<>#include<>struct studentchar num10;char name

3、10;char sex4;char clas20;int yw,sx,yy;float ave;stu100;int i,j;void InputData()char x;while(1)printf("t 學(xué)號:");scanf("%s",stui.num);printf("t姓名:");scanf("%s",);printf("t性別:");scanf("%s",stui.sex);printf("t班級:");scanf("

4、;%s",stui.clas);printf("t語文:");scanf("%d”,&stui.yw);printf("t數(shù)學(xué):");scanf("%d”,&stui.sx);printf("t英語:");scanf("%d”,&stui.yy);stui.ave=float(stui.yw+stui.sx+stui.yy)/;i+;printf("t是否繼續(xù)輸入數(shù)據(jù)");cin>>x;if(x='n'|x='N&#

5、39;) break;void EditData()int count=0;char str10;printf("n請輸入學(xué)生學(xué)號:”);cin>>str;while (count<i)if(strcmp(str,stucount.num)=0)printf(" 學(xué)號 姓名性別 班級語文數(shù)學(xué)英語n");printf("-'n");printf("%-11s",stucount.num);printf("%-13s",);printf("%-8s

6、",stucount.sex);printf("%-16s",stucount.clas);printf("%-6d",stucount.yw);printf("%-6d",stucount.sx);printf("%-4d",stucount.yy);printf("n");printf("-'n");break;count+;if(count>=i)printf("n查無此人");elsen");printf(&quo

7、t;nt修改數(shù)據(jù):printf("t學(xué)號:");scanf("%s",stui.num);printf("t姓名:");scanf("%s",);printf("t性別:");scanf("%s",stui.sex);printf("t班級:");scanf("%s",stui.clas);printf("t語文:");scanf("%d”,&stui.yw);printf(&qu

8、ot;t數(shù)學(xué):");scanf("%d”,&stui.sx);printf("t英語:");scanf("%d”,&stui.yy);stucount.ave=float(stucount.yw+stucount.sx+stucount.yy)/;void sx()struct student temp;int a,b,c;for(a=0;a<i-1;a+)c=a;for(b=a+1;b<i;b+)if(stub.ave>stuc.ave)c=b;temp=stub;stub=stuc;stuc=temp;英語

9、printf("排序后結(jié)果為:n");printf(" 學(xué)號 姓名性別 班級語文數(shù)學(xué)n");printf("n");for(c=0;c<i;c+)printf("%-11s",stuc.num);printf("%-13s",);printf("%-8s",stuc.sex);printf("%-16s",stuc.clas);printf("%-6d",stuc.yw);printf("%-6d&qu

10、ot;,stuc.sx);printf("%-4d",stuc.yy);printf("n"); printf(-'n");void cx()int count=0;char str10;printf("n請輸入要查詢的學(xué)生學(xué)號:");cin>>str;while (count<i)if(strcmp(str,stucount.num)=0)printf(" 學(xué)號 姓名性別 班級語文數(shù)學(xué)英語n");printf("-'n");printf("

11、%-11s",stucount.num);printf("%-13s",);printf("%-8s",stucount.sex);printf("%-16s",stucount.clas);printf("%-6d",stucount.yw);printf("n");printf("%-4d",stucount.yy);printf("n");printf("-'n");break;coun

12、t+;if(count>=i)printf("n無該學(xué)號學(xué)生");elseprintf("n");void tjpjf()int count=0;stui.ave=float(stui.yw+stui.sx+stui.yy)/;printf(學(xué)號姓名平均分n");for(j=0卜i;j+)while(count<i) for(j=0;j<i;j+) printf("%-21s",stucount.num);printf("%-21s",);printf(&quo

13、t;%",stucount.ave);count+; printf("n"); printf("n");void tjbhgrs()int j,count=0;printf("有不及格科目的學(xué)生是:n");printf(" 學(xué)號 姓名性別 班級語文數(shù)學(xué)英語 n"); printf("-'n");for(j=0卜i;j+)if(stuU.yw<60|stuj.sx<60|stuj.yy<60)printf("%-11s",stucount.n

14、um);printf("%-13s",);printf("%-8s",stucount.sex);printf("%-16s",stucount.clas);printf("%-6d",stucount.yw);printf("%-6d",stucount.sx);printf("%-4d",stucount.yy);printf("n");count+;printf("n");void tj()char x;

15、while(1)printf("t 1.統(tǒng)計平均分 2.統(tǒng)計不及格學(xué)生信息3. 返回n");printf("tn");printf("nt 請選擇具體的統(tǒng)計內(nèi)容:");cin>>x;printf("n");switch(x)(case '1':tjpjf();break;case '2':tjbhgrs();break;case '3':break;if(x='3')break;printf("n"); void Dat

16、aProc()char x;while(1)(printf("tprintf("tn");處理數(shù)據(jù)n");printf("tn");printf("tn");printf("t1.按學(xué)號排序n");printf("t2.查詢n");printf("t3.統(tǒng)計n");printf("t4.返回主菜單n");printf("t n");printf("n");printf("nt請選擇具體的

17、處理內(nèi)容:");cin>>x;printf("n");switch(x)(case '1':sx();break;case '2':cx();break;case '3':tj();break;case '4':break;if(x='4')break;printf("n");void DataOutput()(int count=0;語文數(shù)學(xué)英printf(" 學(xué)號 姓名性別 班級 語 n");-'n");whil

18、e(count<i)printf("%-11s",stucount.num);printf("%-13s",);printf("%-8s",stucount.sex);printf("%-16s",stucount.clas);printf("%-6d",stucount.yw);printf("%-6d",stucount.sx);printf("%-6d",stucount.yy);count+;printf("

19、;n");printf("-'n");void main()char x;printf("n");while(1)printf("t*n");printf("t*n");printf("t*學(xué)生信息管理系統(tǒng) *n");printf("t*n");printf("t*1.輸入數(shù)據(jù)*n");printf("t*2.修改數(shù)據(jù)*n");printf("t*3.處理數(shù)據(jù)*n");printf("t*

20、4.輸出數(shù)據(jù)*n");printf("t*5.退出*n");printf("t*n");printf("t*n");printf("nt請選擇需要進(jìn)行的操作:");cin>>x; printf("n");switch (x) case '1':InputData();break;case '2':EditData();break;case '3':DataProc();break;case '4':DataOu

21、tput();break;case '5':printf("謝謝使用! n");break;if(x='s') break;五、運行結(jié)果六、實驗總結(jié)(調(diào)試分析、體會、致謝)從這一次的綜合實驗中,我感觸很深可以這么說,為了這個實驗花費比較的功夫。就我個人來說,其實我很害怕與電腦,程序有關(guān)的東西,可能因為一直以來很少接觸電腦吧,對于相關(guān)的東西比較難理解。很認(rèn) 真去學(xué),還是感覺很吃力。每次上課或做實驗,發(fā)現(xiàn)自己在這方面很跟上大家的腳步。比 如說,我去做了題,但是不能理解,也記不住。但是,這次的綜合實驗二做起來相對之前, 我發(fā)現(xiàn)自己有了進(jìn)步。從開始著

22、手做,我就發(fā)現(xiàn)這個實驗所需要的知識在前面的實驗已經(jīng)做過了。特別是綜合實驗一。我是像做實驗一那樣去完成這個實驗的。首先把整個函數(shù)的結(jié)構(gòu),關(guān)系圖先寫出來。在把程序?qū)懗鰜頃r,先寫主函數(shù),然后把第一層函數(shù)的空函數(shù)寫出來,調(diào)試主函數(shù)與第一層的空函數(shù)。第二步就是按照主菜單的順序,把第一層函數(shù)寫出來,輸入數(shù)據(jù)的函數(shù)很快就寫好,調(diào)試也沒有任何問題。在寫修改數(shù)據(jù)的函數(shù)就沒那么容易,我參照了老師的程序,但是很奇怪,調(diào)試沒問題,可當(dāng)我輸入數(shù)據(jù)后,進(jìn)行第二的修改數(shù)據(jù)時,出現(xiàn)的數(shù)據(jù)一直是學(xué)號為1的學(xué)生的數(shù)據(jù)。我找了一天是哪的問題, 卻完全沒頭緒,然后我就求助舍友了, 舍友幫我看了很久,她也找不到。等我返回去看流程圖,才發(fā)現(xiàn)原來少了“ if(strcmp(str,stucount.num)=0) ”這條件。接下來就是處理數(shù)據(jù)的函數(shù),我個人感 覺這里,既簡單又比較難的。這個函數(shù)里面又包含里按學(xué)號排序,查詢,統(tǒng)計這三個函數(shù), 而統(tǒng)計里面又有統(tǒng)計平均分及統(tǒng)計不及格學(xué)生信息兩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論