C語言學生信息管理系統(tǒng)(完整版)_第1頁
C語言學生信息管理系統(tǒng)(完整版)_第2頁
C語言學生信息管理系統(tǒng)(完整版)_第3頁
C語言學生信息管理系統(tǒng)(完整版)_第4頁
C語言學生信息管理系統(tǒng)(完整版)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、電子科技大學成都學院程序綜合設計論文論文題目 學生信息管理系統(tǒng) 學生姓名 魏國 學 號 1340840625 專業(yè) 機械設計制造及其自動化 系(分院) 電子工程系 授課教師 杜娥 2015年12月制摘要隨著經濟的發(fā)展,社會的進步,計算機越來越深入到我們日常的工作學習及生活中,成為我們日常生活不可或缺的輔助工具。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已成為人們深刻認識,它已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用?,F(xiàn)在由于學校規(guī)模進一步擴大,學生人數(shù)逐漸上升,在學校的學生信息管理中,雖然已經存在許多學生信息管理系統(tǒng),但由于學校之間的管理差異很信息的不同

2、,各個學校的學生信息管理的要求不一致,這樣我們需要根據(jù)具體學習的具體要求來開發(fā)學生信息管理系統(tǒng)以方便學生管理。本系統(tǒng)主要對學生各種信息進行處理。 本系統(tǒng)采用C語言編寫,設計從實用性出發(fā),設計開發(fā)出一個操作簡單且符合實際需要的學生信息管理系統(tǒng)。本文設計出一個可以添加、修改、查詢、刪除、統(tǒng)計的學生信息管理系統(tǒng);最后,通過測試分析,力求將學到的只是在學生信息管理系統(tǒng)的得到全面運用,并使系統(tǒng)在實際的操作中能按照設計的要求安全有效的正確運行。學生信息管理系統(tǒng)是為了實現(xiàn)學校對學生信息管理的系統(tǒng)化、規(guī)范化和自動化,從而提高學校管理效率而設計的。它完全取代了原來一直用人工管理的工作方式,避免了由于管

3、理人員的工作疏忽以及管理質量問題所造成的各種錯誤,為及時、準確、高效的完成學生信息管理提供了強有力的工具和管理手段。學生信息管理系統(tǒng)是一個中小型數(shù)據(jù)庫管理系統(tǒng),它界面美觀、操作簡單、安全性高,基本滿足了學生信息管理的要求。 學生信息管理系統(tǒng)在運行階段,效果好,數(shù)據(jù)準確性高,提高了工作效率,同時也實現(xiàn)了學生信息管理計算機化。關鍵字:學生信息,管理系統(tǒng),數(shù)據(jù)庫,C語言編寫第一章 系統(tǒng)功能和組成模塊1.1系統(tǒng)功能學生信息管理系統(tǒng)存放了每個學生的學號,姓名,性別,年齡,出生年月,家庭住址,政治面貌等信息的數(shù)據(jù)庫。每個人的信息定義在一個結構體變量中。其結構如下:系統(tǒng)通過錄入信息程序,瀏覽信息程

4、序,刪除信息程序,修改信息程序,查找信息程序統(tǒng)計信息程序來實現(xiàn)學生信息管理系統(tǒng)的錄入功能,瀏覽功能,刪除/修改功能,查找、統(tǒng)計功能。各個功能的調用通過主函數(shù)menu中的switch語句來實現(xiàn)。1.2模塊組成1.2.1輸入顯示模塊通過設計一個模塊,來實現(xiàn)學生信息的輸入,同時來實現(xiàn)菜單界面的顯示。用以作為系統(tǒng)顯示界面。1.2.2刪除模塊通過設計一個模塊,來實現(xiàn)刪除全部輸入的學生信息或者某一個特定的學生信息,用戶可以通過選擇進行操作。在刪除特定人員信息時,只需要輸入該學生的學號就可以進行刪除。以后該學生的信息將不會再出現(xiàn)在數(shù)據(jù)庫中。1.2.3修改模塊通過設計一個模塊,當某個學生的信息發(fā)生變化時,可以

