




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、高級語言課程設(shè)計(jì)課程設(shè)計(jì) 教務(wù)管理程序題 目: 班 級: 學(xué)生學(xué)號: 學(xué)生姓名: 指導(dǎo)老師: 提交時(shí)間:華南農(nóng)業(yè)大學(xué) 信息(軟件)學(xué)院教務(wù)信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告1 系統(tǒng)分析1.1 問題描述1.1.1 教務(wù)管理系統(tǒng)作為一個(gè)管理軟件,應(yīng)充分聯(lián)系實(shí)際考慮它的實(shí)用性,同時(shí)還要考慮它應(yīng)用的范圍,解決問題的功能。它是一款管理軟件,主要的功能是實(shí)現(xiàn)管理員對全校教務(wù)的管理(包括學(xué)生的基本信息管理和學(xué)生的成績管理),還有實(shí)現(xiàn)學(xué)生對教務(wù)信息的查詢功能。1.2 系統(tǒng)功能分析1.2.1 設(shè)計(jì)一個(gè)教務(wù)信息管理系統(tǒng),該程序具有以下功能:1.2.2 (1)錄入如下信息:學(xué)生基本信息:如學(xué)號、姓名、性別、年齡電、宿舍號碼、
2、話號碼等。 課程基本信息:課程編號、課程名稱、考試成績、平時(shí)成績、綜合成績、學(xué)分、重修否等。如果重修,需要考慮重修學(xué)期、重修成績,并且要考慮多次重修的情況。1.2.3 (2)錄入選課信息1.2.4 (3)錄入學(xué)生成績1.2.5 (3)按班統(tǒng)計(jì)學(xué)生選課情況及考試成績。1.2.6 (4)按課程統(tǒng)計(jì)學(xué)生名單及考試成績。1.2.7 (5)統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程。1.3 開發(fā)平臺(tái)及工具介紹1.3.1 硬件環(huán)境1.3.1.1.1.1 處 理 器:intel pentium 166或更高1.3.1.1.1.2 內(nèi) 存:32mb以上1.3.1.1.1.3 硬盤空間:2g以上1.3.1.1.1
3、.4 顯 卡:svga顯示適配器1.3.2 軟件環(huán)境1.3.2.1.1.1 操作系統(tǒng):windows98/me/2000/xp/win72 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)教務(wù)管理系統(tǒng)是一個(gè)簡易的管理系統(tǒng),它需要實(shí)現(xiàn)管理員對全校教務(wù)的管理和不同學(xué)生對教務(wù)的查詢,所以需要設(shè)置不同的賬戶給不同的身份,解決這一問題可以設(shè)計(jì)結(jié)構(gòu)體對不同身份的賬戶信息進(jìn)行保存,用戶需要用各自的密碼才能登陸。同時(shí)結(jié)構(gòu)體里面保存了不用用戶(學(xué)生)的基本信息和成績信息,通過從文件里讀取相應(yīng)的結(jié)構(gòu)體,可以對它進(jìn)行信息的查詢,修改,替換,刪除和保存。不同的學(xué)校有不同的學(xué)院和專業(yè),所以需要對不同的學(xué)院和專業(yè)進(jìn)行編碼,然后用結(jié)構(gòu)體進(jìn)
4、行保存,在學(xué)生信息錄入時(shí)可以錄入編碼,通過不同的編號來標(biāo)記學(xué)生的學(xué)院和專業(yè),這樣方便了管理員的操作,同時(shí)也提高了操作的效率。實(shí)現(xiàn)的方法是管理員先對學(xué)院和專業(yè)進(jìn)行編碼然后保存在文件的結(jié)構(gòu)體里,編寫一函數(shù),輸入編號就返回該編號對應(yīng)的學(xué)院和專業(yè)。對于班級的選課管理,由于同一班的學(xué)生選課是相同的,所以可以用一個(gè)結(jié)構(gòu)體來保存一個(gè)班的選課信息,這樣子就大大方便了選課信息的管理。2.2 系統(tǒng)各個(gè)功能模塊詳細(xì)設(shè)計(jì)2.2.1 系統(tǒng)的模塊結(jié)構(gòu)圖教務(wù)信息管理系統(tǒng)身份選擇身份驗(yàn)證管理員界面學(xué)生賬戶界面學(xué)生信息管理統(tǒng)計(jì)管理編排學(xué)院和專業(yè)圖1 系統(tǒng)模塊功能圖2.3 模塊設(shè)計(jì)(1) 身份選擇模塊設(shè)計(jì) 該模塊為系統(tǒng)用戶提供功
5、能選擇界面,管理員或?qū)W生登錄系統(tǒng)后都會(huì)看到對應(yīng)自己權(quán)限的功能選擇界面,在界面中的系統(tǒng)提示符處輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。管理員界面身份選擇學(xué)生界面(2) 身份驗(yàn)證模塊 身份驗(yàn)證模塊的作用是為了保障系統(tǒng)的安全性和系統(tǒng)使用人員角色的區(qū)分。該模塊需要從輸入設(shè)備獲取用戶輸入的用戶名和密碼,判斷是否為合法身份,其次要判斷用戶權(quán)限,從而決定其能使用的系統(tǒng)功能,其模塊功能圖如圖3所示身份驗(yàn)證獲取用戶賬號和密碼驗(yàn)證賬號和密碼判斷用戶權(quán)限調(diào)用不用權(quán)限函數(shù)界面(3) 管理員模塊該模為管理員提供學(xué)校教務(wù)管理的功能,在該模塊,管理員可以根據(jù)界面提供不同的功能進(jìn)行基本的操
6、作,在界面中的系統(tǒng)提示符處輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。修改身份 學(xué)生管理統(tǒng)計(jì)管理管理員課程管理修改密碼編排管理(4) 學(xué)生賬戶界面模塊 該模為學(xué)生賬戶提供學(xué)校教務(wù)信息查看的功能,在該模塊,學(xué)生可以根據(jù)界面提供不同的功能進(jìn)行基本的操作,在界面中的系統(tǒng)提示符處輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。修改身份選課信息學(xué)生界面考試成績修改密碼返回上層(5) 學(xué)生信息管理模塊 該模塊主要實(shí)現(xiàn)管理員對學(xué)生信息的管理,包括學(xué)生信息查詢,學(xué)生身份修改,學(xué)生成績修改,學(xué)生信息錄入,學(xué)生信息刪除。其功能如圖:學(xué)生信息管理學(xué)生信息查
7、詢學(xué)生身份修改學(xué)生成績修改學(xué)生信息錄入學(xué)生信息刪除(6) 統(tǒng)計(jì)管理模塊該模塊主要實(shí)現(xiàn)管理員對學(xué)生成績的統(tǒng)計(jì)與管理,包括按班統(tǒng)計(jì)學(xué)生選課情況及考試成績,按課程統(tǒng)計(jì)學(xué)生名單及考試成績, 統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及格課程。其功能如圖:統(tǒng)計(jì)管理統(tǒng)計(jì)學(xué)生選課情況及考試成績學(xué)生名單及考試成績每個(gè)同學(xué)已修學(xué)分及不及格課程(7) 編排管理模塊 該模塊主要實(shí)現(xiàn)對學(xué)校不同學(xué)院,專業(yè)和課程的編碼,這樣就可以更方便地進(jìn)行管理和運(yùn)用。編排管理編排學(xué)院編排專業(yè)編排課程2.4 系統(tǒng)流程描述系統(tǒng)的主體處理流程如圖開始身份選擇身份驗(yàn)證學(xué)生用戶界面管理員界面修改身份退出返回上層編排管理修改密碼課程管理統(tǒng)計(jì)管理學(xué)生管理退出返
8、回上層修改身份選課信息考試成績修改密碼結(jié)束程序2.5 界面設(shè)計(jì)2.5.1 開始界面設(shè)計(jì)開始界面是告訴用戶系統(tǒng)的名稱,界面上有當(dāng)前的日期和時(shí)間,以簡潔為主,整個(gè)系統(tǒng)的顏色為淡藍(lán)背景與淡黃字體,給用戶清爽的感覺。2.5.2 身份選擇界面設(shè)計(jì) 身份選擇界面為用戶不同的身份而設(shè)計(jì),根據(jù)不同的身份只需要輸入12,則可以選擇不同的身份登陸,同時(shí),為了系統(tǒng)的安全,和管理的特權(quán),系統(tǒng)要求在選擇身份后還要輸入密碼,輸入的提示很明確,畫面很簡潔,操作很簡單,這是該系統(tǒng)設(shè)計(jì)的理念。2.5.3 管理員界面設(shè)計(jì)管理員的界面,功能強(qiáng)大,只需要輸入對應(yīng)的編號就可以實(shí)現(xiàn)對應(yīng)的功能,這是主要的界面,該系統(tǒng)的大部分功能都是通過該
9、界面操作的。2.5.4 管理員修改身份界面管理員界面功能之一,該界面先是對自己當(dāng)前身份的查看,如果有錯(cuò)誤的地方,可以進(jìn)行修改,如果沒有,則可以返回上一界面。該界面的功能是實(shí)現(xiàn)管理員對自己身份的管理。2.5.5 管理員-學(xué)生管理界面這是管理員界面中的第2個(gè)功能進(jìn)入后的界面,通過該界面,可以對全校的學(xué)生進(jìn)行信息的管理,是該系統(tǒng)中管理員的主要功能實(shí)現(xiàn)的界面。2.5.6 管理員-學(xué)生信息查詢界面該界面是管理員對學(xué)生信息查詢的界面,通過該界面,管理員可以清楚地了解到學(xué)生的信息,包括基本信息和課程信息。該界面對學(xué)生的信息進(jìn)行了合理的劃分,使人一眼就能獲取到學(xué)生的信息,既簡潔又實(shí)用。2.5.7 學(xué)生賬戶界面
10、該界面是學(xué)生賬戶登陸后看到的界面,該界面詳細(xì)地介紹了學(xué)生可以對該系統(tǒng)進(jìn)行的操作。2.5.8 學(xué)生選課信息界面 該界面是學(xué)生對自己選課信息的查詢,通過該界面,學(xué)生可以很清楚地了解到自己已選的課程,和每一個(gè)課程修完后可以獲得的學(xué)分,同時(shí)也顯示了已經(jīng)修了的學(xué)分。2.5.9 學(xué)生考試成績查詢該界面是學(xué)生對自己考試成績的查詢界面,該界面顯示了該學(xué)生的學(xué)校,學(xué)院和專業(yè),還有考試的科目和每一科的考試成績,平時(shí)成績,綜合成績,同時(shí)根據(jù)每一科的綜合成績是否低于60分,系統(tǒng)會(huì)自動(dòng)輸出該學(xué)生重修的科目。2.5.10 課程管理界面 該界面是管理員對課程的管理,能過該界面可以對全校的課程進(jìn)行編排,查看。2.5.11 學(xué)
11、院和專業(yè)編碼管理界面該界面是管理員對課程的管理,能過該界面可以對全校的課程進(jìn)行編排,查看。2.5.12 學(xué)院和專業(yè)編碼查看界面該界面顯示了管理員已經(jīng)編排的不同學(xué)院和專業(yè)的情況,以學(xué)院為單位,每一個(gè)學(xué)院下面是該學(xué)院的專業(yè),方便管理員查詢和管理。2.5.132.6 結(jié)構(gòu)設(shè)計(jì)2.6.1 定義常量 #define len sizeof(struct people) /#define sch sizeof(struct school)#define cla sizeof(struct classes)2.6.2 系統(tǒng)用戶數(shù)據(jù)結(jié)構(gòu)struct people /學(xué)生的結(jié)構(gòu)體 char st_num20; /
12、學(xué)號char name20; /姓名char sex20; /性別int age; /年齡char dor_num20; /宿舍號碼char ph_num20; /電話號碼int sub_20;int kao20; /考試科目double sub120; /各科考試成績double sub220; /各科平時(shí)成績double sub320; /各科綜合成績char code20; /用戶密碼int sc_ta50; /個(gè)人課表int sc_ro50; /課室char _sc20; /就讀學(xué)校int _sub1; /學(xué)院,int _sub2; /專業(yè)int _cla; /班級int _ji; /
13、級數(shù)float xuefen; /已修學(xué)分struct people *next;2.6.3 系統(tǒng)學(xué)院和專業(yè)管理數(shù)據(jù)結(jié)構(gòu)struct school /編碼學(xué)院和專業(yè) int one; / 學(xué)院編號char two20; /學(xué)院名稱int three20; /專業(yè)編號char four20100;/專業(yè)名稱struct school *next;2.6.4 課程數(shù)據(jù)結(jié)構(gòu)struct classes /課程結(jié)構(gòu)體 int one; /編號char ch50; /課程名稱double sum;/該科目學(xué)分;2.6.5 班級管理數(shù)據(jù)結(jié)構(gòu)struct ban /班級int one;/學(xué)院int two;
14、/專業(yè)int three;/;班級 int four30;/課表double five30;/各科平均分struct ban *next;3 系統(tǒng)實(shí)現(xiàn)3.1 身份的選擇模塊3.1.1 流程圖1獲得身份2獲得密碼3.身份和密碼驗(yàn)證2獲得學(xué)號和密碼管理員學(xué)生輸入錯(cuò)誤重新輸入3.1.2實(shí)現(xiàn)該功能的代碼:void getcode() /獲得身份和密碼 char ch1100;int i,flag=0,num=0;ma_st=0;while(1) /進(jìn)入“管理員”i=0;while(ch1i=getch()!=r) putchar(ch1i);i+;if(i1) ch10=9;if(ch10=1) fl
15、ag=0;/printf(1);printf(.管理員您好!nt請您輸入您的密碼,按回車結(jié)束:);while(1) i=0;while(codei=getch()!=r&i=16)system(cls);iden();printf(1.管理員您好!n);printf(t對不起,您輸入的密碼有誤,請重新輸入:n);else if(check(1,0,code)=1)flag=1;ma_st=1;break;elsesystem(cls);iden();printf(1.管理員您好!n);printf(t對不起,您輸入的密碼有誤,請重新輸入:);else if(ch10=2) /進(jìn)入“學(xué)生”fla
16、g=0;printf(nnt請您輸入你的學(xué)號,按回車結(jié)束:);while(1)i=0;while(namei=getchar()!=n) i+;namei=0;if(i=13)system(cls);iden();printf(2nn);printf(t對不起,您輸入的學(xué)號有誤,學(xué)號為12位的正數(shù),請重新輸入:);else break;printf(t請輸入您的密碼,按回車結(jié)束:);while(1)i=0;while(codei=getch()!=r) printf(*);i+; codei=0;if(i=16)system(cls);iden();printf(2nnt請您輸入你的學(xué)號,按回
17、車結(jié)束:n%sn,name);else if(check(2,name,code)=2)flag=1;ma_st=2;break;else system(cls);iden();printf(2nnt請您輸入你的學(xué)號,按回車結(jié)束:%sn,name);printf(t對不起,您輸入的密碼有誤,請重新輸入:);else /重新選擇身份system(cls);iden();printf(nt對不起,您的輸入有誤,輸入應(yīng)為12的數(shù)字,請重新選擇您的身份:);if(flag=1) break; /若身份和密碼都已驗(yàn)證,退出循環(huán),進(jìn)入下一個(gè)函數(shù) 3.1.3 身份和密碼的驗(yàn)證模塊 獲得的身份和密碼驗(yàn)證身份和
18、密碼返回0,提示密碼錯(cuò)誤返回2,進(jìn)入學(xué)生賬戶界面返回1,進(jìn)入管理員界面實(shí)現(xiàn)該模塊功能的代碼:int check(int n,char num,char _code) /密碼的驗(yàn)證 file *fp;int i=0;struct people s;if(fp=fopen(d:filea.txt,r)=null) exit(0);if(n=1)fread(&s,len,1,fp);if(strcmp(_code,s.code)=0) i=1;else i=0;fclose(fp);else if(n=2)while(fread(&s,len,1,fp)!=0)if(strcmp(num,s.st_
19、num )=0) break;if(strcmp(_code,s.code)=0) i=2;else i=0;fclose(fp);return(i); /若返回1則是管理員,2則是學(xué)生 4 系統(tǒng)測試4.1 身份的選擇測試4.1.14.1.2 輸入測試數(shù)據(jù):1,2,3,10和字符a ,b ,回車鍵,刪除鍵, 預(yù)期結(jié)果:當(dāng)輸入1 時(shí)進(jìn)入管理員界面,當(dāng)輸入2 時(shí)進(jìn)入學(xué)生賬戶界面,當(dāng)輸入為其它時(shí),打印提示“輸入錯(cuò)誤,請重新輸入” 測試結(jié)果:和分析結(jié)果一致。4.2 身份和密碼的驗(yàn)證測試4.2.1 輸入測試數(shù)據(jù):當(dāng)選擇為管理員時(shí),輸入默認(rèn)密碼123,和其它隨意字符;當(dāng)為學(xué)生賬戶時(shí),輸入已經(jīng)保存的學(xué)號20
20、11和默認(rèn)密碼,以及其它輸入。預(yù)期結(jié)果:當(dāng)學(xué)號和密碼都是文件中保存的一致時(shí),進(jìn)入正確界面,否則提示“輸入錯(cuò)誤”測試結(jié)果:和分析結(jié)果一致。4.3 管理員模塊的測試4.3.1輸入的測試數(shù)據(jù):分別輸入09的數(shù)字,和各種字符。預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對應(yīng)的界面。測試結(jié)果:和分析結(jié)果一致。4.4 學(xué)生界面模塊測試4.4.1 輸入的測試數(shù)據(jù):分別輸入09的數(shù)字,和各種字符。預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對應(yīng)的界面。測試結(jié)果:和分析結(jié)果一致。 4.5 學(xué)生信息管理模塊4.5.1 輸入的測試數(shù)據(jù):分別輸入09的數(shù)字,和各種字符。預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對應(yīng)的界面。測試結(jié)果:和分析結(jié)果一
21、致4.5.2 。5 系統(tǒng)運(yùn)行界面5.1 進(jìn)入系統(tǒng)界面5.2 身份選擇界面5.3 進(jìn)入管理員界面5.4 進(jìn)入學(xué)生賬戶界面5.5 進(jìn)入學(xué)生管理界面5.6 進(jìn)入統(tǒng)計(jì)管理界面5.7 進(jìn)入編排管理界面5.8 進(jìn)入學(xué)院和專業(yè)編碼查看界面5.9 進(jìn)入學(xué)生信息查詢界面5.10 進(jìn)入學(xué)生選課信息查詢界面5.11 退出系統(tǒng)提示界面6 總結(jié) 本課程設(shè)計(jì)進(jìn)行了教務(wù)信息管理系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)。主要實(shí)現(xiàn)了管理員對學(xué)生信息的錄入,保存,分析,管理與學(xué)生對自己教務(wù)信息進(jìn)行查看的過程。在設(shè)計(jì)過程中,我們根據(jù)實(shí)際情況進(jìn)行了詳盡的系統(tǒng)需求分析,并給出了系統(tǒng)需求分析的典型分析步驟。在系統(tǒng)設(shè)計(jì)部分,介紹了系統(tǒng)開發(fā)和設(shè)計(jì)的總體思想。
22、系統(tǒng)開發(fā)與設(shè)計(jì)的總體思想是系統(tǒng)開發(fā)的主線。在總體設(shè)計(jì)部分還給出了系統(tǒng)模塊結(jié)構(gòu)圖,并對各個(gè)模塊的設(shè)計(jì)過程進(jìn)行了闡述。根據(jù)軟件工程的基本流程,還對系統(tǒng)的流程進(jìn)行了描述,并進(jìn)行數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。整個(gè)系統(tǒng)設(shè)計(jì)部分為系統(tǒng)的實(shí)現(xiàn)構(gòu)建了骨架,并在詳細(xì)設(shè)計(jì)中由各個(gè)功能模塊實(shí)現(xiàn)各個(gè)細(xì)節(jié)部分。在對本系統(tǒng)的實(shí)現(xiàn)過程中,將各個(gè)主要功能分別由不同的c語言源程序來實(shí)現(xiàn),從而完成了在開發(fā)時(shí)對系統(tǒng)功能模塊的劃分。在對不同賬戶的管理方面,大都用到了結(jié)構(gòu)體進(jìn)行管理,使得程序更加結(jié)構(gòu)化。在對數(shù)據(jù)的保存和讀取時(shí)用到了文件的讀取和保存,使得我對文件的運(yùn)用更加的嫻熟。本系統(tǒng)雖然對教務(wù)信息管理系統(tǒng)的基本功能進(jìn)行了實(shí)現(xiàn),但也有需要完善的地方。例
23、如,學(xué)生的功能比較少,大部分的功能都是管理員實(shí)現(xiàn)的,對此,可以增加學(xué)生賬戶的功能。同時(shí),學(xué)生和管理員之間沒有有機(jī)的聯(lián)系,該系統(tǒng)還缺少學(xué)生與管理員之間的信息反饋,可以設(shè)置學(xué)習(xí)對管理員的反饋功能和管理員對學(xué)生的提醒功能。另外,本系統(tǒng)是單機(jī)版的投票系統(tǒng),還可以考慮將其擴(kuò)展為網(wǎng)絡(luò)版的投票系統(tǒng),采用c/s架構(gòu)來實(shí)現(xiàn)多用戶端同時(shí)進(jìn)行投票。最后,為了體現(xiàn)系統(tǒng)的友好交互能力,可以實(shí)現(xiàn)圖形化操作界面。7. 參考文獻(xiàn)1.c/c+/c#程序員實(shí)用大全 美kris jamsa 著2.c程序設(shè)計(jì)(第四版) 譚浩強(qiáng) 著8. 代碼清單#include#include#include#include #define len
24、sizeof(struct people)#define sch sizeof(struct school)#define cla sizeof(struct classes)int n_n=0,n_n2=0,tc_=0; /為了讀取而用的必要的全局變量int ma_st=0;char name20,code20;/-/* 題目5:教務(wù)信息管理系統(tǒng)1、題目描述 設(shè)計(jì)一個(gè)教務(wù)信息管理系統(tǒng),該程序具有以下功能: (1)錄入如下信息:學(xué)生基本信息:如學(xué)號、姓名、性別、年齡電、宿舍號碼、話號碼等。 課程基本信息:課程編號、課程名稱、考試成績、平時(shí)成績、綜合成績、 學(xué)分、重修否等。如果重修,需要考慮重修
25、學(xué)期、重修成績,并且要考慮多次重修的情況。 (2)錄入選課信息 (3)錄入學(xué)生成績 (3)按班統(tǒng)計(jì)學(xué)生選課情況及考試成績。 (4)按課程統(tǒng)計(jì)學(xué)生名單及考試成績。 (5)統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程。2、題目要求 (1)按照分析、設(shè)計(jì)、編碼、調(diào)試和測試過程完成應(yīng)用程序; (2)學(xué)習(xí)并使用流程圖等工具,并在撰寫報(bào)告中使用; (3)程序的各項(xiàng)功能在程序運(yùn)行時(shí),以菜單方式選擇并執(zhí)行; (4)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示,包括:輸入數(shù)據(jù)的內(nèi)容、格式及結(jié)束方式等 (5)所有的信息存儲(chǔ)在文件中,并實(shí)現(xiàn)文件讀寫操作。 (6)程序中用鏈表存放學(xué)生信息并實(shí)現(xiàn)增刪減功能。3、提示 (1)學(xué)
26、生基本信息可以設(shè)計(jì)一個(gè)結(jié)構(gòu)體類型 (2)自己構(gòu)思并增加的除規(guī)定功能之外的新功能,酌情加分。*/-int check(int n,char num,char _code);struct people *read_(); /從文件里讀出結(jié)構(gòu)體void ban_p(); /將班級課表寫入每個(gè)學(xué)生void xiazai(); int ma_ten(); /退出void last(); /結(jié)語 /-void student_meu(); /學(xué)生界面void st_one(char name); /學(xué)生修改信息void st_one_one(char name); /void st_two(char na
27、me); /選課信息void st_two_three(); /學(xué)生信息錄入void st_three(char name); /考試成績、重修void st_four(char name); /修改密碼/-void manage_meu(); /管理員界面.void ma_one(); /管理員身份.void ma_one_one(); /修改身份.void ma_change(struct people *p0); /修改文件,存入一個(gè)單位.void ma_two(); /學(xué)院專業(yè)編碼.void ma_two_one(); /編排學(xué)院和專業(yè).void ma_two_two(); /查看學(xué)院
28、和專業(yè).void ma_three(); /課程編碼.void ma_three_one(); /增加課程編排void ma_three_two(); /查看課程void ma_three_three(); /重新編排課程void ma_four(); /選課信息.void ma_five(); /學(xué)生信息管理.void ma_five_one(); /學(xué)生信息查詢.void ma_five_two(); /學(xué)生身份修改.void ma_five_four(); /學(xué)生成績修改。void ma_five_three(); /學(xué)生信息錄入.void ma_five_five(); /學(xué)生信息刪除
29、void ma_six(); /統(tǒng)計(jì)管理void ma_six_one(); /按班統(tǒng)計(jì)學(xué)生選課情況,考試成績.void ma_six_two(); /按課程統(tǒng)計(jì)學(xué)生名單及考試成績.void ma_six_three(); /統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程).void ma_six_four(); /錄入班級選課. /-struct ban /班級int one;/學(xué)院int two;/專業(yè)int three;/;班級 int four30;/課表double five30;/各科平均分struct ban *next;/-struct classes /課程結(jié)構(gòu)體int one;c
30、har ch50;double sum;/該科目學(xué)分;/-struct school /編碼學(xué)院和專業(yè)int one; / 學(xué)院編號char two20; /學(xué)院名稱int three20; /專業(yè)編號char four20100;/專業(yè)名稱struct school *next;/-struct people /學(xué)生的結(jié)構(gòu)體char st_num20; /學(xué)號char name20; /姓名char sex20; /性別int age; /年齡char dor_num20; /宿舍號碼char ph_num20; /電話號碼int sub_20;int kao20; /考試科目double
31、sub120; /各科考試成績double sub220; /各科平時(shí)成績double sub320; /各科綜合成績char code20; /用戶密碼int sc_ta50; /個(gè)人課表int sc_ro50; /課室char _sc20; /就讀學(xué)校int _sub1; /學(xué)院,int _sub2; /專業(yè)int _cla; /班級int _ji; /級數(shù)float xuefen; /已修學(xué)分struct people *next;/-struct classes* re1(int n) /返回課程的結(jié)構(gòu)體file *fp;struct classes *p;fp=fopen(d:fil
32、eclasses.txt,r);p=(struct classes*)malloc(cla);while(fread(p,cla,1,fp)!=0)if(n=p-one) break;fclose(fp);return (p);/-struct school* re2(int n) /返回學(xué)院編號的結(jié)構(gòu)體 file *fp;struct school *p;fp=fopen(d:fileschool.txt,r);p=(struct school*)malloc(sch);while(fread(p,sch,1,fp)!=0)if(n=p-one) break;fclose(fp);retur
33、n (p);/-struct ban*read_2() /返回文件里班的結(jié)構(gòu)體file *fp;n_n2=0;fp=fopen(d:fileban.txt,r);struct ban *head,*p1,*p2;p1=(struct ban*)malloc(sizeof(struct ban);while(fread(p1,sizeof(struct ban),1,fp)!=0)if(n_n2=0) head=p1;else p2-next=p1; p2=p1; p1=(struct ban*)malloc(sizeof(struct ban); n_n2+;p2-next=null;fclo
34、se(fp);return(head);/-struct ban*re3(struct people *p0) /返回一個(gè)班的結(jié)構(gòu)體file *fp;fp=fopen(d:fileban.txt,r);struct ban *p;p=(struct ban*)malloc(sizeof(struct ban);while(fread(p,sizeof(struct ban),1,fp)!=0)if(p-one=p0-_sub1&p-two=p0-_sub2&p-three=p0-_cla) break;fclose(fp);return (p);/-struct ban *average(st
35、ruct ban*p0) /統(tǒng)計(jì)一個(gè)班各科的平均分 struct people *p1; int i,j,n; double sum20=0; p1=read_(); j=0; while(p1!=null) i=0; if(p0-one=p1-_sub1&p0-two=p1-_sub2&p0-three=p1-_cla) while(p1-sc_tai!=0) sumi+=p1-sub1i; i+; j+; p1=p1-next; n=i; while(n0) sumn-1=sumn-1/j; n-; p0-fiven=sumn; return (p0);/-void ma_change2(
36、struct ban *p0) /修改文件里一個(gè)班級file *fp;struct ban *p;int flag_1=0;p=read_2(); fp=fopen(d:fileban.txt,w);while(p!=null) if(p-one=p0-one&p-two=p0-two&p-three=p0-three) fwrite(p0,sizeof(struct ban),1,fp); flag_1=1; elsefwrite(p,sizeof(struct ban),1,fp); p=p-next; if(p=null) break; n_n2-;fclose(fp);if(flag_
37、1=0)fp=fopen(d:fileban.txt,a); /重寫fwrite(p0,sizeof(struct ban),1,fp);fclose(fp);/-struct people *read_() /讀出文件里的結(jié)構(gòu)體 file *fp; n_n=0;struct people *head,*p1,*p2;fp=fopen(d:filea.txt,r);p1=(struct people *)malloc(len); while(fread(p1,len,1,fp)!=0)if(n_n=0) head=p1;else p2-next=p1;p2=p1;n_n+;p1=(struct people *)malloc(len);p2-next=null;fclose(fp);return(head);/-void cut_people(struct people *p0) /刪除一個(gè)單位file *fp;struct people *p;p=read_(); fp=fopen(d:filea.txt,w);while(n_n0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (高清版)DB3714∕T 0008-2021 黨政機(jī)關(guān)會(huì)務(wù)服務(wù)規(guī)范
- 第18課《我的白鴿》教學(xué)設(shè)計(jì)- 2024-2025學(xué)年統(tǒng)編版語文七年級上冊
- 2025年果洛貨運(yùn)上崗證模擬考試0題
- 2025年張家口駕駛員貨運(yùn)從業(yè)資格證模擬考試
- 2025年韶關(guān)貨運(yùn)資格證考試題答案
- 第十八章 平行四邊形數(shù)學(xué)活動(dòng) 折紙作60°、30°、15°角 教學(xué)設(shè)計(jì)-2024-2025學(xué)年人教版數(shù)學(xué)八年級下冊
- 第19課《大雁歸來》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文七年級上冊
- 【人教PEP版英語三年級上冊】期末測試卷(八)及答案
- 第7課+近代以來中國的官員選拔與管理+高二上學(xué)期歷史統(tǒng)編版(2019)選擇性必修1
- 百分?jǐn)?shù)的應(yīng)用(二)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北師大版六年級數(shù)學(xué)上冊
- 航空機(jī)載設(shè)備履歷本
- 企業(yè)風(fēng)險(xiǎn)管理-戰(zhàn)略與績效整合(中文版)
- 高效能人士的七個(gè)習(xí)慣The7HabitsofHighlyEffectivePeople課件
- 小學(xué)體育與健康教育科學(xué)二年級下冊第一章體育基本活動(dòng)能力立定跳遠(yuǎn)教案 省一等獎(jiǎng)
- 工程分包管理計(jì)劃
- 民事訴訟法學(xué)整套ppt課件完整版教學(xué)教程最全電子講義(最新)
- 河北省自然科學(xué)基金資助項(xiàng)目申請書模板
- 四年級奧數(shù)-容斥問題
- 常用標(biāo)準(zhǔn)波導(dǎo)和法蘭尺寸
- 損益平衡點(diǎn)的計(jì)算方法
- 小學(xué)二年級下冊音樂-第4課聆聽《吉祥三寶》3--人音版(簡譜)(10張)ppt課件
評論
0/150
提交評論