• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于C語言的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)

      2017-04-10 06:18:49葉小芹張靜
      電腦知識與技術(shù) 2017年4期
      關(guān)鍵詞:程序設(shè)計

      葉小芹++張靜

      摘要:學(xué)生成績的管理與使用是教學(xué)系統(tǒng)中的重要組成部分,論文重點研究學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn),并在C語言程序設(shè)計及其開發(fā)環(huán)境的基礎(chǔ)上,以河海大學(xué)文天學(xué)院為例,設(shè)計出了一個簡單的學(xué)生成績管理系統(tǒng),便于各高校使用。

      關(guān)鍵詞:C語言;學(xué)生成績管理系統(tǒng);程序設(shè)計

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)04-0059-04

      1 背景

      如今各大高校均需要一個完整的系統(tǒng)來管理和保存學(xué)生的各門課成績信息,以便后期使用,論文以河海大學(xué)文天學(xué)院的工科專業(yè)學(xué)生成績?yōu)槔?,運用C語言程序設(shè)計和程序運行的環(huán)境,設(shè)計了一個簡單的學(xué)生成績管理系統(tǒng),下面就來介紹該系統(tǒng)是如何構(gòu)建的。

      2 系統(tǒng)需求分析

      2.1 系統(tǒng)功能劃分

      該系統(tǒng)主要功能如下:

      1)學(xué)生基本信息和成績的錄入;

      2)學(xué)生成績的管理,如計算總分、排序、統(tǒng)計等功能。

      2.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計

      這個學(xué)生成績管理系統(tǒng)中包含的學(xué)生信息有:學(xué)生的學(xué)號、姓名、性別、高數(shù)成績、英語成績、計算機成績、三門功課總分,主要的功能模塊如下:

      1)輸出學(xué)生基本信息并算出總分;

      2)按照學(xué)號進行排序;

      3)按照總分進行排序;

      4)統(tǒng)計各門課程平均分;

      5)統(tǒng)計男女學(xué)生人數(shù);

      6)按照姓名進行排序;

      7)統(tǒng)計高數(shù)成績優(yōu)秀(大于等于80分)的人數(shù),并輸出符合條件的記錄;

      8)統(tǒng)計每門功課成績都在80分以上,或總分在240分以上的人數(shù),并輸出符合條件的記錄。

      C語言中系統(tǒng)的每個功能由一個函數(shù)來實現(xiàn),其系統(tǒng)功能模塊層次結(jié)構(gòu)圖如下:

      圖1 學(xué)生成績管理系統(tǒng)功能模塊層次結(jié)構(gòu)圖

      因為函數(shù)就是功能,所以對于圖1的功能模塊層次結(jié)構(gòu)圖,每個模塊就對應(yīng)C語言中的一個函數(shù),該系統(tǒng)中所涉及的函數(shù)及其功能如下:

      1)int Menu();

      主控菜單函數(shù),有返回值,無參數(shù)。用菜單形式顯示該系統(tǒng)能實現(xiàn)的所有功能,以供用戶查看和使用。函數(shù)中的返回值為用戶輸入的序號code,為局部整型變量。

      2)void Read(struct student stud[],int *n);

      讀入數(shù)據(jù)函數(shù),無返回值,有參數(shù)。形式參數(shù)stud為結(jié)構(gòu)體數(shù)組,由于調(diào)用此函數(shù)時實際參數(shù)為數(shù)組名,因此此處用數(shù)組接收;形式參數(shù)n為指針變量,由于實際參數(shù)為存放學(xué)生人數(shù)的整型變量的地址,因此n指向存放學(xué)生人數(shù)的整型變量,這樣可以在讀入學(xué)生信息的同時,還可以統(tǒng)計出學(xué)生的人數(shù)。

      3)void Print(struct student *pstud,int n);

      輸出數(shù)據(jù)函數(shù),無返回值,有參數(shù)。形式參數(shù)pstud為指針變量,指向存放學(xué)生信息的結(jié)構(gòu)體數(shù)組,這樣可以將相關(guān)變動信息返回給主調(diào)函數(shù);形式參數(shù)n為整型變量,存放學(xué)生的人數(shù)。

      4)void total_order(struct student *pstud,int n);

      按總分排序函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      5)void num_order(struct student *pstud,int n);

      按學(xué)號排序函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      6)void ave_count(struct student *pstud, int n);

      統(tǒng)計各門課平均分函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      7)void nn_count(struct student *pstud,int n);

      統(tǒng)計男女學(xué)生人數(shù)函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      8)void name_order(struct student *pstud,int n);

      按姓名排序函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      9)void gxyx(struct student *pstud,int n);

      統(tǒng)計高數(shù)成績優(yōu)秀人數(shù)函數(shù),無返回值,有參數(shù)。形式參數(shù)同上。

      10)void mm(struct student *pstud,int n);

      統(tǒng)計每門課分數(shù)不小于80分或總分在240分以上人數(shù)函數(shù) ,無返回值,有參數(shù)。形式參數(shù)同上。

      3 C語言程序設(shè)計

      一個C語言源程序由若干個函數(shù)構(gòu)成,且有且僅有一個主函數(shù),主函數(shù)的名字只能是main,其他函數(shù)名字由用戶自己定義,只要滿足標識符的四大規(guī)則即可。一個程序總是從主函數(shù)開始執(zhí)行,無論主函數(shù)在前還是在后,該系統(tǒng)中除了主函數(shù)外,還有十個函數(shù),下面針對其中幾個重要的函數(shù)進行程序設(shè)計。

      3.1 主函數(shù)程序設(shè)計

      為了方便讀者更好地讀懂該程序,部分地方加了注釋,以上程序中/* */為注釋,計算機并不執(zhí)行。其中第四行的N為符號常量,表示該系統(tǒng)記錄了10個學(xué)生信息,每個學(xué)生信息用結(jié)構(gòu)體類型的數(shù)組來保存,該結(jié)構(gòu)體類型包含4個子成員,每個成員又是另一種類型的數(shù)據(jù),其中學(xué)號、姓名、性別均由字符數(shù)組存儲,成績由整型數(shù)組存儲,這樣就構(gòu)成了struct student結(jié)構(gòu)體類型,主函數(shù)中的第一條語句就是用這種類型定義了結(jié)構(gòu)體數(shù)組stud,用來存放十個學(xué)生信息。接下來就在主函數(shù)中調(diào)用各個函數(shù),實現(xiàn)相對應(yīng)的功能。

      3.2 用戶自定義函數(shù)程序設(shè)計

      3.2.1 主控菜單函數(shù)的設(shè)計

      在屏幕中顯示主控菜單,scanf為輸入函數(shù),需要輸入一個整數(shù),通過輸入相對應(yīng)的數(shù)字序號,可以實現(xiàn)相應(yīng)的功能,例如輸入1,即顯示學(xué)生全部信息。

      3.2.2 讀入數(shù)據(jù)函數(shù)的設(shè)計

      該系統(tǒng)是從文件中讀取數(shù)據(jù),10名學(xué)生的信息存儲在文本文件studfile.txt中,如果想修改學(xué)生信息,直接在文件中修改即可,不用修改程序,這樣既方便又快速,大大節(jié)省了時間。

      3.2.3 按姓名排序函數(shù)的設(shè)計

      以上程序使用冒泡的排序方法按姓名從小到大排序,系統(tǒng)直接將排序的結(jié)果輸出到屏幕中,以供用戶查看和使用。

      4 系統(tǒng)界面

      將以上程序輸入到計算機C語言開發(fā)環(huán)境Microsoft Visual C++6.0中,經(jīng)過編輯、編譯、連接以后就可以運行了,運行界面如下:

      1)系統(tǒng)菜單界面

      當(dāng)按下回車鍵,系統(tǒng)進入菜單模式,按照序號選擇需要顯示的信息。

      2)顯示學(xué)生信息界面

      當(dāng)按下序號1,系統(tǒng)進入顯示全體學(xué)生信息界面,顯示的同時計算出了3門課總分。

      3)按學(xué)號排序界面

      按下回車鍵繼續(xù)進入菜單進行選擇,當(dāng)按下序號3,系統(tǒng)進入按學(xué)號從小到大排序的界面。

      4)統(tǒng)計高數(shù)優(yōu)秀的學(xué)生人數(shù)和記錄

      按下回車鍵繼續(xù)進入菜單進行選擇,當(dāng)按下序號7,系統(tǒng)進入統(tǒng)計高數(shù)不低于80分的人數(shù)和記錄。

      5 結(jié)束語

      論文主要介紹了學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)過程,分別從系統(tǒng)需求分析、系統(tǒng)程序設(shè)計和系統(tǒng)界面設(shè)計三個方面展示了系統(tǒng)的設(shè)計與實現(xiàn),其中系統(tǒng)需求分析包括大體功能劃分和具體功能結(jié)構(gòu)設(shè)計,并設(shè)計了功能結(jié)構(gòu)圖,描述了各項功能,系統(tǒng)程序設(shè)計包括主函數(shù)和其他自定義函數(shù)的設(shè)計。該系統(tǒng)總共實現(xiàn)了八項功能,學(xué)生信息來源于文本文件,這樣大大方便了學(xué)生信息的增刪改查等功能。系統(tǒng)中所有功能使用到的方法,還可以實現(xiàn)更多的功能,拓展性能良好,便于各高校各專業(yè)使用。

      參考文獻:

      [1] 胡楓. 《C語言程序設(shè)計》的案例式教學(xué)的設(shè)計[J]. 青海師范大學(xué)學(xué)報, 2010(4).

      [2] 譚浩強. C程序設(shè)計[M]. 4版.北京: 清華大學(xué)出版社, 2010.

      [3] 宮業(yè)芹. C語言程序設(shè)計網(wǎng)上教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)[D]. 濟南: 山東大學(xué), 2012.

      [4] 陳婷. C語言程序設(shè)計實驗教學(xué)改革探究[J].實驗技術(shù)與管理, 2010(10): 182-184.

      [5] 錢言玉, 謝超. 《C語言程序設(shè)計》課程實驗教學(xué)研究[J]. 合肥師范學(xué)院學(xué)報, 2014(5).

      猜你喜歡
      程序設(shè)計
      基于SolidWorks和VBA的電機階梯軸建模程序設(shè)計
      防爆電機(2022年4期)2022-08-17 05:59:24
      高職Java程序設(shè)計課程體系建設(shè)思考
      計算機教育(2020年5期)2020-07-24 08:53:00
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      從細節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      基于LabVIEW的車載充電機控制程序設(shè)計
      電子測試(2018年13期)2018-09-26 03:29:16
      淺談基于C語言的計算機軟件程序設(shè)計
      電子制作(2017年24期)2017-02-02 07:14:40
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      OBE理念下基于Greenfoot的Java程序設(shè)計課程教學(xué)改革
      模塊化程序設(shè)計在一體化檢定平臺中的應(yīng)用
      PLC梯形圖程序設(shè)計技巧及應(yīng)用
      越西县| 都安| 禄丰县| 潼关县| 龙江县| 临海市| 桃江县| 洞口县| 通海县| 曲靖市| 巴林左旗| 武冈市| 蚌埠市| 太原市| 电白县| 区。| 中超| 溧水县| 扶绥县| 瑞昌市| 仪征市| 上思县| 措美县| 北辰区| 林周县| 新河县| 祥云县| 梅州市| 澜沧| 镇原县| 徐闻县| 中牟县| 安吉县| 东辽县| 新竹县| 赤城县| 张北县| 高淳县| 尤溪县| 乐都县| 长治县|