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

下載本文檔

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

文檔簡介

1、<p><b>  《管理信息系統(tǒng)》</b></p><p><b>  課程設(shè)計報告</b></p><p>  選 題:學(xué)生成績管理系統(tǒng)</p><p><b>  班 級:</b></p><p><b>  姓名學(xué)號:</b>

2、</p><p><b>  目錄</b></p><p>  前言……………………………………………………………………………2</p><p>  系統(tǒng)分析………………………………………………………………………3</p><p>  可行性分析…………………………………………………………………3</p>

3、<p>  1.管理上的可行性………………………………………………………………3</p><p>  2.技術(shù)上的可行性………………………………………………………………3</p><p>  3.經(jīng)濟(jì)上的可行性………………………………………………………………3</p><p>  組織結(jié)構(gòu)圖…………………………………………………………………4</p&

4、gt;<p>  1.組織結(jié)構(gòu)圖分析………………………………………………………………4</p><p>  2.具體組織結(jié)構(gòu)圖………………………………………………………………4</p><p>  業(yè)務(wù)流程圖…………………………………………………………………5</p><p>  數(shù)據(jù)流程圖和數(shù)據(jù)字典……………………………………………………6</

5、p><p>  1.數(shù)據(jù)流程圖……………………………………………………………………6</p><p>  2.數(shù)據(jù)字典………………………………………………………………………8</p><p>  系統(tǒng)設(shè)計………………………………………………………………………10</p><p>  模塊結(jié)構(gòu)體系………………………………………………………………10

6、</p><p>  1.功能模塊………………………………………………………………………10</p><p>  2.功能模塊說明…………………………………………………………………11</p><p>  3.系統(tǒng)維護(hù)模塊…………………………………………………………………11</p><p>  4.系統(tǒng)流程圖…………………………………………

7、…………………………12</p><p>  5.數(shù)據(jù)庫設(shè)計……………………………………………………………………12</p><p>  (1)數(shù)據(jù)庫概要設(shè)計……………………………………………………………12</p><p> ?。?)數(shù)據(jù)庫詳細(xì)設(shè)計……………………………………………………………13</p><p> ?。ǘ┐a設(shè)計…………

8、…………………………………………………………13</p><p>  (三)輸入/輸出設(shè)計…………………………………………………………… 20</p><p>  四、體會和收獲……………………………………………………………………20</p><p>  五、課程設(shè)計小組分工……………………………………………………………21</p><p>

9、  學(xué)生成績管理信息系統(tǒng)</p><p><b>  前言</b></p><p>  學(xué)生成績管理系統(tǒng)是為了更好的管理學(xué)生考試成績而開發(fā)的數(shù)據(jù)管理軟件。它對于一個學(xué)校是不可缺少的重要部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。目前各個高校的基本情況是:每次考試結(jié)束,老師們都要統(tǒng)計大量的學(xué)生成績,這些數(shù)據(jù)的歸檔、統(tǒng)計工作任務(wù)重,統(tǒng)計結(jié)束后往往錯誤百出。工作量

10、之大,查閱,維護(hù)都有不同程度的問題存在。所以,學(xué)生成績管理管理系統(tǒng)為用戶提供充足的信息和快捷的查詢手段,實現(xiàn)學(xué)生基本信息、成績的錄入,刪除,查詢,維護(hù)以及成績的統(tǒng)計分析等幾方面的功能,是現(xiàn)實問題的迫切要求。</p><p>  如果一個學(xué)校沒有一個完善的成績管理平臺,計算機的使用就沒有真正發(fā)揮有效的作用。隨著計算機應(yīng)用的普及與深入,利用計算機能夠?qū)λ锌荚嚦煽冞M(jìn)行統(tǒng)一管理,進(jìn)行分析,大大減少了工作量,提高了工作效

11、率,為教學(xué)辦公帶來了極大的方便。本系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)學(xué)生成績管理的系統(tǒng)化、規(guī)范化、自動化。達(dá)到提高學(xué)生成績管理效率的目的。與傳統(tǒng)管理方法相比有明顯的優(yōu)點:查找方便,可靠性高,保密性好,成本低。徹底改變了以前繁雜的管理模式,實現(xiàn)全面的、相對集中的、職能化的信息綜合管理。</p><p>  計算機被用到信息管理系統(tǒng)的環(huán)境正是適應(yīng)了當(dāng)今時代飛速發(fā)展的信息時代。人們深刻的認(rèn)識到了計算機功能的強大,對于復(fù)雜的信息管

