2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《高級(jí)語言課程設(shè)計(jì)》課程設(shè)計(jì)</p><p>  題 目: </p><p>  班 級(jí): </p><p><b>  學(xué)生學(xué)號(hào): </b></p><p>  學(xué)生姓名: </p><p>  指導(dǎo)老師: </p&

2、gt;<p><b>  提交時(shí)間:</b></p><p>  《教務(wù)信息管理系統(tǒng)》課程設(shè)計(jì)報(bào)告</p><p><b>  系統(tǒng)分析</b></p><p><b>  問題描述</b></p><p>  《教務(wù)管理系統(tǒng)》作為一個(gè)管理軟件,應(yīng)充分聯(lián)系實(shí)

3、際考慮它的實(shí)用性,同時(shí)還要考慮它應(yīng)用的范圍,解決問題的功能。它是一款管理軟件,主要的功能是實(shí)現(xiàn)管理員對(duì)全校教務(wù)的管理(包括學(xué)生的基本信息管理和學(xué)生的成績(jī)管理),還有實(shí)現(xiàn)學(xué)生對(duì)教務(wù)信息的查詢功能。</p><p><b>  系統(tǒng)功能分析</b></p><p>  設(shè)計(jì)一個(gè)教務(wù)信息管理系統(tǒng),該程序具有以下功能:</p><p> ?。?)錄入如

4、下信息:學(xué)生基本信息:如學(xué)號(hào)、姓名、性別、年齡電、宿舍號(hào)碼、話號(hào)碼等。</p><p>  課程基本信息:課程編號(hào)、課程名稱、考試成績(jī)、平時(shí)成績(jī)、綜合成績(jī)、學(xué)分、重修否等。如果重修,需要考慮重修學(xué)期、重修成績(jī),并且要考慮多次重修的情況。</p><p><b>  (2)錄入選課信息</b></p><p><b> ?。?)錄入學(xué)生

5、成績(jī)</b></p><p> ?。?)按班統(tǒng)計(jì)學(xué)生選課情況及考試成績(jī)。</p><p> ?。?)按課程統(tǒng)計(jì)學(xué)生名單及考試成績(jī)。</p><p> ?。?)統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程。</p><p><b>  開發(fā)平臺(tái)及工具介紹</b></p><p><b&

6、gt;  硬件環(huán)境</b></p><p>  處 理 器:Intel Pentium 166或更高</p><p>  內(nèi) 存:32MB以上</p><p><b>  硬盤空間:2G以上</b></p><p>  顯 卡:SVGA顯示適配器</p><p><b

7、>  軟件環(huán)境</b></p><p>  操作系統(tǒng):Windows98/Me/2000/XP/win7</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p><b>  系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</b></p><p>  教務(wù)管理系統(tǒng)是一個(gè)簡(jiǎn)易的管理系統(tǒng),它需要實(shí)現(xiàn)管理員對(duì)全校

8、教務(wù)的管理和不同學(xué)生對(duì)教務(wù)的查詢,所以需要設(shè)置不同的賬戶給不同的身份,解決這一問題可以設(shè)計(jì)結(jié)構(gòu)體對(duì)不同身份的賬戶信息進(jìn)行保存,用戶需要用各自的密碼才能登陸。同時(shí)結(jié)構(gòu)體里面保存了不用用戶(學(xué)生)的基本信息和成績(jī)信息,通過從文件里讀取相應(yīng)的結(jié)構(gòu)體,可以對(duì)它進(jìn)行信息的查詢,修改,替換,刪除和保存。</p><p>  不同的學(xué)校有不同的學(xué)院和專業(yè),所以需要對(duì)不同的學(xué)院和專業(yè)進(jìn)行編碼,然后用結(jié)構(gòu)體進(jìn)行保存,在學(xué)生信息錄入

9、時(shí)可以錄入編碼,通過不同的編號(hào)來標(biāo)記學(xué)生的學(xué)院和專業(yè),這樣方便了管理員的操作,同時(shí)也提高了操作的效率。實(shí)現(xiàn)的方法是管理員先對(duì)學(xué)院和專業(yè)進(jìn)行編碼然后保存在文件的結(jié)構(gòu)體里,編寫一函數(shù),輸入編號(hào)就返回該編號(hào)對(duì)應(yīng)的學(xué)院和專業(yè)。</p><p>  對(duì)于班級(jí)的選課管理,由于同一班的學(xué)生選課是相同的,所以可以用一個(gè)結(jié)構(gòu)體來保存一個(gè)班的選課信息,這樣子就大大方便了選課信息的管理。</p><p>  系

10、統(tǒng)各個(gè)功能模塊詳細(xì)設(shè)計(jì)</p><p><b>  系統(tǒng)的模塊結(jié)構(gòu)圖</b></p><p><b>  模塊設(shè)計(jì)</b></p><p>  身份選擇模塊設(shè)計(jì) </p><p>  該模塊為系統(tǒng)用戶提供功能選擇界面,管理員或?qū)W生登錄系統(tǒng)后都會(huì)看到對(duì)應(yīng)自己權(quán)限的功能選擇界面,在界面中的系統(tǒng)提示符處

