軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-學(xué)生信息管理系統(tǒng)_第1頁(yè)
軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-學(xué)生信息管理系統(tǒng)_第2頁(yè)
軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-學(xué)生信息管理系統(tǒng)_第3頁(yè)
軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-學(xué)生信息管理系統(tǒng)_第4頁(yè)
軟件工程課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.軟件工程課程實(shí)驗(yàn)報(bào)告 系統(tǒng)名稱 _ 學(xué)生信息管理系統(tǒng)_學(xué) 院 _ 計(jì)算機(jī)學(xué)院信息_ _ 學(xué)生信息管理系統(tǒng)設(shè)計(jì)文檔1. 可行性研究 1.1技術(shù)可行性已經(jīng)有人開發(fā)過(guò),并且我們也都使用過(guò)相類似系統(tǒng),對(duì)其一般性的軟件和操作環(huán)境、編譯環(huán)境都比較熟悉,所以說(shuō)在技術(shù)上來(lái)說(shuō)是可行的。 1.2經(jīng)濟(jì)可行性當(dāng)前系統(tǒng)只對(duì)服務(wù)器有關(guān)的要求,在服務(wù)費(fèi)用方面,支出在你那個(gè)承擔(dān)的范圍,以后的維護(hù)及其他設(shè)備的總共費(fèi)用在可以承擔(dān)的范圍。用當(dāng)前系統(tǒng)可以節(jié)約出能夠支付當(dāng)前系統(tǒng)的直接支出,以后維護(hù)費(fèi)用更是比以前的機(jī)制節(jié)約很多錢。1.3操作可行性系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)能行得通。2. 需求分析2.1輸入讓學(xué)生在紙面上填寫相關(guān)內(nèi)容

2、,然后等待輔導(dǎo)員或管理員的審批確認(rèn)后,再輸入數(shù)據(jù)庫(kù)中保存。2.2輸出學(xué)生選擇用戶選項(xiàng)進(jìn)入系統(tǒng)后,系統(tǒng)可經(jīng)有算法程序輸出學(xué)生基本信息表,學(xué)習(xí)成績(jī)表等。2.2.1打印輸出可打印基本信息、學(xué)習(xí)成績(jī)等各種表格以及在對(duì)相應(yīng)信息進(jìn)行統(tǒng)計(jì)操作后的表格。2.2.2文件輸出可將所有打印表格輸出到EXCEL文件中,以便用戶使用其它的EXCEL軟件改變表格的大小及字體。2.3故障處理2.3.1內(nèi)部故障處理在開發(fā)階段可以隨即修改數(shù)據(jù)庫(kù)里的相應(yīng)內(nèi)容。 2.3.2外部故障處理對(duì)編輯的程序進(jìn)行重裝載時(shí),第一次裝載認(rèn)為錯(cuò),修改。第二次運(yùn)行,在需求調(diào)用時(shí)出錯(cuò),有錯(cuò)誤提示,重試。2.4性能要求分析2.4.1系統(tǒng)易操作性所開發(fā)的系

3、統(tǒng)應(yīng)做到操作簡(jiǎn)單,盡量使系統(tǒng)操作不受用戶對(duì)電腦知識(shí)水平的限制。2.4.2系統(tǒng)具有可維護(hù)性由于系統(tǒng)涉及的信息比較廣,數(shù)據(jù)庫(kù)中的數(shù)據(jù)需定期修改,系統(tǒng)可利用的空間及性能也隨之下降,為了使系統(tǒng)更好地運(yùn)轉(zhuǎn),學(xué)院可以對(duì)系統(tǒng)數(shù)據(jù)及一些簡(jiǎn)單的功能進(jìn)行獨(dú)立的維護(hù)及調(diào)整。2.4.3系統(tǒng)具有開放性該系統(tǒng)能夠在開放的硬件體系結(jié)構(gòu)中運(yùn)行,并且能與其他系統(tǒng)順利連接,不會(huì)因外部系統(tǒng)的不同面要做在量的修改工作。3.概要設(shè)計(jì)3.1基本設(shè)計(jì)概念和處理流程管理員通過(guò)密碼認(rèn)證,進(jìn)入信息管理頁(yè)面對(duì)學(xué)生相關(guān)信息的錄入、更新、修改、添加等操作,也可以通過(guò)查詢界面對(duì)學(xué)生信息進(jìn)行完全的查詢,而學(xué)生和相關(guān)人員只能通過(guò)公共的查詢界面對(duì)學(xué)生信息進(jìn)行