12、理,計算機充分發(fā)揮著它的優(yōu)越性。檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低,這些優(yōu)點極大地減輕了學(xué)院教學(xué)人員的工作量,縮小開支,提高了學(xué)生檔案管理的效率和準(zhǔn)確性,能夠合理的安排時間,學(xué)生能夠盡快的知道自己的考試成績。同時,學(xué)生管理系統(tǒng)的應(yīng)用也為今天的教育在未來市場的競爭力有所提高。</p><p>  對于一個學(xué)校而言,學(xué)生成績管理是一項非常繁瑣和復(fù)雜的工作,工作量大,不好管理。為了適應(yīng)時代

13、的發(fā)展,提高工作效率尤為重要。學(xué)生成績管理系統(tǒng)的改進(jìn)更好的利用了現(xiàn)代高科技,對學(xué)生負(fù)責(zé),對本校未來的發(fā)展負(fù)責(zé),對整個中國教育的負(fù)責(zé),是真正朝向未來教育發(fā)展的順應(yīng)潮流的進(jìn)步。</p><p><b>  系統(tǒng)分析</b></p><p><b>  可行性性分析</b></p><p>  1.管理上的可行性:</p&

14、gt;<p>  主要是教務(wù)處管理人員的大力支持,系領(lǐng)導(dǎo)認(rèn)同,現(xiàn)有的管理制度和方法科學(xué),規(guī)章制度齊全,原始數(shù)據(jù)正確等。規(guī)章制度和管理方法系統(tǒng)的建設(shè)提供了制度保障。</p><p>  2.技術(shù)上的可行性:</p><p>  技術(shù)的可行性分析要考慮將來要采用的硬件和軟件技術(shù)能否滿足用戶提出的要求。此外還要考慮開發(fā)人員的水平,在數(shù)據(jù)庫方面要對管理模式比較熟悉。我們學(xué)習(xí)過數(shù)據(jù)庫和

15、管理信息系統(tǒng)課程設(shè)計的相關(guān)課程,有能力編寫學(xué)生成績管理系統(tǒng)這種不算太難的程序。</p><p>  使用VB作為系統(tǒng)開發(fā)環(huán)境,它提供完善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,給開發(fā)高性能系統(tǒng)提供的保障為開發(fā)滿足客戶要求的系統(tǒng),保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統(tǒng)的擴(kuò)展與修改。</p><p>  而且由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料

16、,特別是參考其它程序的功能,因此幾乎可以實現(xiàn)。</p><p>  綜上所述,本系統(tǒng)的設(shè)計與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它在技術(shù)上是可行的。</p><p>  3.經(jīng)濟(jì)上的可行性:</p><p>  現(xiàn)在,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。而本系統(tǒng)的開發(fā),也在一定程度上為學(xué)校的工作效率帶來了一個質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個方

17、面:一方面是支出的費用,包括設(shè)備購置費、管理和維護(hù)費用、人員工資和培訓(xùn)費等,另一個是取得的收益。這是個超小的管理系統(tǒng),從投入的人力,財力與物力來講是非常之小的,只要一臺電腦,一臺打印機,這個系統(tǒng)就可以搞起來,考慮到學(xué)校里有電腦,現(xiàn)只要購置一臺打印機就可以了。從節(jié)省人力方面,可以讓管理人員從繁冗復(fù)雜的工作中解脫出來,做更多的工作,可以給教學(xué)管理提高一個層次。具體有以下幾個方面:</p><p>  (1)本系統(tǒng)只需

18、要一臺計算機;</p><p>  (2)本系統(tǒng)的運行可以節(jié)省許多資源;</p><p>  (3)本系統(tǒng)的運行可以大大的提高學(xué)校的工作效率;</p><p> ?。?)本系統(tǒng)可以敏感文檔更加安全,等等。</p><p><b>  組織結(jié)構(gòu)圖</b></p><p><b>  1.組

19、織結(jié)構(gòu)圖分析</b></p><p>  總控模塊管理有三種不同的信息的處理模塊,即管理員模塊、教師模塊、學(xué)生模塊,各模塊的主要功能有:</p><p> ?。?)系統(tǒng)管理員進(jìn)入學(xué)生成績管理的主要功能:實現(xiàn)管理員用戶的添加、修改和刪除,以及對教師添加、教師修改、教師刪除、教師查詢、學(xué)生添加、學(xué)生修改、學(xué)生刪除、學(xué)生查詢等基本功能,并且參與開設(shè)課程、選擇課程的管理,安排教師的任課

