C語言學(xué)生成績管理系統(tǒng)課程設(shè)計word版
一份C語言學(xué)生成績管理系統(tǒng)設(shè)計報告,分享給大家
一、課程設(shè)計題目
《學(xué)生成績管理系統(tǒng)設(shè)計》
二、實訓(xùn)目的
(1)掌握結(jié)構(gòu)化程序設(shè)計的基本方法,基本掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法。
(2)掌握C++的基本概念和基礎(chǔ)知識。
(3)通過訓(xùn)練能夠讀懂較為復(fù)雜的C++語言源程序并具備基本C++語言程序設(shè)計的能力。
(4)通過實訓(xùn),培養(yǎng)自己編寫、調(diào)試、分析程序的能力。
(5)培養(yǎng)自己獨立解決問題,查找資料的能力。同學(xué)之間相互幫助,相互交流,相互合作的團(tuán)隊精神。
(6) 培養(yǎng)自己良好的學(xué)習(xí)興趣,獨立的編程風(fēng)格。
(7) 通過實訓(xùn)檢查自己學(xué)習(xí)上的不足,達(dá)到熟練掌握C++語言的基本知識和技能。
三、課程設(shè)計報告內(nèi)容
3.1 功能要求
該系統(tǒng)運(yùn)行在DOS環(huán)境下,人機(jī)界面為命令行文本界面。完成的任務(wù)是對若干人的成績信息進(jìn)行管理,且數(shù)據(jù)保存到文件中。
實現(xiàn)的主要功能是:
系統(tǒng)以菜單方式進(jìn)行工作
學(xué)生信息和成績輸入功能
學(xué)生信息和成績輸出功能
學(xué)生信息和成績?yōu)g覽功能
查詢學(xué)生信息及成績功能
修改學(xué)生信息及成績功能
學(xué)生成績排序
以穩(wěn)健的形式進(jìn)行保存
3.2 設(shè)計環(huán)境
所使用的語言采用標(biāo)準(zhǔn)C,開發(fā)工具可選用在DOS環(huán)境下的Turbo C
3.3 數(shù)據(jù)結(jié)構(gòu)
本系統(tǒng)是對學(xué)生成績的信息進(jìn)行管理,學(xué)生成績信息采用C的結(jié)構(gòu)體數(shù)據(jù)類型描述,定義如下:
struct students { int num; //學(xué)號-整型// char name[8]; //姓名-字符型// char chinese; //大學(xué)語文-字符型// char math; //大學(xué)數(shù)學(xué)-字符型// char computer; //計算機(jī)-字符型// char sum; //總成績-字符型// char ave; //平均分-字符型// }
3.4 實現(xiàn)方法及主要算法分析
(1)主界面的設(shè)計:主界面采用文本菜單的形式,各功能調(diào)用通過菜單進(jìn)行選擇。采用循環(huán)處理,以便執(zhí)行完某項處理后,仍可選擇其他項處理。在循環(huán)內(nèi)先顯示提示信息,然后讀取用戶輸入,使用switch語句對用戶的輸入進(jìn)行判斷,分別調(diào)用相應(yīng)的模塊,當(dāng)某模塊結(jié)束后再次回到文本菜單,直到用戶選擇結(jié)束程序菜單,才退出循環(huán),從而退出系統(tǒng)。
(2) 外部文件的類型:文件采用的二進(jìn)制的文件,對文件的讀寫采用順序文件的方式,并使用fread和fwrite等函數(shù)對文件進(jìn)行操作。
(3)清屏函數(shù):一般由上一級菜單屏幕進(jìn)入下一級菜單屏幕或由下一級菜單屏幕返回上一級菜單屏幕都需要清除屏幕原來顯示的內(nèi)容。同時在調(diào)用程序的過程中,記錄需要清屏的位置,然后修改代碼,加入clrscr()函數(shù)清屏。
(4)提示信息:一般的輸入與輸出需有相應(yīng)的提示信息,以增加用戶的交互性,增加輸出的可讀性,以幫助用戶使用程序。
3.5 模塊設(shè)計
根據(jù)功能要求,本系統(tǒng)為五大主要模塊,具體模塊如表所示。
表 學(xué)生信息成績管理系統(tǒng)的模塊
3.6 處理流程
(1)學(xué)生成績管理系統(tǒng)主界面模塊
(2)成績輸入模塊 和(3)成績排序模塊
(3)成績排序模塊
(4)刪除記錄
(5)修改記錄
(6)查找信息
四、結(jié)論
學(xué)生成績管理系統(tǒng)的編寫,看似雜亂無頭緒,實際上卻并不如此。它的每一個功能都能分成模塊,有句話說的好,大事化小,小事化了。C語言編程也正式如此,把一個大的程序分為若干相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,這樣不僅降低了難度還使得思路清晰,很容易編寫出要做的程序,從而為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。
分析問題:
學(xué)生成績管理系統(tǒng)的整體功能都包括、增加成員、刪除成員、查看成員、修改成員、登陸口令五大板塊,而查看有包括學(xué)號,姓名,大學(xué)語文成績,大學(xué)數(shù)學(xué)成績,計算機(jī)成績,總成績,平均分七個模塊。
(1)、設(shè)計的數(shù)據(jù)對象包括整形:學(xué)號。字符型:姓名、3門課程成績、總成績、平均成績。
(2)、數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu),定義人數(shù)上限為1000.
算法的設(shè)計:
(1)、自頂向下
現(xiàn)有全局,在進(jìn)行整體設(shè)計,然后再進(jìn)行下層的設(shè)計,逐步實現(xiàn)精細(xì)化。采用這種方法能夠做到胸有全局,能全盤考慮,不至于顧此失彼,頭重腳輕。
(2)、逐步細(xì)化
一步步地將上層的任務(wù)分解成較小的、易于實現(xiàn)的任務(wù),知道可以很簡單實現(xiàn)為止。
編寫源程序:
(1)、不求速度,但求質(zhì)量!一步一個腳印,編寫程序時候?qū)幙伤俣嚷┮惨M量保證質(zhì)量,做到盡量不出錯。
(2)、精力集中,全神貫注!寫程序時候最忌諱三心二意,這樣才能思路清晰保證質(zhì)量。
(3)、保持一個良好的編程心態(tài),不要被長長的代碼嚇到
程序的編譯與運(yùn)行:
(1)、查找錯誤是一件讓人鬧心的事,但是要注重技巧,注意平時經(jīng)驗的積累。
(2)、程序編譯成功不要滿足現(xiàn)狀,要積極測試程序的可用性,對功能不理想,存在缺點的地方,積極的改進(jìn),完善。
五、結(jié)束語
在實訓(xùn)過程中,首先是興趣方面,通過編寫通訊錄管理系統(tǒng)使我更加喜歡編程,使我從以前的迷茫狀態(tài)中解脫出來,使我了解了編程的真正意義。我想這對我以后的人生有著很大的幫助。其次通過編寫通訊錄管理系統(tǒng)使我對寫程序有了一定的思路,不像以前無從下手,使我理解了算法的意義,使我懂得了模塊化思想的好處。
通過一個星期的編寫代碼,使我對書本上的知識有了更深的理解,甚至有很多不懂的問題在這過程中自然而然的理解了。對期末考試更有了信心。在朱老師的悉心指導(dǎo)下,我對C語言有了更深刻的理解,對程序的算法,數(shù)據(jù)的定義,程序的改錯等方面的能力有了很大提高,自身的注意力,耐心,和對編程的興趣有了很大增長,使我獲益匪淺。
六、參考書目
[1]譚浩強(qiáng),《C語言程序設(shè)計》,清華大學(xué)出版社
精彩文章:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語言編寫學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)C語言代碼實現(xiàn)
- C語言利用結(jié)構(gòu)體數(shù)組實現(xiàn)學(xué)生成績管理系統(tǒng)
- C語言學(xué)生成績管理系統(tǒng)源代碼
- C語言實現(xiàn)學(xué)生成績管理系統(tǒng)實戰(zhàn)教學(xué)
- C語言實現(xiàn)簡單學(xué)生成績管理系統(tǒng)
- C語言學(xué)生成績管理系統(tǒng)課程設(shè)計
- C語言實現(xiàn)學(xué)生成績管理系統(tǒng)
- C語言學(xué)生成績管理系統(tǒng)設(shè)計
- C語言版學(xué)生成績管理系統(tǒng)
相關(guān)文章
C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法
這篇文章主要介紹了C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法
這篇文章主要介紹了詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09C++11的future和promise、parkged_task使用
這篇文章主要介紹了C++11的future和promise、parkged_task使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04C++11 <future>中std::promise 介紹
這篇文章主要介紹了C++11 <future>中std::promise 介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02史上最貼心的 VS code C++ 環(huán)境配置超詳細(xì)教程
這篇文章主要介紹了史上最貼心的 VS code C++ 環(huán)境配置超詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02C++數(shù)據(jù)結(jié)構(gòu)二叉搜索樹的實現(xiàn)應(yīng)用與分析
從這篇博客開始,我就要和大家介紹有關(guān)二叉搜索樹的知識,它還衍生出了兩棵樹——AVL樹和紅黑樹,在后面兩篇博客我都會介紹。今天先從二叉搜索樹開始引入2022-02-02