4、查詢,如要對(duì)學(xué)生信息進(jìn)行完全查詢就需要得到管理員的同意。管理界面數(shù)據(jù)中 心處理處理打印查詢管理員操作信息輸出查詢用戶界面3.2接口設(shè)計(jì) 本系統(tǒng)采用快速原型開發(fā)工具Visual Basic 6.0進(jìn)行開發(fā),所提供的不同層次的接口,都具有高度的集成性,本系統(tǒng)沒(méi)有采用低級(jí)語(yǔ)言設(shè)計(jì)和完成自定義接口,因此接口設(shè)計(jì)部分已經(jīng)由不同方式的組件來(lái)完成了,以下只做簡(jiǎn)單說(shuō)明。3.2.1用戶接口 說(shuō)明將向用戶提供的命令和它們的語(yǔ)法結(jié)構(gòu),以及軟件的回答信息。命令語(yǔ)法信息正確信息錯(cuò)誤提交IF ELSE進(jìn)入系統(tǒng)返回到當(dāng)前界面重設(shè)點(diǎn)擊事件清空輸入的數(shù)據(jù)無(wú)取消點(diǎn)擊事件返回到當(dāng)前界面無(wú)3.2.2外部接口說(shuō)明本系統(tǒng)同外界的所有接口

5、的安排包括軟件與硬件之間的接口、本系統(tǒng)與各支持軟件直接的關(guān)系。硬件接口軟件接口鍵盤鼠標(biāo)打印機(jī)主模塊管理模塊查詢模塊3.2.3內(nèi)部接口說(shuō)明本系統(tǒng)之內(nèi)的各個(gè)系統(tǒng)元素之間的接口的安排。數(shù)據(jù)庫(kù)接口設(shè)計(jì)采用ADO連接方式。模塊名稱主模塊管理員驗(yàn)證模塊用戶查詢界面管理界面主模塊管理員驗(yàn)證模塊用戶查詢界面管理界面4.詳細(xì)設(shè)計(jì)4.1控制流程圖4.1.1主模塊軟件結(jié)構(gòu)4.1.2管理員登陸軟件結(jié)構(gòu)4.1.3用戶查詢軟件結(jié)構(gòu)用戶查詢模塊輸入查詢條件IF正確輸出結(jié)果ELSE打印出結(jié)果返回重新輸入條件4.2源程序流程圖5、項(xiàng)目測(cè)試 功能截圖: 5.1 登 陸 界 面 5.2 學(xué)生用戶功能界面 5.3 學(xué)生查詢功能 5.

6、4 管理員管理界面 5.5 管理員輸入功能 5.6 管理員刪除功能 5.7 管理員查詢功能 5.8 管理員修改功能 5.9 管理員插入功能 5.10 統(tǒng)計(jì)功能 5.11 分類功能 5.12 顯示功能 5.13 管理員保存功能文件保存名為:STUDENT 路徑為:C:6、項(xiàng)目管理6、1 人員管理 團(tuán)隊(duì)負(fù)責(zé)人:陶修赟 小組成員:萬(wàn)富,洪鑫,汪賢惠,項(xiàng)鑫6、2產(chǎn)品管理 本產(chǎn)品工作于in-TC工作環(huán)境,用于對(duì)學(xué)生成績(jī)的管理。學(xué)生用戶,可進(jìn)行查詢課程成績(jī);管理員可對(duì)學(xué)生及其成績(jī)進(jìn)行錄入、修改、查詢、排列等功能。本系統(tǒng)可進(jìn)行維護(hù),修改。6、3進(jìn)程管理可行性分析:5月23日5月24日 標(biāo)志:提交可行性分析報(bào)