5、通過修改模塊來進行修改。1.2.4瀏覽模塊通過設計一個模塊,可以將已經輸入到數(shù)據(jù)庫當中的信息調出顯示。以便查看或者進行修改。1.2.5查找模塊通過設計一個模塊,這個模塊可以按學生的學號、姓名來查詢學生所有的信息,并顯示學生的所有信息,以便查詢者閱讀。1.2.6統(tǒng)計模塊通過設計一個模塊,可以將所有輸入過得數(shù)據(jù)庫當中的信息以某個特定分類來進行統(tǒng)計,輸出該特征的總人數(shù)。統(tǒng)計模塊瀏覽模塊刪除模塊修改模塊查找模塊主函數(shù)結束輸入顯示模塊圖1-1總體模塊框圖第二章 系統(tǒng)功能的實現(xiàn)2.1各模塊主要功能的實現(xiàn)2.1.1輸入顯示模塊程序通過一個printf函數(shù)和scanf函數(shù)來進行數(shù)據(jù)庫的顯示輸出,輸出的時候,通

6、過定義數(shù)字、字符的長度大于本身的長度來實現(xiàn)輸出信息的排版和隔開,使輸出的信息排版美觀。2.1.2刪除模塊程序通過定義一個字符整形來判別是全部刪除(all)或者是刪除某個特定學生(one)的信息,刪除特定學生的信息需要先定義一個變量來判別是否有信息需要刪除,如果有,則輸入需要刪除的學生的學號,進而進行刪除,成功則顯示“刪除成功”,如果輸入有誤,則刪除失敗,顯示“輸入數(shù)據(jù)錯誤”。進入輸入All/one刪除所有輸入學號返回主界面AllOne圖2-1 刪除程序框圖程序實現(xiàn)步驟:首先,定義全局變量char xinxi20;int choice;然后,定義一個char Del10;然后清屏,接著用prin

7、tf指示是刪除(all/one);然后用scanf輸入,接著用if函數(shù)判別,用strcmp(Del,"all")=0比較,然后輸出人數(shù)等于0,則刪除成功;然后用else if函數(shù)判別strcmp(Del,"one")=0,然后定義一個字符型變量char choice20;定義i,j,k,然后用printf提示輸入學號,用scanf輸入,然后定義一個指針變量p并初始化。然后用for語句進行循環(huán),然后用if比較判別輸入學號和數(shù)據(jù)庫中所存信息的關系,當含有這個人的信息的時候,把變量k賦值為1,并把此人再內存的順序號i賦給j,然后則跳出循環(huán)。然后判別k,如果數(shù)據(jù)

8、庫中只有一人的信息,則由指針p指向它,然后釋放,達到清除效果。如果有多人信息,則用for語句循環(huán),用studenti=studenti+1;renshu=renshu-1;來替換以達到刪除效果。如果是其他形式,則報錯。2.1.3查找模塊程序通過輸入字符(1或者2)來實現(xiàn)是按學號還是按姓名來查找。當輸入完學號或者姓名的時候,再通過一個for循環(huán)來實現(xiàn)此人信息的查找。當含有這個人的信息的時候,把變量k賦值為1,并把此人再內存的順序號賦給i。如果不含這個人的信息的時候,變量k的值仍為0。再通過一個if 語句,如果k的值為1,則打印第j個人的所有信息,如果k的值為0,則打印“輸入信息有誤”。 進入N=

9、?輸入學號輸入姓名輸出查詢結果返回主界面N=2N=1圖2-2 查找程序框圖程序實現(xiàn)步驟:首先,進行清屏,然后用if語句判別renshu=0,則用printf輸出“無任何學生信息”,然后返回主界面。接著用printf提示輸入查找方式(1.學號,2.姓名),然后用scanf輸入數(shù)字1,2(此處使用聲明過得變量choice),然后用if語句判別輸入choice是否等于1 ,然后提示輸入學號(出處使用全局聲明變量xinxi),然后用if語句判別,用strcmp(xinxi,studenti.id)=0比較,當含數(shù)據(jù)庫中有這個人的信息的時候,把變量k賦值為1,并把此人再內存的順序號賦給i,然后跳出循環(huán)。