11、輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。</p><p><b>  身份驗(yàn)證模塊</b></p><p>  身份驗(yàn)證模塊的作用是為了保障系統(tǒng)的安全性和系統(tǒng)使用人員角色的區(qū)分。該模塊需要從輸入設(shè)備獲取用戶輸入的用戶名和密碼,判斷是否為合法身份,其次要判斷用戶權(quán)限,從而決定其能使用的系統(tǒng)功能,其模塊功能圖如圖3所示</p>

12、;<p><b>  管理員模塊</b></p><p>  該模為管理員提供學(xué)校教務(wù)管理的功能,在該模塊,管理員可以根據(jù)界面提供不同的功能進(jìn)行基本的操作,在界面中的系統(tǒng)提示符處輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。</p><p><b>  學(xué)生賬戶界面模塊</b></p>&

13、lt;p>  該模為學(xué)生賬戶提供學(xué)校教務(wù)信息查看的功能,在該模塊,學(xué)生可以根據(jù)界面提供不同的功能進(jìn)行基本的操作,在界面中的系統(tǒng)提示符處輸入自己的功能選項(xiàng)即可跳轉(zhuǎn)到相應(yīng)的功能執(zhí)行函數(shù)。功能選擇模塊功能圖如下所示。</p><p><b>  學(xué)生信息管理模塊</b></p><p>  該模塊主要實(shí)現(xiàn)管理員對(duì)學(xué)生信息的管理,包括學(xué)生信息查詢,學(xué)生身份修改,學(xué)生成績(jī)

14、修改,學(xué)生信息錄入,學(xué)生信息刪除。其功能如圖:</p><p><b>  統(tǒng)計(jì)管理模塊</b></p><p>  該模塊主要實(shí)現(xiàn)管理員對(duì)學(xué)生成績(jī)的統(tǒng)計(jì)與管理,包括按班統(tǒng)計(jì)學(xué)生選課情況及考試成績(jī),按課程統(tǒng)計(jì)學(xué)生名單及考試成績(jī), 統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及格課程。其功能如圖:</p><p><b>  編排管理模塊</b

15、></p><p>  該模塊主要實(shí)現(xiàn)對(duì)學(xué)校不同學(xué)院,專業(yè)和課程的編碼,這樣就可以更方便地進(jìn)行管理和運(yùn)用。</p><p><b>  系統(tǒng)流程描述</b></p><p>  系統(tǒng)的主體處理流程如圖</p><p><b>  界面設(shè)計(jì)</b></p><p><

16、;b>  開始界面設(shè)計(jì)</b></p><p>  開始界面是告訴用戶系統(tǒng)的名稱,界面上有當(dāng)前的日期和時(shí)間,以簡(jiǎn)潔為主,整個(gè)系統(tǒng)的顏色為淡藍(lán)背景與淡黃字體,給用戶清爽的感覺。</p><p><b>  身份選擇界面設(shè)計(jì)</b></p><p>  身份選擇界面為用戶不同的身份而設(shè)計(jì),根據(jù)不同的身份只需要輸入1~2,則可以選擇

17、不同的身份登陸,同時(shí),為了系統(tǒng)的安全,和管理的特權(quán),系統(tǒng)要求在選擇身份后還要輸入密碼,輸入的提示很明確,畫面很簡(jiǎn)潔,操作很簡(jiǎn)單,這是該系統(tǒng)設(shè)計(jì)的理念。</p><p><b>  管理員界面設(shè)計(jì)</b></p><p>  管理員的界面,功能強(qiáng)大,只需要輸入對(duì)應(yīng)的編號(hào)就可以實(shí)現(xiàn)對(duì)應(yīng)的功能,這是主要的界面,該系統(tǒng)的大部分功能都是通過該界面操作的。</p>

18、<p><b>  管理員修改身份界面</b></p><p>  管理員界面功能之一,該界面先是對(duì)自己當(dāng)前身份的查看,如果有錯(cuò)誤的地方,可以進(jìn)行修改,如果沒有,則可以返回上一界面。該界面的功能是實(shí)現(xiàn)管理員對(duì)自己身份的管理。</p><p>  管理員->學(xué)生管理界面</p><p>  這是管理員界面中的第2個(gè)功能進(jìn)入后的界面

19、,通過該界面,可以對(duì)全校的學(xué)生進(jìn)行信息的管理,是該系統(tǒng)中管理員的主要功能實(shí)現(xiàn)的界面。</p><p>  管理員->學(xué)生信息查詢界面</p><p>  該界面是管理員對(duì)學(xué)生信息查詢的界面,通過該界面,管理員可以清楚地了解到學(xué)生的信息,包括基本信息和課程信息。該界面對(duì)學(xué)生的信息進(jìn)行了合理的劃分,使人一眼就能獲取到學(xué)生的信息,既簡(jiǎn)潔又實(shí)用。</p><p>&l