7、告項(xiàng)目開發(fā)計(jì)劃:5月25日5月26日 標(biāo)志:提交項(xiàng)目開發(fā)計(jì)劃需求分析:5月27日5月27日 標(biāo)志:完成需求分析報(bào)告軟件設(shè)計(jì):5月30日6月1日 標(biāo)志:完成軟件分析與設(shè)計(jì)文檔編程實(shí)現(xiàn):6月2日6月10日 標(biāo)志:代碼編寫全部完成軟件測(cè)試:6月13日6月14日 標(biāo)志:完成軟件測(cè)試,可投入使用可行性分析:5月25日5月26日 標(biāo)志:提交可行性分析報(bào)告項(xiàng)目開發(fā)計(jì)劃:5月27日5月30日 標(biāo)志:提交項(xiàng)目開發(fā)計(jì)劃需求分析:5月31日5月31日 標(biāo)志:完成需求分析報(bào)告軟件設(shè)計(jì):6月1日6月3日 標(biāo)志:完成軟件分析與設(shè)計(jì)文檔軟件實(shí)現(xiàn):6月6日6月14日 標(biāo)志:代碼編寫全部完成測(cè)試與實(shí)施:6月15日6月16日 標(biāo)

8、志:完成軟件測(cè)試,可投入使用可行性分析:5月25日5月26日 標(biāo)志:提交可行性分析報(bào)告項(xiàng)目開發(fā)計(jì)劃:5月27日5月30日 標(biāo)志:提交項(xiàng)目開發(fā)計(jì)劃需求分析:5月31日5月31日 標(biāo)志:完成需求分析報(bào)告軟件設(shè)計(jì):6月1日6月3日 標(biāo)志:完成軟件分析與設(shè)計(jì)文檔軟件實(shí)現(xiàn):6月6日6月14日 標(biāo)志:代碼編寫全部完成測(cè)試與實(shí)施:6月15日6月16日 標(biāo)志:完成軟件測(cè)試,可投入使用6、4項(xiàng)目計(jì)劃甘特圖 7、編 碼#include #include #include string.h#include conio.h#define HEADER1 -STUDENT- n#define HEADER2 | num

9、ber | name |Comp|Math|Eng | sum | ave |mici | n#define HEADER3 |-|-|-|-|-|-|-|-| #define FORMAT | %-10s |%-15s|%4d|%4d|%4d| %4d | %.2f |%4d |n#define DATA p-data.num,,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.total,p-data.ave,p-data.mingci#define END - nint saveflag=0; /*是否需要存盤的標(biāo)志變

10、量*/typedef struct student /*標(biāo)記為student*/ char num10; /*學(xué)號(hào)*/ char name15; /*姓名*/ int cgrade; /*C語(yǔ)言成績(jī)*/ int mgrade; /*數(shù)學(xué)成績(jī)*/ int egrade; /*英語(yǔ)成績(jī)*/ int total; /*總分*/ float ave; /*平均分*/ int mingci; /*名次*/;typedef struct node /*定義每條記錄或結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),標(biāo)記為node*/ struct student data; struct node *next;Node,*Link;voi

11、d menuchoice() system(cls); /*清屏.與clrscr()功能相同*/ textcolor(10); /*在文本模式中選擇新的字符顏色*/ gotoxy(7,5); cprintf( The Students Grade Management System n); gotoxy(7,8); printf(nPlease Enter your choice; 0 enter students systemnttt); printf( ); printf(1 enter teachers systemn);void menu() /*菜單函數(shù)*/ system(cls);

12、 /*清屏.與clrscr()功能相同*/ textcolor(10); /*在文本模式中選擇新的字符顏色*/ gotoxy(7,5); /*在文本窗口中設(shè)置光標(biāo),下同*/ cprintf( The Students Grade Management System n); gotoxy(7,8); cprintf( *Menu*n); gotoxy(7,9); cprintf( * 1 input record 2 delete record *n); gotoxy(7,10); cprintf( * 3 search record 4 modify record *n); gotoxy(7,

13、11); cprintf( * 5 insert record 6 count record *n); gotoxy(7,12); cprintf( * 7 sort reord 8 save record *n); gotoxy(7,13); cprintf( * 9 display record 0 quit system *n); gotoxy(7,14); cprintf( *n); /*cprintf()送格式化輸出至文本窗口屏幕中*/void menustudent() system(cls); /*清屏.與clrscr()功能相同*/ textcolor(10); /*在文本模式

14、中選擇新的字符顏色*/ gotoxy(7,5); /*在文本窗口中設(shè)置光標(biāo),下同*/ cprintf( The Students Grade Management System n); gotoxy(7,8); cprintf( *Menu*n); gotoxy(7,9); cprintf( *3 search record 0 quit system*n); gotoxy(7,10); cprintf( *n); /*cprintf()送格式化輸出至文本窗口屏幕中*/void printheader() /*格式化輸出表頭*/ printf(HEADER1); printf(HEADER2)