20、和學(xué)生的選課工作。</p><p>  (2)教師進(jìn)入學(xué)生成績管理系統(tǒng)的主要功能:各科教師登錄系統(tǒng)后查詢和修改個人信息,修改自己的賬號密碼,查詢自己的授課課程,實現(xiàn)對選修了自己課程的學(xué)生的成績進(jìn)行查詢、錄入和修改,各科老師可以對自己學(xué)生選修課程結(jié)束后給予分?jǐn)?shù),同時可以對自己所帶課程的成績優(yōu)秀人數(shù)、及格人數(shù)、不及格人數(shù)的分布信息進(jìn)行查詢。</p><p> ?。?)學(xué)生進(jìn)入學(xué)生成績管理系統(tǒng)的

21、主要功能:每個學(xué)生登錄后可以查詢和修改個人信息、修改自己的賬號密碼,以及自己所選任課老師的個人信息,同時在課程結(jié)束后可以查詢在校期間各個時間段選修課程的成績與學(xué)分,以及對單科成績和總分的排名查詢。</p><p>  2.具體的組織機構(gòu)圖如圖1所示:</p><p><b>  圖1 組織結(jié)構(gòu)圖</b></p><p><b>  業(yè)

22、務(wù)流程圖</b></p><p>  經(jīng)調(diào)查之后,結(jié)合現(xiàn)行管理模式,為開發(fā)本系統(tǒng)而繪制出的學(xué)生成績管理業(yè)務(wù)流程圖。如圖2所示:</p><p><b>  圖2 業(yè)務(wù)流程圖</b></p><p>  數(shù)據(jù)流程圖和數(shù)據(jù)字典</p><p><b>  1.數(shù)據(jù)流程圖</b></p&

23、gt;<p>  系統(tǒng)的數(shù)據(jù)流程圖如圖3、圖4所示:</p><p>  圖3 學(xué)生成績管理數(shù)據(jù)流程圖(頂層圖)</p><p>  圖4 學(xué)生成績管理數(shù)據(jù)流程圖(展開圖)</p><p><b>  2.數(shù)據(jù)字典</b></p><p><b> ?。?)數(shù)據(jù)流的描述</b><

24、/p><p>  數(shù)據(jù)流 表1 數(shù)據(jù)字典(一) No:__________</p><p>  填表人_____________ 年 月 日 </p><p> ?。?)處理邏輯的描述</p><p>  處 理 表

25、2 數(shù)據(jù)字典(二) No:__________</p><p>  填表人_____________ 年 月 日 </p><p><b> ?。?)數(shù)據(jù)存儲</b></p><p>  數(shù)據(jù)存儲 表3 數(shù)據(jù)字典(三) No:______

26、____</p><p>  填表人_____________ 年 月 日</p><p><b> ?。?)外部實體</b></p><p>  外部實體 表4 數(shù)據(jù)字典(四) No:__________</p><p>  填表

27、人_____________ 年 月 日</p><p><b> ?。?)數(shù)據(jù)項</b></p><p>  數(shù)據(jù)項 表5 數(shù)據(jù)字典(五) No:__________</p><p>  填表人_____________ 年 月

28、 日</p><p><b>  (6)數(shù)據(jù)結(jié)構(gòu)</b></p><p>  數(shù)據(jù)結(jié)構(gòu) 表6 數(shù)據(jù)字典(六) No:__________</p><p>  填表人_____________ 年 月 日</p><p>&

29、lt;b>  系統(tǒng)設(shè)計</b></p><p><b>  模塊結(jié)構(gòu)體系</b></p><p><b>  功能模塊</b></p><p><b>  圖5 功能模塊圖</b></p><p><b>  2.功能模塊說明</b>&

30、lt;/p><p> ?。?)用戶管理和班級管理:</p><p>  通過驗證用戶的使用權(quán)限及進(jìn)行數(shù)據(jù)的導(dǎo)入、導(dǎo)出工作。</p><p><b>  對班級的管理。</b></p><p><b>  (2)學(xué)生信息設(shè)置</b></p><p>  對與學(xué)生相關(guān)信息的錄入。&l

31、t;/p><p> ?。?)課程與成績設(shè)置:</p><p>  各門課程所屬學(xué)院及相關(guān)學(xué)分設(shè)置。</p><p><b>  學(xué)生成績的錄入。</b></p><p> ?。?)成績查詢與統(tǒng)計:</p><p><b>  按要求查詢成績。</b></p><

32、;p><b>  進(jìn)行圖表的統(tǒng)計。</b></p><p>  成績審核業(yè)務(wù),就單據(jù)格式是否規(guī)范和填寫數(shù)據(jù)是否與實務(wù)數(shù)量相符的審核在系統(tǒng)中仍由人工完成,對成績單上填寫的學(xué)生人數(shù)量大于實際學(xué)生成績數(shù)量的情況可在成績錄入過程中自動審核,并拒絕該成績單。</p><p>  數(shù)據(jù)錄入模塊用于錄入學(xué)生名單和成績單,它是高校學(xué)生成績管理系統(tǒng)的基本數(shù)據(jù)輸入的模塊,他根據(jù)各科