20、t;b>  學(xué)生賬戶界面</b></p><p>  該界面是學(xué)生賬戶登陸后看到的界面,該界面詳細(xì)地介紹了學(xué)生可以對(duì)該系統(tǒng)進(jìn)行的操作。</p><p><b>  學(xué)生選課信息界面</b></p><p>  該界面是學(xué)生對(duì)自己選課信息的查詢,通過該界面,學(xué)生可以很清楚地了解到自己已選的課程,和每一個(gè)課程修完后可以獲得的學(xué)分,

21、同時(shí)也顯示了已經(jīng)修了的學(xué)分。</p><p><b>  學(xué)生考試成績(jī)查詢</b></p><p>  該界面是學(xué)生對(duì)自己考試成績(jī)的查詢界面,該界面顯示了該學(xué)生的學(xué)校,學(xué)院和專業(yè),還有考試的科目和每一科的考試成績(jī),平時(shí)成績(jī),綜合成績(jī),同時(shí)根據(jù)每一科的綜合成績(jī)是否低于60分,系統(tǒng)會(huì)自動(dòng)輸出該學(xué)生重修的科目。</p><p><b>  

22、課程管理界面</b></p><p>  該界面是管理員對(duì)課程的管理,能過該界面可以對(duì)全校的課程進(jìn)行編排,查看。</p><p>  學(xué)院和專業(yè)編碼管理界面</p><p>  該界面是管理員對(duì)課程的管理,能過該界面可以對(duì)全校的課程進(jìn)行編排,查看。</p><p>  學(xué)院和專業(yè)編碼查看界面</p><p>

23、;  該界面顯示了管理員已經(jīng)編排的不同學(xué)院和專業(yè)的情況,以學(xué)院為單位,每一個(gè)學(xué)院下面是該學(xué)院的專業(yè),方便管理員查詢和管理。</p><p><b>  結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  定義常量</b></p><p>  #define LEN sizeof(struct people) //</p

24、><p>  #define SCH sizeof(struct school)</p><p>  #define CLA sizeof(struct classes)</p><p><b>  系統(tǒng)用戶數(shù)據(jù)結(jié)構(gòu)</b></p><p>  Struct people //學(xué)生的結(jié)構(gòu)體