15、; printf(HEADER3);void printdata(Node *pp) /*格式化輸出表中數(shù)據(jù)*/ Node* p; p=pp; printf(FORMAT,DATA); void Wrong() /*輸出按鍵錯(cuò)誤信息*/ printf(nnnnn*Error:input has wrong! press any key to continue*n); getchar();void Nofind() /*輸出未查找此學(xué)生的信息*/ printf(n=Not find this student!n);void Disp(Link l) /*顯示單鏈表l中存儲(chǔ)的學(xué)生記錄,內(nèi)容為stu

16、dent結(jié)構(gòu)中定義的數(shù)據(jù)項(xiàng)*/ Node *p; p=l-next; /*l存儲(chǔ)的是單鏈表中頭結(jié)點(diǎn)的指針,該頭結(jié)點(diǎn)沒(méi)有存儲(chǔ)學(xué)生信息,指針域指向的后繼結(jié)點(diǎn)才有學(xué)生信息*/ if(!p) printf(n=Not student record!n); getchar(); return; printf(nn); printheader(); /*輸出表格頭部*/ while(p) /*逐條輸出鏈表中存儲(chǔ)的學(xué)生信息*/ printdata(p); p=p-next; /*移動(dòng)至下一個(gè)結(jié)點(diǎn)*/ printf(HEADER3); getchar();Node* Locate(Link l,char fi

17、ndmess,char nameornum) /*用于定位鏈表中符合要求的節(jié)點(diǎn),并返回指向該節(jié)點(diǎn)的指針,findmess保存要查找的具體內(nèi)容; nameornum保存按什么查找;在單鏈表l中查找;*/ Node *r; if(strcmp(nameornum,num)=0) /*按學(xué)號(hào)查詢*/ r=l-next; while(r) if(strcmp(r-data.num,findmess)=0) /*若找到findmess值的學(xué)號(hào)*/ return r; r=r-next; else if(strcmp(nameornum,name)=0) /*按姓名查詢*/ r=l-next; while

18、(r) if(strcmp(,findmess)=0) /*若找到findmess值的學(xué)生姓名*/ return r; r=r-next; return 0;void stringinput(char *t,int lens,char *notice) /*輸入字符串,并進(jìn)行長(zhǎng)度驗(yàn)證(長(zhǎng)度lens)printf(n Exceed the required length! n); /*進(jìn)行長(zhǎng)度校驗(yàn),超過(guò)lens值重新輸入*/ while(strlen(n)lens); strcpy(t,n); /*將輸入的字符串拷貝到字符串t中*/int numberinput(char

19、*notice) /*輸入分?jǐn)?shù),0分?jǐn)?shù)100 | t100 | tnext; system(cls); Disp(l); /*先打印出已有的學(xué)生信息*/ while(r-next!=NULL) r=r-next; /*將指針移至于鏈表最末尾,準(zhǔn)備添加記錄*/ while(1) /*一次可輸入多條記錄,直至輸入學(xué)號(hào)為0的記錄結(jié)點(diǎn)添加操作*/ while(1) /*輸入學(xué)號(hào),保證該學(xué)號(hào)沒(méi)有被使用,若輸入學(xué)號(hào)為0,則退出添加記錄操作*/ stringinput(num,10,Input number(press 0return menu):); /*格式化輸入學(xué)號(hào)并檢驗(yàn)*/ flag=0; if(s

20、trcmp(num,0)=0) /*輸入為0,則退出添加操作,返回主界面*/ return; s=l-next; while(s) /*查詢?cè)搶W(xué)號(hào)是否已經(jīng)存在,若存在則要求重新輸入一個(gè)未被占用的學(xué)號(hào)*/ if(strcmp(s-data.num,num)=0) flag=1; break; s=s-next; if(flag=1) /*提示用戶是否重新輸入*/ getchar(); printf(=The number %s is not existing,try again?(y/n):,num); scanf(%c,&ch); if(ch=y|ch=Y) continue; else re