33、教師送來的成績單,記錄各學(xué)生的每人成績數(shù)據(jù)。</p><p>  為方便學(xué)校各級管理人員及時了解、掌握各學(xué)院的學(xué)生成績,新系統(tǒng)特別設(shè)計了數(shù)據(jù)查詢模塊,并提供多種查詢功能,每學(xué)期、各學(xué)院的查詢等。</p><p>  報表輸出模塊可以完成系統(tǒng)所需的各種報表的計算和打印輸出功能,可輸出“學(xué)生成績表”等。</p><p>  為了統(tǒng)一產(chǎn)品的品種及其特性,方便數(shù)據(jù)輸入。特設(shè)

34、計了產(chǎn)品代碼、產(chǎn)品名稱及其特性對照表。系統(tǒng)中設(shè)計代碼維護(hù)模塊的目的是當(dāng)產(chǎn)品代碼或特性變動時及時修改代碼表,可對代碼表進(jìn)行增加、刪除和修改等處理。</p><p><b>  3.系統(tǒng)維護(hù)模塊</b></p><p>  圖6 系統(tǒng)維護(hù)內(nèi)部模塊圖</p><p><b>  4.系統(tǒng)流程圖</b></p>&l

35、t;p><b>  圖7 系統(tǒng)流程圖</b></p><p><b>  5.數(shù)據(jù)庫設(shè)計</b></p><p> ?。?)數(shù)據(jù)庫概要設(shè)計</p><p>  本系統(tǒng)的數(shù)據(jù)庫主要有“學(xué)生”、“班級”、“課程”、“教師”等。其中教師與課程系統(tǒng)存在授課聯(lián)系,并且一個教師可以授N門課程,即教師與課程是一對多的關(guān)系。一個學(xué)生

36、可以學(xué)習(xí)N們課程,一門課程可以有M個學(xué)生學(xué)習(xí),即學(xué)生與課程是多對多的關(guān)系。整個數(shù)據(jù)庫可以用一個E-R圖表示。如圖8所示:</p><p><b>  圖8 系統(tǒng)E-R圖</b></p><p> ?。?)數(shù)據(jù)庫詳細(xì)設(shè)計</p><p>  該系統(tǒng)子系統(tǒng)分為學(xué)生系統(tǒng)、班級系統(tǒng)、課程系統(tǒng)、學(xué)生-課程系統(tǒng)、用戶信息系統(tǒng)。</p><

37、;p><b> ?。ǘ┐a設(shè)計</b></p><p>  新系統(tǒng)為每個學(xué)生設(shè)計了代碼,一方面可統(tǒng)一學(xué)生的成績管理,另一方面是為了方便數(shù)據(jù)輸入。產(chǎn)品代碼為兩位數(shù)字字符,采用的是順序碼結(jié)構(gòu)。</p><p>  在系統(tǒng)運行過程中,凡是需要輸入某種產(chǎn)品時,只需輸入產(chǎn)品代碼即可,系統(tǒng)可根據(jù)學(xué)生代碼、成績表單、自動將相應(yīng)的學(xué)生姓名和成績等信息調(diào)出來,而且代碼表顯示在輸

38、入/輸出窗口中,用戶不一定要記住學(xué)生的代碼,可隨時通過系統(tǒng)聯(lián)機查詢。</p><p>  #include<stdio.h> /*引用庫函數(shù)*/ </p><p>  #include<stdlib.h> </p><p>  #include<ctype.h> </p><p>  #include<

39、;string.h> </p><p>  typedef struct /*定義結(jié)構(gòu)體數(shù)組*/ </p><p><b>  { </b></p><p>  char num[10]; /*學(xué)號*/ </p><p>  char name[20]; /*姓名*/ </p><p>  

40、int score; /*成績*/ </p><p><b>  }</b></p><p><b>  Student; </b></p><p>  Student stu[80]; /*結(jié)構(gòu)體數(shù)組變量*/ </p><p>  int menu_select() /*菜單函數(shù)*/ </p