25、 </p><p><b>  {</b></p><p>  char st_num[20]; //學(xué)號(hào)</p><p>  char name[20]; //姓名</p><p>  char s

26、ex[20]; //性別</p><p>  int age; //年齡</p><p>  char dor_num[20]; //宿舍號(hào)碼</p><p>  char ph_num[20]; //電話號(hào)碼</p><p>  int sub_[20];<

27、/p><p>  int kao[20]; //考試科目</p><p>  double sub1[20]; //各科考試成績(jī)</p><p>  double sub2[20]; //各科平時(shí)成績(jī)</p><p>  double sub3[20]; //各科綜合成績(jī)<

28、/p><p>  char code[20]; //用戶密碼</p><p>  int sc_ta[50]; //個(gè)人課表</p><p>  int sc_ro[50]; //課室</p><p>  char _sc[20]; //就讀學(xué)校</p><p&

29、gt;  int _sub1; //學(xué)院,</p><p>  int _sub2; //專業(yè)</p><p>  int _cla; //班級(jí)</p><p>  int _ji; //級(jí)數(shù)</p><p>  float xuefen

30、; //已修學(xué)分</p><p>  struct people *next;</p><p><b>  };</b></p><p>  系統(tǒng)學(xué)院和專業(yè)管理數(shù)據(jù)結(jié)構(gòu)</p><p>  struct school //編碼學(xué)院和專業(yè)

31、 </p><p><b>  {</b></p><p>  int one; // 學(xué)院編號(hào)</p><p>  char two[20]; //學(xué)院名稱</p><p>  int three[20]; //專業(yè)編號(hào)</p&g

32、t;<p>  char four[20][100];//專業(yè)名稱</p><p>  struct school *next;</p><p><b>  };</b></p><p><b>  課程數(shù)據(jù)結(jié)構(gòu)</b></p><p>  struct classes //課程結(jié)

33、構(gòu)體 </p><p><b>  {</b></p><p>  int one; //編號(hào)</p><p>  char ch[50]; //課程名稱</p><p> 

34、 double sum;//該科目學(xué)分</p><p><b>  };</b></p><p><b>  班級(jí)管理數(shù)據(jù)結(jié)構(gòu)</b></p><p>  struct ban //班級(jí)</p><p><b>  {</b></p><p>  in

35、t one;//學(xué)院</p><p>  int two;//專業(yè)</p><p>  int three;//;班級(jí)</p><p>  int four[30];//課表</p><p>  double five[30];//各科平均分</p><p>  struct ban *next;</p>

36、<p><b>  };</b></p><p><b>  系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  身份的選擇模塊</b></p><p><b>  流程圖</b></p><p><b>  實(shí)現(xiàn)該功能的代碼:</b

37、></p><p>  void getcode() //獲得身份和密碼 </p><p><b>  {</b></p><p>  char ch1[100];</p><p>  int i,flag

38、=0,num=0;</p><p><b>  ma_st=0;</b></p><p>  while(1) //進(jìn)入“管理員”</p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  while

39、((ch1[i]=getch())!='\r') {putchar(ch1[i]);i++;}</p><p>  if(i>1) ch1[0]='9';</p><p>  if(ch1[0]=='1')</p><p><b>  { </b></p><p>

40、<b>  flag=0;</b></p><p>  //printf("1");</p><p>  printf(".管理員您好!\n\t請(qǐng)您輸入您的密碼,按回車結(jié)束:");</p><p><b>  while(1)</b></p><p><

41、b>  { </b></p><p><b>  i=0;</b></p><p>  while((code[i]=getch())!='\r'&&i<16)</p><p><b>  {</b></p><p>  printf(&quo

42、t;*");i++;</p><p><b>  }</b></p><p>  code[i]='\0';</p><p><b>  if(i>=16)</b></p><p>  {system("cls");</p><

43、p><b>  iden();</b></p><p>  printf("1.管理員您好!\n");</p><p>  printf("\t對(duì)不起,您輸入的密碼有誤,請(qǐng)重新輸入:\n");</p><p><b>  }</b></p><p>  

44、else if(check(1,0,code)==1)</p><p>  {flag=1;ma_st=1;break;}</p><p><b>  else</b></p><p>  {system("cls");</p><p><b>  iden();</b><

45、/p><p>  printf("1.管理員您好!\n");</p><p>  printf("\t對(duì)不起,您輸入的密碼有誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p><b>  }</b></p><p&g

46、t;<b>  }</b></p><p>  else if(ch1[0]=='2') //進(jìn)入“學(xué)生”</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p>  printf("\n\n\t

47、請(qǐng)您輸入你的學(xué)號(hào),按回車結(jié)束:");</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  while((name[i]=getchar())!='\n&

48、#39;) i++;</p><p>  name[i]='\0';</p><p><b>  if(i>=13)</b></p><p><b>  {</b></p><p>  system("cls");</p><p>&

49、lt;b>  iden();</b></p><p>  printf("2\n\n");</p><p>  printf("\t對(duì)不起,您輸入的學(xué)號(hào)有誤,學(xué)號(hào)為12位的正數(shù),請(qǐng)重新輸入:");</p><p><b>  }</b></p><p>  els

50、e break;</p><p><b>  }</b></p><p>  printf("\t請(qǐng)輸入您的密碼,按回車結(jié)束:");</p><p><b>  while(1)</b></p><p><b>  {</b></p><

51、p><b>  i=0;</b></p><p>  while((code[i]=getch())!='\r') {printf("*");i++;}</p><p>  code[i]='\0';</p><p><b>  if(i>=16)</b>&l

52、t;/p><p><b>  {</b></p><p>  system("cls");</p><p><b>  iden();</b></p><p>  printf("2\n\n\t請(qǐng)您輸入你的學(xué)號(hào),按回車結(jié)束:\n%s\n",name);</p

53、><p><b>  }</b></p><p>  else if(check(2,name,code)==2)</p><p>  {flag=1;ma_st=2;break;}</p><p><b>  else </b></p><p><b>  {<

54、/b></p><p>  system("cls");</p><p><b>  iden();</b></p><p>  printf("2\n\n\t請(qǐng)您輸入你的學(xué)號(hào),按回車結(jié)束:%s\n",name);</p><p>  printf("\t對(duì)不起,您

55、輸入的密碼有誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else //重新選擇身份</p><p><b>  {

56、</b></p><p>  system("cls");</p><p><b>  iden();</b></p><p>  printf("\n\t對(duì)不起,您的輸入有誤,輸入應(yīng)為1~2的數(shù)字,請(qǐng)重新選擇您的身份:");</p><p><b>  }&

57、lt;/b></p><p>  if(flag==1) break; //若身份和密碼都已驗(yàn)證,退出循環(huán),進(jìn)入下一個(gè)函數(shù)</p><p><b>  }</b></p><p><b>  }</b></p><p>  身份和密碼的驗(yàn)證模塊</p><p>  實(shí)現(xiàn)

58、該模塊功能的代碼:</p><p>  int check(int n,char num[],char _code[]) //密碼的驗(yàn)證 </p><p><b>  {</b></p><p><b>  FILE *fp;</b></p>

59、<p><b>  int i=0;</b></p><p>  struct people s;</p><p>  if((fp=fopen("D:\\file\\a.txt","r"))==NULL) exit(0);</p><p><b>  if(n==1)</b&

60、gt;</p><p><b>  {</b></p><p>  fread(&s,LEN,1,fp);</p><p>  if(strcmp(_code,s.code)==0) i=1;</p><p><b>  else i=0;</b></p><p>

61、  fclose(fp);</p><p><b>  }</b></p><p>  else if(n==2)</p><p><b>  {</b></p><p>  while(fread(&s,LEN,1,fp)!=0)</p><p><b>

62、  {</b></p><p>  if(strcmp(num,s.st_num )==0) break;</p><p><b>  }</b></p><p>  if(strcmp(_code,s.code)==0) i=2;</p><p><b>  else i=0;</b>

63、</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  return(i); //若返回1則是管理員,2則是學(xué)生</p><p><b>  }</b></p><p><b>  系統(tǒng)測(cè)試&l

64、t;/b></p><p><b>  身份的選擇測(cè)試</b></p><p>  輸入測(cè)試數(shù)據(jù):1,2,3,,,10和字符a ,b ,回車鍵,刪除鍵,</p><p>  預(yù)期結(jié)果:當(dāng)輸入1 時(shí)進(jìn)入管理員界面,當(dāng)輸入2 時(shí)進(jìn)入學(xué)生賬戶界面,當(dāng)輸入為其它時(shí),打印提示“輸入錯(cuò)誤,請(qǐng)重新輸入”</p><p>  測(cè)試

65、結(jié)果:和分析結(jié)果一致。</p><p>  身份和密碼的驗(yàn)證測(cè)試</p><p>  輸入測(cè)試數(shù)據(jù):當(dāng)選擇為管理員時(shí),輸入默認(rèn)密碼123,和其它隨意字符;當(dāng)為學(xué)生賬戶時(shí),輸入已經(jīng)保存的學(xué)號(hào)2011和默認(rèn)密碼,以及其它輸入。</p><p>  預(yù)期結(jié)果:當(dāng)學(xué)號(hào)和密碼都是文件中保存的一致時(shí),進(jìn)入正確界面,否則提示“輸入錯(cuò)誤”</p><p> 

66、 測(cè)試結(jié)果:和分析結(jié)果一致。</p><p><b>  管理員模塊的測(cè)試</b></p><p>  輸入的測(cè)試數(shù)據(jù):分別輸入0~9的數(shù)字,和各種字符。</p><p>  預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對(duì)應(yīng)的界面。</p><p>  測(cè)試結(jié)果:和分析結(jié)果一致。</p><p><b

67、>  學(xué)生界面模塊測(cè)試</b></p><p>  輸入的測(cè)試數(shù)據(jù):分別輸入0~9的數(shù)字,和各種字符。</p><p>  預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對(duì)應(yīng)的界面。</p><p>  測(cè)試結(jié)果:和分析結(jié)果一致。</p><p><b>  學(xué)生信息管理模塊</b></p><

68、p>  輸入的測(cè)試數(shù)據(jù):分別輸入0~9的數(shù)字,和各種字符。</p><p>  預(yù)期結(jié)果:當(dāng)輸入正確的數(shù)字時(shí),進(jìn)入對(duì)應(yīng)的界面。</p><p>  測(cè)試結(jié)果:和分析結(jié)果一致</p><p><b>  。</b></p><p><b>  系統(tǒng)運(yùn)行界面</b></p><

69、p><b>  進(jìn)入系統(tǒng)界面</b></p><p><b>  身份選擇界面</b></p><p><b>  進(jìn)入管理員界面</b></p><p><b>  進(jìn)入學(xué)生賬戶界面</b></p><p><b>  進(jìn)入學(xué)生管理界面&

70、lt;/b></p><p><b>  進(jìn)入統(tǒng)計(jì)管理界面</b></p><p><b>  進(jìn)入編排管理界面</b></p><p>  進(jìn)入學(xué)院和專業(yè)編碼查看界面</p><p>  進(jìn)入學(xué)生信息查詢界面</p><p>  進(jìn)入學(xué)生選課信息查詢界面</p&

71、gt;<p><b>  退出系統(tǒng)提示界面</b></p><p><b>  總結(jié)</b></p><p>  本課程設(shè)計(jì)進(jìn)行了教務(wù)信息管理系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)。主要實(shí)現(xiàn)了管理員對(duì)學(xué)生信息的錄入,保存,分析,管理與學(xué)生對(duì)自己教務(wù)信息進(jìn)行查看的過程。在設(shè)計(jì)過程中,我們根據(jù)實(shí)際情況進(jìn)行了詳盡的系統(tǒng)需求分析,并給出了系統(tǒng)需求分析的典型

72、分析步驟。在系統(tǒng)設(shè)計(jì)部分,介紹了系統(tǒng)開發(fā)和設(shè)計(jì)的總體思想。系統(tǒng)開發(fā)與設(shè)計(jì)的總體思想是系統(tǒng)開發(fā)的主線。在總體設(shè)計(jì)部分還給出了系統(tǒng)模塊結(jié)構(gòu)圖,并對(duì)各個(gè)模塊的設(shè)計(jì)過程進(jìn)行了闡述。根據(jù)軟件工程的基本流程,還對(duì)系統(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é)部分。</p><p>  在對(duì)本系統(tǒng)的實(shí)現(xiàn)過程中,將各個(gè)主要功能分別由不同的C語言源程序來實(shí)

73、現(xiàn),從而完成了在開發(fā)時(shí)對(duì)系統(tǒng)功能模塊的劃分。在對(duì)不同賬戶的管理方面,大都用到了結(jié)構(gòu)體進(jìn)行管理,使得程序更加結(jié)構(gòu)化。在對(duì)數(shù)據(jù)的保存和讀取時(shí)用到了文件的讀取和保存,使得我對(duì)文件的運(yùn)用更加的嫻熟。</p><p>  本系統(tǒng)雖然對(duì)教務(wù)信息管理系統(tǒng)的基本功能進(jìn)行了實(shí)現(xiàn),但也有需要完善的地方。例如,學(xué)生的功能比較少,大部分的功能都是管理員實(shí)現(xiàn)的,對(duì)此,可以增加學(xué)生賬戶的功能。同時(shí),學(xué)生和管理員之間沒有有機(jī)的聯(lián)系,該系統(tǒng)還缺

74、少學(xué)生與管理員之間的信息反饋,可以設(shè)置學(xué)習(xí)對(duì)管理員的反饋功能和管理員對(duì)學(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)圖形化操作界面。</p><p><b>  7. 參考文獻(xiàn)</b></p><p>  1.《c/c++/c#程序員實(shí)用大全》

75、 [美]Kris Jamsa 著</p><p>  2.《c程序設(shè)計(jì)(第四版)》 譚浩強(qiáng) 著</p><p><b>  8. 代碼清單</b></p><p>  #include<stdio.h></p><p>  #include<stdlib.h></p>

76、;<p>  #include<string.h></p><p>  #include <conio.h></p><p>  #define LEN sizeof(struct people)</p><p>  #define SCH sizeof(struct school)</p><p>  

77、#define CLA sizeof(struct classes)</p><p>  int n_n=0,n_n2=0,tc_=0; //為了讀取而用的必要的全局變量</p><p>  int ma_st=0;</p><p>  char name[20],code[20];</p><p>  //--------

78、------------------------------------------------------------------------------</p><p>  /* 題目5:教務(wù)信息管理系統(tǒng)</p><p><b>  1、題目描述</b></p><p>

79、  設(shè)計(jì)一個(gè)教務(wù)信息管理系統(tǒng),該程序具有以下功能:</p><p> ?。?)錄入如下信息:學(xué)生基本信息:如學(xué)號(hào)、姓名、性別、年齡電、宿舍號(hào)碼、話號(hào)碼等。</p><p>  課程基本信息:課程編號(hào)、課程名稱、考試成績(jī)、平時(shí)成績(jī)、綜合成績(jī)、</p><p>  學(xué)分、重修否等。如果重修,需要考慮重修學(xué)期、重修成績(jī),并且要考慮多次重修的情況。</p>&

80、lt;p><b> ?。?)錄入選課信息</b></p><p><b> ?。?)錄入學(xué)生成績(jī)</b></p><p> ?。?)按班統(tǒng)計(jì)學(xué)生選課情況及考試成績(jī)。</p><p> ?。?)按課程統(tǒng)計(jì)學(xué)生名單及考試成績(jī)。</p><p> ?。?)統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程。&

81、lt;/p><p><b>  2、題目要求</b></p><p>  (1)按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試過程完成應(yīng)用程序;</p><p> ?。?)學(xué)習(xí)并使用流程圖等工具,并在撰寫報(bào)告中使用;</p><p> ?。?)程序的各項(xiàng)功能在程序運(yùn)行時(shí),以菜單方式選擇并執(zhí)行;</p><p>  

82、(4)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示,包括:輸入數(shù)據(jù)的內(nèi)容、格式及結(jié)束方式等</p><p> ?。?)所有的信息存儲(chǔ)在文件中,并實(shí)現(xiàn)文件讀寫操作。</p><p>  (6)程序中用鏈表存放學(xué)生信息并實(shí)現(xiàn)增刪減功能。</p><p><b>  3、提示</b></p><p> ?。?)學(xué)生基本信息可以設(shè)

83、計(jì)一個(gè)結(jié)構(gòu)體類型</p><p> ?。?)自己構(gòu)思并增加的除規(guī)定功能之外的新功能,酌情加分。*/</p><p>  //--------------------------------------------------------------------------------------</p><p>  int check(int n,char num[

84、],char _code[]);</p><p>  struct people *read_(); //從文件里讀出結(jié)構(gòu)體</p><p>  void ban_p(); //將班級(jí)課表寫入每個(gè)學(xué)生</p><p>  void xiazai(); </p><p>  int ma_ten();

85、 //退出</p><p>  void last(); //結(jié)語</p><p>  //--------------------------------------------------------------------------------------</p><p>  void student_meu()

86、; //學(xué)生界面</p><p>  void st_one(char name[]); //學(xué)生修改信息</p><p>  void st_one_one(char name[]); //</p><p>  void st_two(char name[]); //選課信息

87、</p><p>  void st_two_three(); //學(xué)生信息錄入</p><p>  void st_three(char name[]); //考試成績(jī)、重修</p><p>  void st_four(char name[]); //修改密碼</p><p>  //

88、--------------------------------------------------------------------------------------</p><p>  void manage_meu(); //管理員界面.</p><p>  void ma_one(); //管理員身份.</p><p>  void ma

89、_one_one(); //修改身份.</p><p>  void ma_change(struct people *p0); //修改文件,存入一個(gè)單位.</p><p>  void ma_two(); //學(xué)院專業(yè)編碼.</p><p>  void ma_two_one(); //編排學(xué)院和專業(yè).</p>

90、<p>  void ma_two_two(); //查看學(xué)院和專業(yè).</p><p>  void ma_three(); //課程編碼.</p><p>  void ma_three_one(); //增加課程編排</p><p>  void ma_three_two(); //查看課程<

91、;/p><p>  void ma_three_three(); //重新編排課程</p><p>  void ma_four(); //選課信息.</p><p>  void ma_five(); //學(xué)生信息管理.</p><p>  void ma_five_one(); //學(xué)生信息查詢.

92、</p><p>  void ma_five_two(); //學(xué)生身份修改.</p><p>  void ma_five_four(); //學(xué)生成績(jī)修改。</p><p>  void ma_five_three(); //學(xué)生信息錄入.</p><p>  void ma_five_five

93、(); //學(xué)生信息刪除</p><p>  void ma_six(); //統(tǒng)計(jì)管理</p><p>  void ma_six_one(); //按班統(tǒng)計(jì)學(xué)生選課情況,考試成績(jī).</p><p>  void ma_six_two(); //按課程統(tǒng)計(jì)學(xué)生名單及考試成績(jī).</p>&l

94、t;p>  void ma_six_three(); //統(tǒng)計(jì)并輸出每個(gè)同學(xué)已修學(xué)分及不及三格課程).</p><p>  void ma_six_four(); //錄入班級(jí)選課. </p><p>  //-------------------------------------------------------------------------

95、-------------</p><p>  struct ban //班級(jí)</p><p><b>  {</b></p><p>  int one;//學(xué)院</p><p>  int two;//專業(yè)</p><p>  int three;//;班級(jí)</p><p

96、>  int four[30];//課表</p><p>  double five[30];//各科平均分</p><p>  struct ban *next;</p><p><b>  };</b></p><p>  //------------------------------------------

97、--------------------------------------------</p><p>  struct classes //課程結(jié)構(gòu)體</p><p><b>  {</b></p><

98、;p><b>  int one;</b></p><p>  char ch[50];</p><p>  double sum;//該科目學(xué)分</p><p><b>  };</b></p><p>  //----------------------------------------

99、----------------------------------------------</p><p>  struct school //編碼學(xué)院和專業(yè)</p><p><b>  {</b></p>

100、<p>  int one; // 學(xué)院編號(hào)</p><p>  char two[20]; //學(xué)院名稱</p><p>  int three[20]; //專業(yè)編號(hào)</p><p>  char four[20][100];//專業(yè)名稱</p><p>  struct school *next;</p>

101、<p><b>  };</b></p><p>  //--------------------------------------------------------------------------------------</p><p>  struct people

102、 //學(xué)生的結(jié)構(gòu)體</p><p><b>  {</b></p><p>  char st_num[20]; //學(xué)號(hào)</p><p>  char name[20]; //姓名</p><p>  char sex[20

103、]; //性別</p><p>  int age; //年齡</p><p>  char dor_num[20]; //宿舍號(hào)碼</p><p>  char ph_num[20]; //電話號(hào)碼</p><p>  int sub_[20];</p>

104、;<p>  int kao[20]; //考試科目</p><p>  double sub1[20]; //各科考試成績(jī)</p><p>  double sub2[20]; //各科平時(shí)成績(jī)</p><p>  double sub3[20]; //各科綜合成績(jī)</p>

105、;<p>  char code[20]; //用戶密碼</p><p>  int sc_ta[50]; //個(gè)人課表</p><p>  int sc_ro[50]; //課室</p><p>  char _sc[20]; //就讀學(xué)校</p><p>  

106、int _sub1; //學(xué)院,</p><p>  int _sub2; //專業(yè)</p><p>  int _cla; //班級(jí)</p><p>  int _ji; //級(jí)數(shù)</p><p>  float xuefen;

107、 //已修學(xué)分</p><p>  struct people *next;</p><p><b>  };</b></p><p>  //--------------------------------------------------------------------------------------</p>

108、<p>  struct classes* re1(int n) //返回課程的結(jié)構(gòu)體</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  struct cla

109、sses *p;</p><p>  fp=fopen("D:\\file\\classes.txt","r");</p><p>  p=(struct classes*)malloc(CLA);</p><p>  while(fread(p,CLA,1,fp)!=0)</p><p><b&

110、gt;  {</b></p><p>  if(n==p->one) break;</p><p><b>  }</b></p><p>  fclose(fp);</p><p>  return (p);</p><p><b>  }</b><

111、/p><p>  //--------------------------------------------------------------------------------------</p><p>  struct school* re2(int n) //返回學(xué)院編號(hào)的結(jié)構(gòu)體</p>

112、<p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  struct school *p;</p><p>  fp=fopen("D:\\file\\school.txt","r");</p><p

113、>  p=(struct school*)malloc(SCH);</p><p>  while(fread(p,SCH,1,fp)!=0)</p><p><b>  {</b></p><p>  if(n==p->one) break;</p><p><b>  }</b>&l

114、t;/p><p>  fclose(fp);</p><p>  return (p);</p><p><b>  }</b></p><p>  //--------------------------------------------------------------------------------------