21、turn; else break; p=(Node *)malloc(sizeof(Node); if(!p) printf(n Allocate memory failure ); /*如沒(méi)有申請(qǐng)到,打印提示信息*/ return ; strcpy(p-data.num,num); /*將字符串num拷貝到p-data.num中*/ stringinput(,15,Name:); p-data.cgrade=numberinput(C language Score0-100:); /*輸入并檢驗(yàn)分?jǐn)?shù),分?jǐn)?shù)必須在0100之間*/ p-data.mgrade=numberi

22、nput(Math Score0-100:); p-data.egrade=numberinput(English Score0-100:); p-data.total=p-data.egrade + p-data.cgrade + p-data.mgrade; /*計(jì)算總分*/ p-data.ave=(float)(p-data.total/3); /*計(jì)算平均分*/ p-data.mingci=0; p-next=NULL; /*表明這是鏈表的尾部結(jié)點(diǎn)*/ r-next=p; /*將新建的結(jié)點(diǎn)加入鏈表尾部中*/ r=p; saveflag=1; /*在main()有對(duì)該全局變量的判斷,若為

23、1,則進(jìn)行存盤操作*/ return ;void Qur(Link l) /*按學(xué)號(hào)或姓名,查詢學(xué)生記錄*/ int select; /*1:按學(xué)號(hào)查,2:按姓名查,其他:返回主界面(菜單)*/ char searchinput20; /*保存用戶輸入的查詢內(nèi)容*/ Node *p; if(!l-next) /*若鏈表為空*/ system(cls); printf(n=No student record!n); getchar(); return; system(cls); printf(n =1 Search by number =2 Search by namen); printf( p

24、lease choice1,2:); scanf(%d,&select); if(select=1) /*按學(xué)號(hào)查詢*/ stringinput(searchinput,10,Input the existing student number:); p=Locate(l,searchinput,num);/*在l中查找學(xué)號(hào)為searchinput值的節(jié)點(diǎn),并返回節(jié)點(diǎn)的指針*/ if(p) /*若p!=NULL*/ printheader(); printdata(p); printf(END); printf(press any key to return); getchar(); else

25、Nofind(); getchar(); else if(select=2) /*按姓名查詢*/ stringinput(searchinput,15,input the existing student name:); p=Locate(l,searchinput,name); if(p) printheader(); printdata(p); printf(END); printf(press any key to return); getchar(); else Nofind(); getchar(); else Wrong(); getchar();void Del(Link l)

26、/*刪除學(xué)生記錄:先找到保存該學(xué)生記錄的節(jié)點(diǎn),然后刪除該節(jié)點(diǎn)*/ int sel; Node *p,*r; char findmess20; if(!l-next) system(cls); printf(n=No student record!n); getchar(); return; system(cls); Disp(l); printf(n =1 Delete by number =2 Delete by namen); printf( please choice1,2:); scanf(%d,&sel); if(sel=1) stringinput(findmess,10,inpu

27、t the existing student number:); p=Locate(l,findmess,num); if(p) /*p!=NULL*/ r=l; while(r-next!=p) r=r-next; r-next=p-next;/*將p所指節(jié)點(diǎn)從鏈表中去除*/ free(p); /*釋放內(nèi)存空間*/ printf(n=Delete success!n); getchar(); saveflag=1; else Nofind(); getchar(); else if(sel=2) stringinput(findmess,15,input the existing stude

28、nt name); p=Locate(l,findmess,name); /*先按姓名查詢到該記錄所在的節(jié)點(diǎn)*/ if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=Delete success!n); getchar(); saveflag=1; else Nofind(); getchar(); else Wrong(); getchar();void Modify(Link l) /*修改學(xué)生記錄。先按輸入的學(xué)號(hào)查詢到該記錄,然后提示用戶修改學(xué)號(hào)之外的值,學(xué)號(hào)不能修改*/ Node *p; char