10、如果不含這個人的信息的時候,變量k的值仍為0。再通過一個if 語句,如果k的值為0,則用printf輸出“輸入信息有誤”;如果k的值為1,則輸出第j個人的所有信息。第二種查找方式:用if語句判別輸入choice是否等于2 ,然后提示輸入姓名(出處使用全局聲明變量xinxi),然后用if語句判別,用strcmp(xinxi,)=0比較,當含數(shù)據(jù)庫中有這個人的信息的時候,把變量k賦值為1,并把此人再內存的順序號賦給i,然后跳出循環(huán)。如果不含這個人的信息的時候,變量k的值仍為0。再通過一個if 語句,如果k的值為0,則用printf輸出“輸入信息有誤”;如果k的值為1,則輸

11、出第j個人的所有信息,其他的輸入則報錯。2.1.4瀏覽模塊程序通過定義兩個變量i,j來實現(xiàn)信息的瀏覽功能,如果數(shù)據(jù)庫內沒有輸入任何的數(shù)據(jù),則顯示(“系統(tǒng)里面沒有任何學生的信息!”),如果數(shù)據(jù)庫內有學生信息存在,則用printf顯示出學生的各項信息。2.1.5修改模塊程序定義一個變量來確定到底輸入的是學號還是姓名。通過一個for循環(huán)來確定數(shù)據(jù)庫到底是否含有此人的信息。如果含有此人的信息,則把此人的信息打印再屏幕上。再顯示二級菜單,是修改這個人的學號、姓名、性別、年齡、出生年月、家庭地址、政治面貌和各科成績。通過一個switch語句來實現(xiàn)某個信息地修改。如果不含有此人的信息,則打印“輸入信息錯誤!

12、”。2.1.6統(tǒng)計模塊程序通過定義一個變量cot來進行人數(shù)統(tǒng)計,使用count函數(shù)來按性別進行學生人數(shù)統(tǒng)計。2.2程序調試及說明2.2.1結構體構建學生信息管理系統(tǒng)采用一個結構體數(shù)組,學生信息數(shù)據(jù)庫結構如下:學生信息包括:學號,姓名,性別、年齡,出生年月,家庭地址,政治面貌,C語言成績,VB成績,英語成績。char id20;char name30;char sex10;char zzmm20;char addr20; char age3; char bir9;int scoreM;2.2.2子程序函數(shù)申明void menu();(菜單) void input();(信息錄入); void S

13、hanChu(); (刪除)void LiuLan();(瀏覽) void ChaZhao();(查找)void Edit();(修改 )void TongJi();(統(tǒng)計)2.2.3程序調試首先啟動程序,彈出如下所示界面:圖2-3 主界面此時可以選擇輸入1-7的數(shù)字,分別對應不同功能,我們首先輸入1,選擇登記學生信息,界面如下:圖2-4 輸入界面我們選擇輸入4位學生的信息,首先輸入4,然后按照提示依次輸入每位學生的各項信息,輸入完成后,系統(tǒng)提示繼續(xù)或者退出(1/0)選項,此時我們輸入1,返回主界面,然后輸入3,瀏覽數(shù)據(jù)庫中我們已經存入的數(shù)據(jù),如下圖:圖2-5 瀏覽界面此時系統(tǒng)仍然提示繼續(xù)或者

14、退出,我們選擇1,返回主界面然后繼續(xù),然后我們在主界面輸入4,進行查找功能測試,首先我們選擇(1,學號)查找,然后輸入學號(0102),系統(tǒng)顯示如下:圖2-6 學號查找界面然后我們輸入1返回主界面繼續(xù)輸入4進行姓名(2.姓名)查找測試,我們輸入(王五),此時系統(tǒng)顯示如下:圖2-7 姓名查找界面此時我們選擇1返回主界面,然后輸入5,進行修改指令測試,本系統(tǒng)只提供輸入學號修改信息,則我們輸入一個需要修改信息的學號(“0101”),此時系統(tǒng)彈出以下界面:圖2-8 修改界面如果沒有輸入任何信息,則報錯。圖2-9 修改報錯此時本系統(tǒng)提供一個二級菜單,使用switch語句輸入想要修改的內容,然后輸入新信息