115、</p><p>  struct ban*read_2() //返回文件里班的結(jié)構(gòu)體</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p><

116、;b>  n_n2=0;</b></p><p>  fp=fopen("D:\\file\\ban.txt","r");</p><p>  struct ban *head,*p1,*p2;</p><p>  p1=(struct ban*)malloc(sizeof(struct ban));<

117、/p><p>  while(fread(p1,sizeof(struct ban),1,fp)!=0)</p><p><b>  {</b></p><p>  if(n_n2==0) head=p1;else p2->next=p1;</p><p><b>  p2=p1;</b><

118、/p><p>  p1=(struct ban*)malloc(sizeof(struct ban));</p><p><b>  n_n2++;</b></p><p><b>  }</b></p><p>  p2->next=NULL;</p><p>  fcl

119、ose(fp);</p><p>  return(head);</p><p><b>  }</b></p><p>  //--------------------------------------------------------------------------------------</p><p> 

120、 struct ban*re3(struct people *p0) //返回一個(gè)班的結(jié)構(gòu)體</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  fp=fopen("D:\\file

121、\\ban.txt","r");</p><p>  struct ban *p;</p><p>  p=(struct ban*)malloc(sizeof(struct ban));</p><p>  while(fread(p,sizeof(struct ban),1,fp)!=0)</p><p>&