29、 findmess20; if(!l-next) system(cls); printf(n=No student record!n); getchar(); return; system(cls); printf(Modify student recorder:); Disp(l); stringinput(findmess,10,nInput the existing student number:); /*輸入并檢驗(yàn)該學(xué)號(hào)*/ p=Locate(l,findmess,num); /*查詢到該節(jié)點(diǎn)*/ if(p) /*若p!=NULL,表明已經(jīng)找到該節(jié)點(diǎn)*/ printf(Number:%

30、s,n,p-data.num); printf(Name:%s,); stringinput(,15,input new name:); printf(C language score:%d,p-data.cgrade); p-data.cgrade=numberinput(C language Score0-100:); printf(Math score:%d,p-data.mgrade); p-data.mgrade=numberinput(Math Score0-100:); printf(English score:%d,p-data.eg

31、rade); p-data.egrade=numberinput(English Score0-100:); p-data.total = p-data.egrade + p-data.cgrade + p-data.mgrade; p-data.ave=(float)(p-data.total/3); p-data.mingci=0; printf(n=Modify success!n); Disp(l); saveflag=1; else Nofind(); getchar();void Insert(Link l) /*插入記錄,按學(xué)號(hào)查詢到要插入的節(jié)點(diǎn)的位置,然后在該學(xué)號(hào)之后插入一個(gè)新

32、節(jié)點(diǎn)*/ Link p,v,newinfo; /*p指向插入位置,newinfo指新插入記錄*/ char ch,num10,s10; /*s保存插入點(diǎn)位置之前的學(xué)號(hào),num保存輸入的新記錄的學(xué)號(hào)*/ int flag=0; v=l-next; system(cls); Disp(l); while(1) stringinput(s,10,nPlease input Insert location after the Number:); flag=0; v=l-next; while(v) /*查詢?cè)搶W(xué)號(hào)是否存在,flag=1表示該學(xué)號(hào)存在*/ if(strcmp(v-data.num,s)=

33、0) flag=1;break; v=v-next; if(flag=1) break; /*若學(xué)號(hào)存在,則進(jìn)行插入之前的新記錄的輸入操作*/ else getchar(); printf(n=The number %s is not existing,try again?(y/n):,s); scanf(%c,&ch); if(ch=y|ch=Y) continue; else return; stringinput(num,10,Input new student Number:); /*以新記錄的輸入操作與Add()相同*/ v=l-next; while(v) if(strcmp(v-

34、data.num,num)=0) printf(=Sorry,the new number:%s is existing !n,num); printheader(); printdata(v); printf(n); getchar(); return; v=v-next; newinfo=(Node *)malloc(sizeof(Node); if(!newinfo) printf(n Allocate memory failure ); /*如沒(méi)有申請(qǐng)到,打印提示信息*/ return ; /*返回主界面*/ strcpy(newinfo-data.num,num); stringin

35、put(,15,Name:); newinfo-data.cgrade=numberinput(C language Score0-100:); newinfo-data.mgrade=numberinput(Math Score0-100:); newinfo-data.egrade=numberinput(English Score0-100:); newinfo-data.total=newinfo-data.egrade+newinfo-data.cgrade+newinfo-data.mgrade; newinfo-data.ave=(float)(

36、newinfo-data.total/3); newinfo-data.mingci=0; newinfo-next=NULL; saveflag=1; p=l-next; /*將指針賦值給p,因?yàn)閘中的頭節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)才實(shí)際保存著學(xué)生的記錄*/ while(1) if(strcmp(p-data.num,s)=0) /*在鏈表中插入一個(gè)節(jié)點(diǎn)*/ newinfo-next=p-next; p-next=newinfo; break; p=p-next; Disp(l); printf(nn); getchar();void Tongji(Link l) /*統(tǒng)計(jì)總分,單科第一和各科不及格人數(shù)

37、*/ Node *pm,*pe,*pc,*pt; /*用于指向分?jǐn)?shù)最高的節(jié)點(diǎn)*/ Node *r=l-next; int countc=0,countm=0,counte=0; /*保存三門成績(jī)中不及格的人數(shù)*/ if(!r) system(cls); printf(n=No student record!n); getchar(); return ; system(cls); Disp(l); pm=pe=pc=pt=r; while(r) if(r-data.cgradedata.mgradedata.egradedata.cgrade=pc-data.cgrade) pc=r; if(r-data.mgrade=pm-data.mgrade) pm=r; if(r-data.egrade=pe-data.egrade) pe=r; if(r-data.total=pt-data.total) pt=r; r=r-next; printf(n-

溫馨提示

  • 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)論