41、><p><b>  { </b></p><p><b>  char c; </b></p><p><b>  do</b></p><p><b>  { </b></p><p>  system("cls"

42、;); /*運行前清屏*/ </p><p>  printf("\t\t****Students' Grade Management System****\n"); /*菜單選擇*/ </p><p>  printf("\t\t | 1. Input Records |\n"); </p><p>  printf

43、("\t\t | 2. Display All Records |\n"); </p><p>  printf("\t\t | 3. Sort |\n"); </p><p>  printf("\t\t | 4. Insert a Record |\n"); </p><p>  printf(&quo

44、t;\t\t | 5. Delete a Record |\n"); </p><p>  printf("\t\t | 6. Query |\n"); </p><p>  printf("\t\t | 7. Statistic |\n"); </p><p>  printf("\t\t | 8. Ad

45、d Records from a Text File|\n"); </p><p>  printf("\t\t | 9. Write to a Text file |\n"); </p><p>  printf("\t\t | 0. Quit |\n"); </p><p>  printf("\t\t

46、*****************************************\n"); </p><p>  printf("\t\t\tGive your Choice(0-9):"); </p><p>  c=getchar();/*讀入選擇*/ </p><p><b>  }</b></p&g

47、t;<p>  while(c<'0'||c>'9'); </p><p>  return(c-'0'); /*返回選擇*/ </p><p><b>  } </b></p><p>  int Input(Student stud[],int n) /*輸入若干條

48、記錄*/ </p><p>  { int i=0; </p><p>  char sign,x[10]; /*x[10]為清除多余的數(shù)據(jù)所用*/ </p><p>  while(sign!='n'&&sign!='N') /*判斷*/ </p><p><b>  { <

49、;/b></p><p>  printf("\t\t\tstudent's num:"); /*交互輸入*/ </p><p>  scanf("\t\t\t%s",stud[n+i].num); </p><p>  printf("\t\t\tstudent's name:");

50、 </p><p>  scanf("\t\t\t%s",stud[n+i].name); </p><p>  printf("\t\t\tstudent's score:"); </p><p>  scanf("\t\t\t%d",&stud[n+i].score); </p&g

51、t;<p>  gets(x); /*清除多余的輸入*/ </p><p>  printf("\t\t\tany more records?(Y/N)"); </p><p>  scanf("\t\t\t%c",&sign); /*輸入判斷*/ </p><p><b>  i++; &l

52、t;/b></p><p><b>  } </b></p><p>  return(n+i); </p><p><b>  } </b></p><p>  void Display(Student stud[],int n) /*顯示所有記錄*/ </p><p&g

53、t;<b>  { </b></p><p><b>  int i; </b></p><p>  printf("\t\t\t-----------------------------------\n"); /*格式頭*/ </p><p>  printf("\t\t\tnumber n

54、ame score\n"); </p><p>  printf("\t\t\t-----------------------------------\n"); </p><p>  for(i=1;i<n+1;i++) /*循環(huán)輸入*/ </p><p><b>  { </b></p>&l

55、t;p>  printf("\t\t\t%-16s%-15s%d\n",stud[i-1].num,stud[i-1].name,stud[i-1].score); </p><p>  if(i>1&&i%10==0) /*每十個暫停*/ </p><p><b>  {</b></p><p>

56、;  printf("\t\t\t-----------------------------------\n"); /*格式*/ </p><p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p>  printf("\t\t\t--

57、---------------------------------\n"); </p><p><b>  } </b></p><p><b>  } </b></p><p>  printf("\t\t\t"); </p><p>  system("p

58、ause"); </p><p><b>  } </b></p><p>  void Sort_by_num(Student stud[],int n) /*按學(xué)號排序*/ </p><p><b>  { </b></p><p>  int i,j,*p,*q,s; </p&

59、gt;<p>  char t[10]; </p><p>  for(i=0;i<n-1;i++) /*冒泡法排序*/ </p><p>  for(j=0;j<n-1-i;j++) </p><p>  if(strcmp(stud[j].num,stud[j+1].num)>0) </p><p><

60、;b>  {</b></p><p>  strcpy(t,stud[j+1].num); </p><p>  strcpy(stud[j+1].num,stud[j].num); </p><p>  strcpy(stud[j].num,t); </p><p>  strcpy(t,stud[j+1].name);

61、</p><p>  strcpy(stud[j+1].name,stud[j].name); </p><p>  strcpy(stud[j].name,t); </p><p>  p=&stud[j+1].score; </p><p>  q=&stud[j].score; </p><p>

62、<b>  s=*p; </b></p><p><b>  *p=*q; </b></p><p><b>  *q=s; </b></p><p><b>  } </b></p><p><b>  } </b></p&g

63、t;<p>  int Insert_a_record(Student stud[],int n) /*插入一條記錄*/ </p><p><b>  {</b></p><p>  char x[10]; /*清除多余輸入所用*/ </p><p>  printf("\t\t\tstudent's num:&

64、quot;); /*交互式輸入*/ </p><p>  scanf("\t\t\t%s",stud[n].num); </p><p>  printf("\t\t\tstudent's name:"); </p><p>  scanf("\t\t\t%s",stud[n].name); <

65、;/p><p>  printf("\t\t\tstudent's score:"); </p><p>  scanf("\t\t\t%d",&stud[n].score); </p><p><b>  gets(x); </b></p><p><b>

66、  n++; </b></p><p>  Sort_by_num(stud,n); /*調(diào)用排序函數(shù)*/ </p><p>  printf("\t\t\tInsert Successed!\n"); /*返回成功信息*/ </p><p>  return(n); </p><p><b>  }

67、 </b></p><p>  int Delete_a_record(Student stud[],int n) /*按姓名查找,刪除一條記錄*/ </p><p><b>  { </b></p><p>  char s[20]; </p><p>  int i=0,j; </p>&l

68、t;p>  printf("\t\t\ttell me his(her) name:"); /*交互式問尋*/ </p><p>  scanf("%s",s); </p><p>  while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判斷*/ </p><p

69、><b>  if(i==n) </b></p><p><b>  { </b></p><p>  printf("\t\t\tnot find!\n"); /*返回失敗信息*/ </p><p>  return(n); </p><p><b>  } &

70、lt;/b></p><p>  for(j=i;j<n-1;j++) /*刪除操作*/ </p><p><b>  { </b></p><p>  strcpy(stud[j].num,stud[j+1].num); </p><p>  strcpy(stud[j].name,stud[j+1].na

71、me); </p><p>  stud[j].score=stud[j+1].score; </p><p><b>  } </b></p><p>  printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/ </p><p>  return(n-1);

72、</p><p><b>  } </b></p><p>  void Query_a_record(Student stud[],int n) /*查找并顯示一個記錄*/ </p><p><b>  {</b></p><p>  char s[20]; </p><p&g

73、t;<b>  int i=0; </b></p><p>  printf("\t\t\tinput his(her) name:"); /*交互式輸入*/ </p><p>  scanf("\t\t\t%s",s); </p><p>  while(strcmp(stud[i].name,s)!=

74、0&&i<n) i++; /*查找判斷*/ </p><p><b>  if(i==n) </b></p><p><b>  { </b></p><p>  printf("\t\t\tnot find!\n"); /*輸入失敗信息*/ </p><p&g

75、t;<b>  return; </b></p><p><b>  } </b></p><p>  printf("\t\t\this(her) number:%s\n",stud[i].num); /*輸出該學(xué)生信息*/ </p><p>  printf("\t\t\this(her)

76、 score:%d\n",stud[i].score); </p><p><b>  } </b></p><p>  void Statistic(Student stud[],int n) /*新增功能,輸出統(tǒng)計信息*/ </p><p><b>  { </b></p><p> 

77、 int i,j=0,k=0,sum=0; </p><p>  float aver; /*成績平均值*/ </p><p>  for(i=0;i<n;i++) /*循環(huán)輸入判斷*/ </p><p><b>  { </b></p><p>  sum+=stud[i].score; </p>

78、<p>  if(stud[j].score>stud[i].score) j=i; </p><p>  if(stud[k].score<stud[i].score) k=i; </p><p><b>  } </b></p><p>  aver=1.0*sum/n; </p><p>  

79、printf("\t\t\tthere are %d records.\n",n); /*總共記錄數(shù)*/ </p><p>  printf("\t\t\tthe hignest score:\n"); /*最高分*/ </p><p>  printf("\t\t\tnumber:%s name:%s score:%d\n",s

80、tud[j].num,stud[j].name,stud[j].score); </p><p>  printf("\t\t\tthe lowest score:\n"); /*最低分*/ </p><p>  printf("\t\t\tnumber:%s name:%s score:%d\n",stud[k].num,stud[k].name,

81、stud[k].score); </p><p>  printf("\t\t\tthe average score is %5.2f\n",aver); /*平均分*/ </p><p><b>  } </b></p><p>  int AddfromText(Student stud[],int n) /*從文件中讀

82、入數(shù)據(jù)*/ </p><p><b>  { </b></p><p>  int i=0,num; </p><p>  FILE *fp; /*定義文件指針*/ </p><p>  char filename[20]; /*定義文件名*/ </p><p>  printf("\t

83、\t\tInput the filename:"); </p><p>  scanf("\t\t\t%s",filename); /*輸入文件名*/ </p><p>  if((fp=fopen(filename,"rb"))==NULL) /*打開文件*/ </p><p><b>  { </

84、b></p><p>  printf("\t\t\tcann't open the file\n"); /*打開失敗信息*/ </p><p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p>  ret

85、urn(n); </p><p><b>  } </b></p><p>  fscanf(fp,"%d",&num); /*讀入總記錄量*/ </p><p>  while(i<num) /*循環(huán)讀入數(shù)據(jù)*/ </p><p><b>  { </b><

86、/p><p>  fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score); </p><p><b>  i++; </b></p><p><b>  } </b></p><p><b>

87、;  n+=num; </b></p><p>  fclose(fp); /*關(guān)閉文件*/ </p><p>  printf("\t\t\tSuccessed!\n"); </p><p>  printf("\t\t\t"); </p><p>  system("pause

88、"); </p><p>  return(n); </p><p><b>  } </b></p><p>  void WritetoText(Student stud[],int n) /*將所有記錄寫入文件*/ </p><p><b>  { </b></p>&

89、lt;p><b>  int i=0; </b></p><p>  FILE *fp; /*定義文件指針*/ </p><p>  char filename[20]; /*定義文件名*/ </p><p>  printf("\t\t\tWrite Records to a Text File\n"); /*輸入文

90、件名*/ </p><p>  printf("\t\t\tInput the filename:"); </p><p>  scanf("\t\t\t%s",filename); </p><p>  if((fp=fopen(filename,"w"))==NULL) /*打開文件*/ </p&

91、gt;<p><b>  { </b></p><p>  printf("\t\t\tcann't open the file\n"); </p><p>  system("pause"); </p><p><b>  return; </b></p

92、><p><b>  } </b></p><p>  fprintf(fp,"%d\n",n); /*循環(huán)寫入數(shù)據(jù)*/ </p><p>  while(i<n) </p><p><b>  { </b></p><p>  fprintf(fp,&

93、quot;%-16s%-15s%d\n",stud[i].num,stud[i].name,stud[i].score); </p><p><b>  i++; </b></p><p><b>  } </b></p><p>  fclose(fp); /*關(guān)閉文件*/ </p><p&

94、gt;  printf("Successed!\n"); /*返回成功信息*/ </p><p><b>  } </b></p><p>  void main() /*主函數(shù)*/ </p><p><b>  { </b></p><p><b>  int n=0

95、; </b></p><p><b>  for(;;) </b></p><p><b>  { </b></p><p>  switch(menu_select()) /*選擇判斷*/ </p><p><b>  { </b></p><

96、p><b>  case 1: </b></p><p>  printf("\t\t\tInput Records\n"); /*輸入若干條記錄*/ </p><p>  n=Input(stu,n); </p><p><b>  break; </b></p><p>

97、;<b>  case 2: </b></p><p>  printf("\t\t\tDisplay All Records\n"); /*顯示所有記錄*/ </p><p>  Display(stu,n); </p><p><b>  break; </b></p><p&g

98、t;<b>  case 3: </b></p><p>  printf("\t\t\tSort\n"); </p><p>  Sort_by_num(stu,n); /*按學(xué)號排序*/ </p><p>  printf("\t\t\tSort Suceessed!\n"); </p>

99、<p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 4: </b></p><p>  printf(&

100、quot;\t\t\tInsert a Record\n"); </p><p>  n=Insert_a_record(stu,n); /*插入一條記錄*/ </p><p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p>&

101、lt;b>  break; </b></p><p><b>  case 5: </b></p><p>  printf("\t\t\tDelete a Record\n"); </p><p>  n=Delete_a_record(stu,n); /*按姓名查找,刪除一條記錄*/ </p>

102、;<p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 6: </b></p><p>  printf

103、("\t\t\tQuery\n"); </p><p>  Query_a_record(stu,n); /*查找并顯示一個記錄*/ </p><p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p><b>

104、  break; </b></p><p><b>  case 7: </b></p><p>  printf("\t\t\tStatistic\n"); </p><p>  Statistic(stu,n); /*新增功能,輸出統(tǒng)計信息*/ </p><p>  printf(&q

105、uot;\t\t\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 8: </b></p><p>  printf("\t\t\tAdd Record

106、s from a Text File\n"); </p><p>  n=AddfromText(stu,n); /*新增功能,輸出統(tǒng)計信息*/ </p><p><b>  break; </b></p><p><b>  case 9: </b></p><p>  printf(&

107、quot;\t\t\tWrite to a Text file\n"); </p><p>  WritetoText(stu,n); /*循環(huán)寫入數(shù)據(jù)*/ </p><p>  printf("\t\t\t"); </p><p>  system("pause"); </p><p>&l

108、t;b>  break; </b></p><p><b>  case 0: </b></p><p>  printf("\t\t\tHave a Good Luck,Bye-bye!\n"); /*結(jié)束程序*/ </p><p>  printf("\t\t\t"); </p

109、><p>  system("pause"); </p><p><b>  exit(0); </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }<

110、/b></p><p> ?。ㄈ┹斎?輸出設(shè)計</p><p>  在系統(tǒng)的輸入/輸出設(shè)計上遵循的是既滿足用戶需求又方便用戶使用的原則。輸入/輸出界面的確定都與用戶反復(fù)溝通,直到用戶滿意為止。 </p><p>  輸入界面的設(shè)計不僅考慮數(shù)據(jù)輸入窗口的屏幕格式,而且考慮如何使輸入數(shù)據(jù)的錯誤率可能的小,為此在程序中加入了對輸入數(shù)據(jù)的校驗和判斷等功能,如輸入數(shù)據(jù)

111、上下限的設(shè)置、與相關(guān)數(shù)據(jù)關(guān)系的判斷、參考對照表等。例如,在輸入和選擇學(xué)生時,只輸入學(xué)生代碼即可,系統(tǒng)可根據(jù)成績代碼、科目及其學(xué)生姓名對照表,自動將相應(yīng)的學(xué)生姓名和成績等信息調(diào)出來。當(dāng)用戶輸入的學(xué)生代碼不對時,系統(tǒng)自動轉(zhuǎn)入代碼表查詢窗口,讓用戶在窗口中瀏覽查詢選擇學(xué)生代碼,因此用戶可不必一定記住每個產(chǎn)品的代碼,系統(tǒng)將代碼表顯示在輸入輸出窗口旁,用戶可隨時通過系統(tǒng)聯(lián)機查詢。</p><p><b>  收獲

112、和體會</b></p><p>  通過這次的課程設(shè)計,我們對管理信息系統(tǒng)這門課有了更深入的認(rèn)識,同時體會最深的是,軟件的編寫需要一絲不茍的精神和足夠的耐心。軟件編程工作是辛苦的,每一個細(xì)小的環(huán)節(jié)都是注意的重點,因為稍有不慎,所有的努力就會白費,就會前功盡棄。出現(xiàn)的錯誤每次都是細(xì)微的,因為小小的疏忽,就要花費很長時間去查找,這個過程是痛苦的。由于我們的經(jīng)驗不足,只有理論知識而缺乏實踐經(jīng)驗,在做的過程中

113、總是反反復(fù)復(fù)。雖然我們做的速度不快,但是我們的體會逐漸深入,每一次嘗試的小小成功都讓我們興奮不已。</p><p>  編寫報告的過程,我們各展所長,積極討論,分工合作,查閱資料,之后又一起畫圖,一起總結(jié)。這次課程設(shè)計首先要感謝老師的幫助,我們的成果也許不是最矚目的,也許還會有缺陷,但每一個過程我們都是經(jīng)過細(xì)心的研討后不斷的嘗試。這只是一個簡單的軟件,只是對管理信息系統(tǒng)最簡單的認(rèn)識,但是應(yīng)用的過程我們學(xué)到的是實際

114、的東西。</p><p>  這是一個學(xué)習(xí)的過程,是一個總結(jié)與沉淀的過程,更是一個團(tuán)隊合作磨練的過程。我們共同討論,共同嘗試。通過這次課程設(shè)計使我們深刻了解到管理信息系統(tǒng)的應(yīng)用以及開發(fā),同時也讓我們熟練了各種小軟件的應(yīng)用,更擴(kuò)展了我們的視野。</p><p>  五、課程設(shè)計小組分工:</p><p>  周秋:模塊結(jié)構(gòu)體系,其中包括:功能模塊圖、功能模塊說明、系統(tǒng)

115、維護(hù)模塊圖、系統(tǒng)流程圖。</p><p>  吳楚、舒暢:前言、系統(tǒng)分析,其中包括:可行性分析、組織結(jié)構(gòu)圖、數(shù)據(jù)字典(數(shù)據(jù)流的描述、處理邏輯的描述、數(shù)據(jù)存儲、外部實體、數(shù)據(jù)項、數(shù)數(shù)據(jù)結(jié)構(gòu))、體會和收獲。</p><p>  羅星、王廷勇:業(yè)務(wù)流程圖、數(shù)據(jù)流程圖(頂層圖、展開圖)、數(shù)據(jù)庫概要設(shè)計(系統(tǒng)E-R圖)、數(shù)據(jù)庫詳細(xì)設(shè)計(學(xué)生信息表、班級信息表、課程信息表、學(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論