122、lt;b>  {</b></p><p>  if(p->one==p0->_sub1&&p->two==p0->_sub2&&p->three==p0->_cla) break;</p><p><b>  }</b></p><p>  fclose(fp

123、);</p><p>  return (p);</p><p><b>  }</b></p><p>  //--------------------------------------------------------------------------------------</p><p>  struct

124、ban *average(struct ban*p0) //統(tǒng)計(jì)一個(gè)班各科的平均分</p><p><b>  {</b></p><p>  struct people *p1;</p><p>  int i,j,n;</p><p>  double sum

125、[20]={0};</p><p>  p1=read_();</p><p><b>  j=0;</b></p><p>  while(p1!=NULL)</p><p><b>  { </b></p><p><b>  i=0;</b><

126、;/p><p>  if(p0->one==p1->_sub1&&p0->two==p1->_sub2&&p0->three==p1->_cla)</p><p><b>  {</b></p><p>  while(p1->sc_ta[i]!=0)</p>

127、<p><b>  {</b></p><p>  sum[i]+=p1->sub1[i];</p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  j++;</b></p&g

128、t;<p><b>  }</b></p><p>  p1=p1->next;</p><p><b>  }</b></p><p><b>  n=i;</b></p><p>  while(n>0)</p><p>&

129、lt;b>  {</b></p><p>  sum[n-1]=sum[n-1]/j;</p><p><b>  n--;</b></p><p>  p0->five[n]=sum[n];</p><p><b>  }</b></p><p> 

130、 return (p0);</p><p><b>  }</b></p><p>  //--------------------------------------------------------------------------------------</p><p>  void ma_change2(struct ban *p

131、0) //修改文件里一個(gè)班級(jí)</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  struct ban *p;</p><p>  int flag_1=0;<

132、/p><p>  p=read_2(); </p><p>  fp=fopen("D:\\file\\ban.txt","w");</p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  if(p->

133、one==p0->one&&p->two==p0->two&&p->three==p0->three) </p><p><b>  {</b></p><p>  fwrite(p0,sizeof(struct ban),1,fp);</p><p><b>  flag

134、_1=1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  fwrite(p,sizeof(struct ban),1,fp);</p><p>  p=p->next;</p><p>  

135、if(p==NULL) break;</p><p><b>  n_n2--;</b></p><p><b>  }</b></p><p>  fclose(fp);</p><p>  if(flag_1==0)</p><p><b>  {</b&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論