15、。我們選擇2進行姓名修改,輸入(趙四),然后輸入1返回主界面,再輸入3進行修改后的瀏覽,結果圖如下:圖2-10 修改后效果圖此時我們輸入1返回主界面/再輸入2進行刪除功能測試,首先我們選擇刪除特定學生的信息,輸入(one),然后輸入學號(0102),然后進行刪除,圖示如下:圖2-11 特定刪除功能然后我們再按1返回主界面,再選3進行刪除結果瀏覽,結果如下:圖2-12 特定刪除結果瀏覽然后我們再輸入1返回主界面,進行全部刪除測試,輸入2,回車,再輸入(all),顯示全部刪除,結果顯示如下:圖2-13 全部刪除此時我們再輸入1,返回主界面,然后輸入6,進行人數(shù)統(tǒng)計,本系統(tǒng)是按性別來進行人數(shù)統(tǒng)計的,

16、顯示結果如下:圖2-14 性別統(tǒng)計人數(shù)由于前面我們刪除了所有學生信息,所以顯示為0。第三章 系統(tǒng)優(yōu)缺點及總結體會3.1優(yōu)缺點及可改進方案3.1.1優(yōu)點本系統(tǒng)已經基本實現(xiàn)功能要求,學生信息完整,查詢快捷方便,修改程序較簡單,程序簡單精煉。功能界面指示明確,操作簡單,易于推廣。3.1.2缺點1.程序有很多定義不規(guī)范,不利于閱讀和修改。2.系統(tǒng)還有一部分功能由于我們自身的原因而無法實現(xiàn),系統(tǒng)功能有缺失。3.系統(tǒng)界面不夠美觀,比較簡陋。4.不能將信息保存在本地文件中。3.1.3改進方案1.借鑒和學習更多的C語言書籍,規(guī)范自己的定義方法。2.認真學習每個字符和結構體所表達的意思,爭取將系統(tǒng)寫的更加完整。

17、3.在實現(xiàn)完整的系統(tǒng)功能后,學習進一步的系統(tǒng)美化。4.了解c語言數(shù)據(jù)庫中的常用數(shù)據(jù)體,進一步的靈活使用。3.2總結體會一個多星期的課程設計,使我對C語言程序設計有了一個更加深入的認識,從剛開始的初略的認識到有了比較深入的認識,能夠比較靈活的運用。C語言是一門比較靈活、有趣而且實踐性非常強的課程,我們要從它的實踐運用中,體會到了學習C語言的樂趣和好處。在課程設計的這段時間里,我學到了許多東西,同時也使我對以前學的東西有了一個更深更透徹的理解。比如:能夠靈活的運用雙重循環(huán),switch語句,結構體的定義、引用、使用,指針的定義、使用等。雖然對C語言編程還有許多不明白,但這段時間我真的獲易匪淺。以前

18、上編程課,我基本上都沒有深入理解自己所編的程序,常常就是仿照書本編一個程序,再運行幾遍,沒錯就萬事大吉,根本就沒管它了。但這次就不同,對每個程序都有一個深入透徹的理解,常常不懂就問同學或老師,直至把它弄懂為止。C語言限制比較的寬松,我們在編程的時候更應該仔細,一個小小的錯誤都可能導致程序的無法編譯。所以對于大的程序,我們更應該先編好主程序,再一個一個模塊的編。這樣大大的縮短了編程的時間同時又提高了程序的可讀性。通過課程設計,使我對C語言的運用有了更深刻的認識。使我對C語言的實踐應用更加期待,更加好奇,我相信C語言對我以后的人生將有很大痹益。在對C語言的使用中,使我對軟件的認識也有了初步的了解。更是為我以后學習的微機原理以及單片機原理奠定了基礎。在學習C語言中更使我體會到了學習

溫馨提示

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

評論

0/150

提交評論