版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
任務(wù)書
題目:學(xué)生成績管理系統(tǒng)
設(shè)計(jì)內(nèi)容及要求:
1.課程設(shè)計(jì)任務(wù)內(nèi)容
設(shè)計(jì)一個(gè)簡易的學(xué)生成績管理系統(tǒng),能夠完成學(xué)生成績的增加、刪除、查找、
修改、統(tǒng)計(jì)等操作,數(shù)據(jù)信息保存文件保存。要求系統(tǒng)具有菜單和提示,界面友好.
20課程設(shè)計(jì)要求
實(shí)現(xiàn)學(xué)生成績的管理和保存.
開辟環(huán)境:vc++6。0
實(shí)現(xiàn)目標(biāo):
(1)熟悉的運(yùn)用c語言程序編寫代碼。
(2)能夠理清整個(gè)程序的運(yùn)行過程并繪畫流程圖
(3)了解如何定義局部變量和整體變量;
(4)學(xué)會上機(jī)調(diào)試程序,發(fā)現(xiàn)問題,并解決
(5)學(xué)習(xí)使用C++程序來了解程序原理。
(6)學(xué)習(xí)用文檔書寫程序說明
管理信息系統(tǒng)正在向著網(wǎng)絡(luò)化、智能化和集成化等趨勢發(fā)展.學(xué)
生成績管理系統(tǒng)是為了更好的管理學(xué)生考試成績而開辟的數(shù)據(jù)管理
軟件。它對于一個(gè)學(xué)校是不可缺少的重要部份,它的內(nèi)容對于學(xué)校的
決策者和管理者來說都至關(guān)重要.學(xué)生成績管理管理系統(tǒng)為用戶提供
充足的信息和快捷的查詢手段,實(shí)現(xiàn)學(xué)生基本信息、成績的錄入,刪
除,查詢,維護(hù)以及成績的統(tǒng)計(jì)分析等幾方面的功能,是現(xiàn)實(shí)問題的
迫切要求。
本系統(tǒng)開辟的總體任務(wù)是實(shí)現(xiàn)學(xué)生成績管理的系統(tǒng)化、規(guī)范化、
自動化。達(dá)到提高學(xué)生成績管理效率的目的。與傳統(tǒng)管理方法相比有
明顯的優(yōu)點(diǎn):查找方便,可靠性高,保密性好,成本低。徹底改變了以
前繁雜的管理模式,實(shí)現(xiàn)全面的、相對集中的、職能化的信息綜合管
理.
計(jì)算機(jī)被用到信息管理系統(tǒng)的環(huán)境正是適應(yīng)了當(dāng)今時(shí)代飛速發(fā)
展的信息時(shí)代。人們深刻的認(rèn)識到了計(jì)算機(jī)功能的強(qiáng)大,對于復(fù)雜的
信息管理,計(jì)算機(jī)充分發(fā)揮著它的優(yōu)越性.檢索迅速、查找方便、可
靠性高、存儲量大、保密性好、壽命長、成本低,這些優(yōu)點(diǎn)極大地減
輕了學(xué)院教學(xué)人員的工作量,縮小開支,提高了學(xué)生檔案管理的效率
和準(zhǔn)確性,能夠合理的安排時(shí)間,學(xué)生能夠盡快的知道自己的考試成
績。同時(shí),學(xué)生管理系統(tǒng)的應(yīng)用也為今天的教育在未來市場的競爭力
有所提高.
目錄
1.引言............................................................3
2.課題分析........................................................6
3.具體設(shè)計(jì)過程................................錯(cuò)誤!未定義書簽。
3.1設(shè)計(jì)思路....................................................6
3.2程序設(shè)計(jì)流程圖.............................................7
3.3.函數(shù)實(shí)現(xiàn)說明...............................................7
4.程序運(yùn)行結(jié)果..................................................13
50軟件使用說明...................................................14
6。結(jié)論...........................................................14
參考文獻(xiàn).......................................................16
附錄源代碼.......................................................16
1o引言
數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)界至今沒有標(biāo)準(zhǔn)的定義。個(gè)人根據(jù)各自的理解的不
同而有不同的表述方法:
SartajSahni在他的《數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用》一書中稱:數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)
對象,以及存在于該對象的實(shí)例和組成實(shí)例的數(shù)據(jù)元素之間的各種聯(lián)系。這些
聯(lián)系可以通過定義相關(guān)的函數(shù)來給出?!彼麑?shù)據(jù)對象(dataobject)定義為“一
個(gè)數(shù)據(jù)對象是實(shí)例或者值的集合“CliffordA.Shaffer在《數(shù)據(jù)結(jié)構(gòu)與算法分析》
一書中的定義是:“數(shù)據(jù)結(jié)構(gòu)是ADT(抽象數(shù)據(jù)類型AbstractDataType)的物
理實(shí)現(xiàn)?!?/p>
LobertL。Kruse在《數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計(jì)》一書中,將一個(gè)數(shù)據(jù)結(jié)構(gòu)的
設(shè)計(jì)過程分成抽象層、數(shù)據(jù)結(jié)構(gòu)層和實(shí)現(xiàn)層.其中,抽象層是指抽象數(shù)據(jù)類型層,
它討論數(shù)據(jù)的邏輯結(jié)構(gòu)及其運(yùn)算,數(shù)據(jù)結(jié)構(gòu)層和實(shí)現(xiàn)層討論一個(gè)數(shù)據(jù)結(jié)構(gòu)的表
示和在計(jì)算機(jī)內(nèi)的存儲細(xì)節(jié)以及運(yùn)算的實(shí)現(xiàn).數(shù)據(jù)結(jié)構(gòu)具體指同一類數(shù)據(jù)元素中,
各元素之間的相互關(guān)系,包括三個(gè)組成成份,數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的存儲結(jié)構(gòu)
和數(shù)據(jù)運(yùn)算結(jié)構(gòu).
1.1O重要意義
普通認(rèn)為,一個(gè)數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來的.對數(shù)據(jù)
元素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須在計(jì)算機(jī)內(nèi)存儲,數(shù)據(jù)的
存儲結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)形式,是其在計(jì)算機(jī)內(nèi)的表示;此外討論一個(gè)數(shù)據(jù)
結(jié)構(gòu)必須同時(shí)討論在該類數(shù)據(jù)上執(zhí)行的運(yùn)算才故意義。
在許多類型的程序的設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)的選擇是一個(gè)基本的設(shè)計(jì)考慮因
素。許多大型系統(tǒng)的構(gòu)造經(jīng)驗(yàn)表明,系統(tǒng)實(shí)現(xiàn)的艱難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)
重的依賴于是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時(shí)候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就
容易得到了。有些時(shí)候事情也會反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結(jié)構(gòu)與之
適應(yīng).不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。
選擇了數(shù)據(jù)結(jié)構(gòu),算法也隨之確定,是數(shù)據(jù)而不是算法是系統(tǒng)構(gòu)造的關(guān)鍵因
素。這種洞見導(dǎo)致了許多種軟件設(shè)計(jì)方法和程序設(shè)計(jì)語言的浮現(xiàn),面向?qū)ο蟮?/p>
程序設(shè)計(jì)語言就是其中之一.
1o2.研究內(nèi)容
在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題中計(jì)算機(jī)的
操作對象(數(shù)據(jù)元素)以及它們之間的關(guān)系和運(yùn)算等的學(xué)科,而且確保經(jīng)過這些
運(yùn)算后所得到的新結(jié)構(gòu)仍然是原來的結(jié)構(gòu)類型。
“數(shù)據(jù)結(jié)構(gòu)”作為一門獨(dú)立的課程在國外是從1968年才開始設(shè)立的。1968
年美國唐?歐?克努特教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序
設(shè)計(jì)技巧》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲
結(jié)構(gòu)及其操作的著作?!皵?shù)據(jù)結(jié)構(gòu)”在計(jì)算機(jī)科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課.
數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門核心課程。數(shù)
據(jù)結(jié)構(gòu)這一門課的內(nèi)容不僅是普通程序設(shè)計(jì)(特殊是非數(shù)值性程序設(shè)計(jì))的基礎(chǔ),
而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基
礎(chǔ).
計(jì)算機(jī)是一門研究用計(jì)算機(jī)進(jìn)行信息表示和處理的科學(xué).這里面涉及到兩
個(gè)問題:信息的表示,信息的處理.而信息的表示和組織又直接關(guān)系到處理信
息的程序的效率。隨著計(jì)算機(jī)的普及,信息量的增加,信息范圍的拓寬,使許多
系統(tǒng)程序和應(yīng)用程序的規(guī)模很大,結(jié)構(gòu)又相當(dāng)復(fù)雜。因此,為了編寫出一個(gè)“好”
的程序,必須分析待處理的對象的特征及各對象之間存在的關(guān)系,這就是數(shù)據(jù)結(jié)
構(gòu)這門課所要研究的問題。眾所周知,計(jì)算機(jī)的程序是對信息進(jìn)行加工處理.在
大多數(shù)情況下,這些信息并非沒有組織,信息(數(shù)據(jù))之間往往具有重要的結(jié)
構(gòu)關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。
計(jì)算機(jī)解決一個(gè)具體問題時(shí),大致需要經(jīng)過下列幾個(gè)步驟:首先要從具體問
題中抽象出一個(gè)適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計(jì)一個(gè)解此數(shù)學(xué)模型的算法
(Algorithm),最后編出程序、進(jìn)行測試、調(diào)整直至得到最終解答。尋求數(shù)學(xué)
模型的實(shí)質(zhì)是分析問題,從中提取操作的對象,并找出這些操作對象之間含有的
關(guān)系,然后用數(shù)學(xué)的語言加以描述.計(jì)算機(jī)算法與數(shù)據(jù)的結(jié)構(gòu)密切相關(guān),算法無
不依附于具體的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)直接關(guān)系到算法的選擇和效率.運(yùn)算是由計(jì)
算機(jī)來完成,這就要設(shè)計(jì)相應(yīng)的插入、刪除和修改的算法。也就是說,數(shù)據(jù)結(jié)構(gòu)
還需要給出每種結(jié)構(gòu)類型所定義的各種運(yùn)算的算法。
數(shù)據(jù)是對客觀事物的符號表示,在計(jì)算機(jī)科學(xué)中是指所有能輸入到計(jì)算機(jī)
中并由計(jì)算機(jī)程序處理的符號的總稱。數(shù)據(jù)元素是數(shù)據(jù)的基本單位,在計(jì)算機(jī)程
序中通常作為一個(gè)整體考慮。一個(gè)數(shù)據(jù)元素由若干個(gè)數(shù)據(jù)項(xiàng)組成。數(shù)據(jù)項(xiàng)是數(shù)
據(jù)的不可分割的最小單位.有兩類數(shù)據(jù)元素:一類是不可分割的原子型數(shù)據(jù)元素,
如:整數(shù)"5",字符“N”等;另一類是由多個(gè)款項(xiàng)構(gòu)成的數(shù)據(jù)元素,其中每一個(gè)
款項(xiàng)被稱為一個(gè)數(shù)據(jù)項(xiàng)。例如描述一個(gè)學(xué)生的信息的數(shù)據(jù)元素可由下列6個(gè)數(shù)
據(jù)項(xiàng)組成.其中的出生日期又可以由三個(gè)數(shù)據(jù)項(xiàng):“年”、”月“和"日"組成,則稱"
出生日期''為組合項(xiàng),而其它不可分割的數(shù)據(jù)項(xiàng)為原子項(xiàng)。關(guān)鍵字指的是能識別
一個(gè)或者多個(gè)數(shù)據(jù)元素的數(shù)據(jù)項(xiàng)。若能起惟一識別作用,則稱之為"主"關(guān)鍵字,
否則稱之為“次'關(guān)鍵字。數(shù)據(jù)對象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的
一個(gè)子集.數(shù)據(jù)對象可以是有限的,也可以是無限的。
數(shù)據(jù)處理是指對數(shù)據(jù)進(jìn)行查找、插入、刪除、合并、排序、統(tǒng)計(jì)以及簡單
計(jì)算等的操作過程。在早期,計(jì)算機(jī)主要用于科學(xué)和工程計(jì)算,進(jìn)入八十年代
以后,計(jì)算機(jī)主要用于數(shù)據(jù)處理。據(jù)有關(guān)統(tǒng)計(jì)資料表明,現(xiàn)在計(jì)算機(jī)用于數(shù)據(jù)處
理的時(shí)間比例達(dá)到80%以上,隨著時(shí)間的推移和計(jì)算機(jī)應(yīng)用的進(jìn)一步普及,計(jì)
算機(jī)用于數(shù)據(jù)處理的時(shí)間比例勢必進(jìn)一步增大.
2.課題分析
學(xué)生成績管理系統(tǒng)主要提供成績查詢,方便管理的網(wǎng)上的信息查閱平臺,學(xué)
生可以通過該系統(tǒng)查閱與自己相關(guān)信息,查看留言、提交留言。教師可以通過
成績管理系統(tǒng)查閱學(xué)生成績信息,教師信息,查看教師留言、學(xué)生留言、提交留
言、留言的管理等相關(guān)操作。系統(tǒng)管理員可以實(shí)現(xiàn)以上的所有功能,還有對學(xué)
生的添加、刪除、修改、教師的添加、刪除、修改,數(shù)據(jù)庫的備份、數(shù)據(jù)庫的還
原等相關(guān)操作。根據(jù)開辟要求,學(xué)生成績管理系統(tǒng)主要應(yīng)用于教育系統(tǒng),完成對
日常的教學(xué)、教務(wù)、教師以及學(xué)生的計(jì)算機(jī)化的管理。開辟學(xué)生成績管理系統(tǒng)
可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信
息進(jìn)行管理,同時(shí),可以減少勞動力的使用,加快查詢速度、加強(qiáng)管理,以及國家
各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加規(guī)范化。目前,學(xué)校工作繁雜、資料
重多。目前,管理信息系統(tǒng)已進(jìn)入高校,但還未普及,而對于學(xué)生成績管理來
說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開辟一套適和大眾的、兼容性
好的系統(tǒng)是很有必要的。
3.具體設(shè)計(jì)過程
3.1設(shè)計(jì)思路
要完成學(xué)生成績信息的增刪改查及統(tǒng)計(jì),首先設(shè)計(jì)一下內(nèi)存中存放數(shù)據(jù)信息
的格式.在本設(shè)計(jì)中采用動態(tài)內(nèi)存空間分配的鏈表方法,該方法為一個(gè)結(jié)構(gòu)分配
內(nèi)存空間.每一次分配一塊空間可用來存放一個(gè)學(xué)生成績的數(shù)據(jù),可稱之為一個(gè)
結(jié)點(diǎn).有多少個(gè)學(xué)生就應(yīng)該有多少結(jié)點(diǎn).
總控模塊管理有三種不同的信息的處理模塊,即管理員模塊、教師模塊、學(xué)
生模塊,各模塊的主要功能有:
(1)系統(tǒng)管理員進(jìn)入學(xué)生成績管理的主要功能:實(shí)現(xiàn)管理員用戶的添加、修改
和刪除,以及對教師添加、教師修改、教師刪除、教師查詢、學(xué)生添加、學(xué)生修
改、學(xué)生刪除、學(xué)生查詢等基本功能,并且參預(yù)開設(shè)課程、選擇課程的管理,安
排教師的任課和學(xué)生的選課工作。
(2)教師進(jìn)入學(xué)生成績管理系統(tǒng)的主要功能:各科教師登錄系統(tǒng)后查詢和修
改個(gè)人信息,修改自己的賬號密碼,查詢自己的授課課程,實(shí)現(xiàn)對選修了自己課
程的學(xué)生的成績進(jìn)行查詢、錄入和修改,各科老師可以對自己學(xué)生選修課程結(jié)束
后賦予分?jǐn)?shù),同時(shí)可以對自己所帶課程的成績優(yōu)秀人數(shù)、及格人數(shù)、不及格人數(shù)
的分布信息進(jìn)行查詢。
(3)學(xué)生進(jìn)入學(xué)生成績管理系統(tǒng)的主要功能:每一個(gè)學(xué)生登錄后可以查詢和
修改個(gè)人信息、修改自己的賬號密碼,以及自己所選任課老師的個(gè)人信息,同
時(shí)在課程結(jié)束后可以查詢在校期間各個(gè)時(shí)間段選修課程的成績與學(xué)分,以及對
單科成績和總分的排名查詢。
3o2程序設(shè)計(jì)結(jié)構(gòu)圖
學(xué)生成績系統(tǒng)中學(xué)生的成績信息按照學(xué)號的順序進(jìn)行存放。根據(jù)任
務(wù)要求,下面將系統(tǒng)功能進(jìn)行詳細(xì)設(shè)計(jì)劃分,功能結(jié)構(gòu)圖1如下:
圖1
3o3.函數(shù)實(shí)現(xiàn)說明
在本實(shí)驗(yàn)中,使用鏈表存放學(xué)生成績數(shù)據(jù),設(shè)計(jì)一個(gè)功能類record
來完成系統(tǒng)的各項(xiàng)功能.具體設(shè)計(jì)如下:
classrecord
(
public:
structSCORE*InsertRecord(structSCORE*h);〃增加學(xué)生成績信
息
structSCORE*DeleteRecord(structSCORE*h);〃刪除學(xué)生成績
信息
structSCORE*UpdateRecord(structSCORE*h);〃修改學(xué)生成
績信息
voidFindRecord(structSCORE*h,intx,floats1,floats2);〃根據(jù)某門
課程的分?jǐn)?shù)段查詢學(xué)生成績信息
voidFindRecord(structSCORE*h,stringx);〃根據(jù)學(xué)生姓
名查詢成績信息
voidFindRecord(structSCORE*h,intx);//根據(jù)學(xué)生學(xué)號查詢
成績信息
voidStatisticRecord(structSCORE*h,intx);〃統(tǒng)計(jì)某門課程的及
格學(xué)生人數(shù)、及格率,并顯示不及格學(xué)生信息
voidStacRecordFine(structSCORE*h);//統(tǒng)計(jì)三門課程
成績?nèi)珵閮?yōu)秀的學(xué)生人數(shù),并顯示全為優(yōu)秀的學(xué)生信息
voidStacRecordDisq(structSCORE*h);〃統(tǒng)計(jì)三門課程成
績?nèi)坎患案竦膶W(xué)生人數(shù),并顯示全部不及格的學(xué)生信息
voidPrintRecord(structSCORE*h);〃輸出所有學(xué)生成
績信息
voidSaveRecordFile(structSCORE*h);〃保存學(xué)生成績信
息到文件
structSCORE*LoadRecordFile(structSCORE*h);〃從文件中加
載學(xué)生成績信息
),4o程序運(yùn)行結(jié)果
圖1為初始界面,當(dāng)我們選擇運(yùn)行程序時(shí),便會浮現(xiàn)如下圖的界面。根據(jù)上面文字
的內(nèi)容,我們可以了解系統(tǒng)的功能.并開始根據(jù)提示操作。如下圖所示:
圖2為具體添加學(xué)生信息的操作:
圖3為修改學(xué)生成績信息:
圖4為刪除學(xué)生成績信息:
5o軟件使用說明
學(xué)生成績管理系統(tǒng)包括九個(gè)模塊:輸入學(xué)生資料,輸出學(xué)生資料,學(xué)生姓名按
順序羅列,添加學(xué)生資料,按姓名查找,刪除該學(xué)生資料,查找并顯示學(xué)生資料,
按姓名查找,修改該學(xué)生資料,從文件中讀入數(shù)據(jù),儲存學(xué)生資料并退出系統(tǒng)。
這九個(gè)模塊既相互聯(lián)系又相互獨(dú)立。本系統(tǒng)根據(jù)學(xué)生成績管理的需要,而建立
一個(gè)學(xué)生成績管理系統(tǒng),以方便對成績的各項(xiàng)管理操作.本系統(tǒng)能對成績進(jìn)行輸
入和輸出;能按姓名對學(xué)生進(jìn)行排序,并顯示學(xué)生資料、成績等,無非得以系統(tǒng)
輸入學(xué)生資料、成績?yōu)榍疤?;能添加學(xué)生成績資料;能根據(jù)學(xué)生的姓名來查詢該
學(xué)生的成績資料,并修改或者是刪除該學(xué)生信息;能夠從文件中讀取學(xué)生信息,
并
且添加到系統(tǒng)中;能把對系統(tǒng)所進(jìn)行的操作進(jìn)行保存,以及時(shí)更新系統(tǒng)中的數(shù)據(jù).
6o結(jié)論
課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,
鍛煉實(shí)踐能力的重要環(huán)節(jié),是對我們的實(shí)際工作能力的具體訓(xùn)練和考察過程。隨
著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因
此作為二十一世紀(jì)的大學(xué)來說掌握程序開辟技術(shù)是十分重要的,而C語言又是最
常見,功能最強(qiáng)大的一種高級語言,因此做好c語言課程設(shè)計(jì)是十分必要的.回
顧起此次課程設(shè)計(jì),至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個(gè)編程,
從理論到實(shí)踐,在整整半個(gè)月的日子里,可以學(xué)到不少不少的東西,同時(shí)不僅可
以鞏固了以前所學(xué)過的知識,而且學(xué)到了不少在書本上所沒有學(xué)到過的知識。
通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,惟獨(dú)理論知
識是遠(yuǎn)遠(yuǎn)不夠的,惟獨(dú)把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,
才干真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思量的能力.在設(shè)計(jì)
的過程中遇到問題,可以說得是艱難重重,這畢竟第一次做的,難免會遇到過各
種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學(xué)過的
知識理解得不夠深刻,掌握得不夠堅(jiān)固,比如說結(jié)構(gòu)體,指針,鏈表……通過這
次課程設(shè)計(jì)之后,我們把前面所學(xué)過的知識又重新溫故了一遍。
我做的是黑白棋的課程設(shè)計(jì),雖然是很簡單的一個(gè)小的程序,但對我一個(gè)初
學(xué)者來說卻是一個(gè)很大的艱難.更加是第一次做課程設(shè)計(jì),所以第一天下午在機(jī)
房做了一個(gè)下午卻絲毫沒有發(fā)展,最主要是不知從何開始,這個(gè)時(shí)候才知道上課
老師們不厭其煩的教導(dǎo)是多么的珍貴,這個(gè)時(shí)候才懊悔上課的時(shí)候沒有認(rèn)真的聽
講??墒乾F(xiàn)在一切都晚了,還好時(shí)間還算是充裕,只好拿出書本重新復(fù)習(xí)一下。
特殊是結(jié)構(gòu)體,繪制棋盤的部份,幾乎是一片空白,不知從何著手.無非經(jīng)
過幾天的努力,大體上把課本上的知識點(diǎn)看了一遍,知識點(diǎn)也都基本是撐握了,
所以一下一步就是開始正式的編程序了.無非畢竟是個(gè)新手,還是不知如何下手,
于是就在網(wǎng)上下了一篇類似的程序,經(jīng)過子細(xì)的研究,終于讀懂了c語言編程的
基本過程和方法。經(jīng)過一波三折,終于開始正式編程。
編程是一件很枯燥很無聊的事情,但是出于完成作業(yè),得到學(xué)分的壓力,還
必須強(qiáng)破自己堅(jiān)持下去,按照老師所說的模塊化思想,分部份的進(jìn)行編寫.而且編
程是一件高精度、模范化的事情,稍有疏乎都會影響全局,也可能因?yàn)槟骋惶幍?/p>
小的錯(cuò)誤而導(dǎo)致整個(gè)程序的無法運(yùn)行。所以認(rèn)真子細(xì)就是非常重要的了.
開始的時(shí)候真的感覺編程是一件很無聊的事情,無非當(dāng)一個(gè)程序運(yùn)行成功的
時(shí)候那種歡躍是無法言語的,那種成就感是無法比擬的。又經(jīng)過幾天的努力,終
于把程序完成為了,盡管程序還是有不少錯(cuò)誤和漏洞,無非還是很高興的.無論如
何是自己的勞動成果,是自己經(jīng)過努力得到的成績,同時(shí)也是學(xué)習(xí)C語言的一
次實(shí)踐作業(yè),自己進(jìn)步的證明.
通過這次課程設(shè)計(jì),使我對C語言有了更進(jìn)一步的認(rèn)識和了解,要想學(xué)好它
要重在實(shí)踐,要通過不斷的上機(jī)操作才干更好地學(xué)習(xí)它,我也發(fā)現(xiàn)我的好多不足
之處,首先是自己在指法上還不行,時(shí)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有
對C語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還
有對C語言中時(shí)常浮現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐的學(xué)習(xí),我認(rèn)識到學(xué)好計(jì)算機(jī)
要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計(jì)算機(jī)方
面的知識都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會更加凝視實(shí)踐操作,使自己
便好地學(xué)好計(jì)算機(jī)。
在課程設(shè)計(jì)過程中,收獲知識,提高能力的同時(shí),我也學(xué)到了不少人生的哲
理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么
樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會把課
程設(shè)計(jì)的精神帶到生活中,不畏艱難,勇往直前!
參考文獻(xiàn)
[1]譚浩強(qiáng).《C程序設(shè)計(jì)(第三版)》,清華大學(xué)出版社,2005o
7
[2]梁鳳蘭鄭步芹《C++程序設(shè)計(jì)實(shí)踐指導(dǎo)》,東南大學(xué)出版社,
2022o12
附錄:源代碼
#include<iostream)
#include<string)
#include<fstream>
usingnamespacestd;
structSCORE〃定義存放學(xué)生成績信息的結(jié)點(diǎn)
{
intnum;〃學(xué)號
stringname;〃姓名
floatmath;〃數(shù)學(xué)成績
floatenglish;〃英語成績
floatcomputer;〃就算計(jì)基礎(chǔ)成績
floatscoresum;〃總成績
structSCORE*next;//next為指向下一結(jié)點(diǎn)的指針
structSCORE*head;〃指向鏈表頭結(jié)點(diǎn)的指針
intstudentSum=O;//學(xué)生總?cè)藬?shù)
classrecord
i
public:
structSCORE*lnsertRecord(structSCORE*h);〃增加學(xué)生成績
信息
structSCORE*DeleteRecord(structSCORE*h);〃刪除學(xué)生
成績信息
structSCORE*UpdateRecord(structSCORE*h);//修改學(xué)生成
績信息
voidFindRecord(structSCORE*h,intx,floats1,floats2);//根據(jù)某門課
程的分?jǐn)?shù)段查詢學(xué)生成績信息
voidFindRecord(structSCORE*h,stringx);//根據(jù)學(xué)生姓
名查詢成績信息
voidFindRecord(structSCORE*h,intx);〃根據(jù)學(xué)生
學(xué)號查詢成績信息
voidStatisticRecord(structSCORE*h,intx);//統(tǒng)計(jì)某門課程
的及格學(xué)生人數(shù)、及格率,并顯示不及格學(xué)生信息
voidStacRecordFine(structSCORE*h);〃統(tǒng)計(jì)三門課
程成績?nèi)珵閮?yōu)秀的學(xué)生人數(shù),并顯示全為優(yōu)秀的學(xué)生信息
voidStacRecordDisq(structSCORE*h);〃統(tǒng)計(jì)三門課程成
績?nèi)坎患案竦膶W(xué)生人數(shù),并顯示全部不及格的學(xué)生信息
voidPrintRecord(structSCORE*h);〃輸出所有學(xué)生
成績信息
voidSaveRecordFile(structSCORE*h);//保存學(xué)生成
績信息到文件
structSCORE女LoadRecordFile(structSCORE*h);//從文件中
加載學(xué)生成績信息
);
structSCORE*record::lnsertRecord(structSCORE*h)
structSCORE*p1,*p2,*p3;//定義指針變量p1、p2、p3
p3=newSCORE;〃創(chuàng)建新的學(xué)生成績結(jié)
八占、、
cout(Cn請輸入學(xué)生學(xué)號:”;
cin?p3—)num;//從鍵盤接收輸入數(shù)賦
值給結(jié)點(diǎn)的學(xué)號
cout〈v,n請輸入學(xué)生姓名:";
cin)>p3->name;//從鍵盤接收輸入數(shù)賦
值給結(jié)點(diǎn)的姓名
cout<<”\n請輸入學(xué)生數(shù)學(xué)成績:";
cin)>p3->math;〃從鍵盤接收輸入數(shù)賦
值給結(jié)點(diǎn)的數(shù)學(xué)成績
cout〈〈”\n請輸入學(xué)生英語成績:";
cin?p3—)english;〃從鍵盤接收輸入數(shù)賦值
給結(jié)點(diǎn)的英語成績
cout?”\n請輸入學(xué)生的計(jì)算機(jī)基礎(chǔ)成績:";
cin)>p3—>computer;//從鍵盤接收輸入數(shù)
賦值給結(jié)點(diǎn)的計(jì)算機(jī)成績
p3—>scoresum=p3—)math+p3->english+p3—)computer;〃計(jì)算
結(jié)點(diǎn)的總成績
p3—)next=NULL;〃將要插入結(jié)點(diǎn)的指針
域設(shè)置為空
if(h==NULL)〃當(dāng)鏈表中沒有結(jié)點(diǎn)時(shí),
將要加入的結(jié)點(diǎn)作為頭結(jié)點(diǎn)
(
h=p3;
returnh;
p1=p2=h;
while(p1!=NULL&&p3—)num>p1->num)〃查找結(jié)點(diǎn)的學(xué)號
大于要插入結(jié)點(diǎn)學(xué)號的第一個(gè)結(jié)點(diǎn)
//指針p1表示符合條件的結(jié)
點(diǎn)的指針,指針p2是指針p1的前一個(gè)結(jié)點(diǎn)指針
(
p2=p1;
p1=p1—>next;
)
if(p1==h)〃插入位置為頭結(jié)點(diǎn)前
(
p3->next=p3;
h=p3;
returnh;
else〃插入位置為鏈表中間和
鏈表尾部
(
p2->next=p3;
p3->next=p1;
studentSum+=1;〃學(xué)生人數(shù)加1
returnh;〃返回鏈表的頭結(jié)點(diǎn)
)
voidrecord:PrintRecord(SCORE*h)
(
if(h==NULL)
(
coutvc'W抱歉,沒有任何記錄!\n";
return;
)
cout<<"\n學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分"《endl;
while(h)〃輸出鏈表中每一個(gè)結(jié)點(diǎn)
的學(xué)生成績信息
cout?h—)num<\tM?h->name?'T<<h->mathvv'Y"<<h")
english<<"\t"(<h—>computer<"\f,<<h—)scoresum?endl;
h=h->next;
structSCORE*record::DeleteRecord(structSCORE*h)
structSCORE*p1,*p2;
intnum;
if(h==NULL)〃鏈表為空
(
cout〈〈”\n抱歉,沒有任何記錄!”;
returnh;
)
p1=p2=h;〃將鏈表的頭結(jié)點(diǎn)指
針h賦值給指針p1和指針p2
cout?"\n請輸入要刪除記錄的學(xué)生學(xué)號”;
cin))num;
while(p1!=NULL&&p1->num!=num)〃查找結(jié)點(diǎn)的學(xué)
號等于要刪除學(xué)生學(xué)號的第一個(gè)結(jié)點(diǎn)
//指針p1表示符合條件
的結(jié)點(diǎn)的指針,指針p2是指針p1的前一個(gè)結(jié)點(diǎn)指針
p2=p1;
p1=p1->next;
if(p1=NULL)〃沒有找到符合要
求的結(jié)點(diǎn)
(
coutv<"\n抱歉啊,表中沒有該記錄哦!”;
returnh;
if(p1—〉num==num)
{
studentSum-1;〃學(xué)生人數(shù)減1
if(p1==h)〃刪除的是頭結(jié)點(diǎn)
h=h—>next;
else〃刪除的是非頭結(jié)點(diǎn)
p2->next=p1—>next;
deletep1;//釋放p1所指向的儲存單
)
returnh;
structSCORE*record::UpdateRecord(structSCORE*h)
{
structSCORE*p1;
intnum;
if(h==NULL)〃鏈表為空
{
cout〈v"\n抱歉,沒有任何記錄!”;
returnh;
)
p1=h;〃將鏈表的頭結(jié)點(diǎn)指
針h賦值給指針p1
cout〈<"\n請輸入要修改記錄的學(xué)生學(xué)號!”;
cin>)num;
while(p1!=NULL&&p1—)num!=num)〃查找結(jié)點(diǎn)的
學(xué)號等于要修改學(xué)生學(xué)號的指針結(jié)點(diǎn)
(
p1=p1—)next;//將p1指針移到下一
個(gè)結(jié)點(diǎn)
)
if(p1==NULL)〃沒有找到符合要求
的結(jié)點(diǎn)
cout〈V”\n抱歉啊,表中沒有該記錄哦!”;
returnh;
)
if(p1—>num==num)〃找到符合要求的
結(jié)點(diǎn),并修改學(xué)生的相關(guān)成績
(
cout(〈”\n請重新輸入學(xué)生的數(shù)學(xué)成績:";
cin)〉p1—)math;
cout<<"\n請重新輸入學(xué)生英語成績:”;
cin?p1->english;
cout〈〈,n請重新輸入學(xué)生的計(jì)算機(jī)基礎(chǔ)成績:
cin?p1—)computer;
p1->scoresum=p1-)math+p1—>english+p1—)computer;
}
returnh;
)
voidrecord::FindRecord(structSCORE*hjntx,floats1.floats2)
(
if(h==NULL)〃鏈表為空
(
cout(〈”\n抱歉,沒有任何記錄!
return;
)
cout?"\n學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分"〈(endl;
while(h)
(
if(x==1)
//查找數(shù)學(xué)成績在某分?jǐn)?shù)段的學(xué)生成績信息
if(h->math>=s1&&h->math<=s2)
cout<<h—>num<<"\tw(<h->name<<"\t"(<h—)math?"\t,,
(〈h-〉
english<〈"\t"〈<h->computer<〈"\t"<<h-〉scoresum?endl;
if(x==2)
//查找英語成績在某分?jǐn)?shù)段的學(xué)生成績信息
if(h-)english>=s1&&h—)english<=s2)
cout?h->num〈<”\t"<(h->name<〈"\t”<(h—〉math<
"t”(<h->
english<〈h->computer?”scoresum((endl;
if(x==3)
〃查找計(jì)算機(jī)成績在某分?jǐn)?shù)段的學(xué)生成績信息
if(h—)computer>=s1&&h—)english<=s2)
cout<〈h->num<<”\t"〈<h->name〈〈"\t”<(h—)
math?"\t,,<(h—)
english?'\t"<<h—)computer<"\t"?h-)scoresum
<<endl;
h=h->next;
)
)
voidrecord::FindRecord(structSCORE*h,intnum)〃根據(jù)學(xué)
生學(xué)號查找學(xué)生成績信息
{
structSCORE*p1;
if(h==NULL)
〃鏈表為空
{
cout〈v”\n抱歉,沒有任何記錄!”;
return;
)
p1=h;
//將鏈表的頭結(jié)點(diǎn)指針h賦值給指針p1
while(p1!=NULL&&p1->num!=num)
//查找節(jié)點(diǎn)的學(xué)號等于要查找學(xué)生學(xué)號的指針結(jié)點(diǎn)
(
p1=p1-〉next;
)
if(p1==NULL)
〃沒有找到
(
cout<〈”\n抱歉,表中沒有該記錄哦!”;
return;
)
if(p1->num==num)
〃找到并顯示信息
I
cout<〈”\n學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分"vvendl;
cout<<p1—)num?"\t"<<p1—)name<(V<<p1—)math?,"\t"?p1
一>
englishvc"\t"<(p1->computer<(p1-)scoresum〈<endl;
)
)
voidrecord::FindRecord(structSCORE*h,stringname)//根據(jù)學(xué)
生姓名查找學(xué)生成績信息
(
structSCORE*p1;
if(h==NULL)
〃鏈表為空
(
cout<("\n抱歉,沒有任何記錄";
return;
p1=h;
while(p1!=NULL&&p1->name!=name)
(
p1=p1-)next;
)
if(p1==NULL)
(
coutvc”\n抱歉,表中沒有該記錄哦!”;
return;
)
if(p1—)name==name)
(
cout<<"\n學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分”<〈endl;
cout?p1—)num〈v"\t”〈vp1->namev<”\t"v<p1—)math(〈“\t"
(<p1->
english<('V?p1—>computer(〈“\t"?p1—)scoresum(<endl;
voidrecord::StatisticRecord(structSCORE*h,intx)
structSCORE*p=h;//將鏈表的頭結(jié)
點(diǎn)指針h復(fù)制給指針p
intcount=0;〃定義統(tǒng)計(jì)人數(shù)
count變量并賦初始值為0
if(p==NULL)〃鏈表為空
cout(〈"\n抱歉,沒有任何記錄!
return;
while(p)
if(x==1)〃統(tǒng)計(jì)數(shù)學(xué)成績及格
的學(xué)生人數(shù)
if(p-)math>=60)
count+=1;
if(x==2)//統(tǒng)計(jì)英語成績及格
的學(xué)生人數(shù)
if(p-)english)=60)
count+=1;
if(x==3)〃統(tǒng)計(jì)計(jì)算機(jī)成績及格
的學(xué)生人數(shù)
if(p—>computer)=60)
count+=1;
p=p—〉next;
)
if(x==1)//顯示數(shù)學(xué)成績
及格的學(xué)生人數(shù)及及格率
(
cout<〈”數(shù)學(xué)成績及格學(xué)生人數(shù)為";
cout<(count;
cout<〈”,及格率為“;
cout(<count/(float)studentSum?endl;
if(count<studentSum)
cout<〈'n學(xué)號\t姓名\t數(shù)學(xué)"〈<endl;
else
cout<〈"沒有數(shù)學(xué)成績不及格學(xué)生"v(endl
)
else
if(x==2)〃顯示英語成績及格
的學(xué)生人數(shù)及及格率
(
cout<〈"英語績及格學(xué)生人數(shù)為”;
cout((count;
cout<<",及格率為“;
cout?count/(float)studentSum?endl;
if(count<studentSum)
cout?"\n學(xué)號\t姓名\t英語”<〈endl;
else
cout〈<”沒有英語成績不及格的學(xué)生”<<endl;
)
else
if(x==3)〃顯示計(jì)算機(jī)成績及
格的學(xué)生人數(shù)及及格率
cout〈〈”計(jì)算機(jī)成績及格的學(xué)生人數(shù)為";
cout?count;
cout<〈",及格率為“;
cout((count/(float)studentSum(<endl;
if(count<studentSum)
cout〈〈"\n學(xué)號\t姓名\t計(jì)算機(jī)“cvendl;
else
cout〈<”沒有計(jì)算機(jī)成績不及格的學(xué)生”〈〈endl;
)
P=h;
while(p)
if(x==1)
〃顯示數(shù)學(xué)成績不及格的學(xué)生信息
if(p->math<60)
cout<<p—)num(〈"\t"<<p—>name<〈"\t"(<p->
math?endl;
if(x==2)
//顯示英語成績不及格的學(xué)生信息
if(p—)english<60)
cout?p—>num(〈"\t"<(p->name<〈,t"
<<p->english?endl;
if(x==3)
〃顯示計(jì)算機(jī)成績不及格的學(xué)生信息
if(p—>computer(60)
cout(<p—)num〈C\t"(<p—>name(〈”\t"
?p—)computer<endl;
p=p->next;
voidrecord::StacRecordFine(structSCORE*h)
{
structSCORE*p=h;
//將鏈表的頭結(jié)點(diǎn)指針h賦值給指針平p
intcount=0;
//定義統(tǒng)計(jì)人數(shù)count變量并賦初始值為0
if(p==NULL)
〃鏈表為空
(
cout〈<“\n抱歉,沒有任何記錄!
return;
)
while(p)
(
if(p—>math)=90&&p-〉english>=90&&p-)computer>=90)
〃統(tǒng)計(jì)三門成績?nèi)繛閮?yōu)秀的學(xué)生人數(shù)
count+=1;
p=p—>next;//
將指針移到下一結(jié)點(diǎn)
)
cout〈〈"三門成績?nèi)珵閮?yōu)秀的學(xué)生人數(shù)為";
cout<(count<<endl;
cout<Cn學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分”<(endl;
p=h;
//將鏈表的頭結(jié)點(diǎn)指針h賦值給指針p
while(p)
if(p->math>=90&&p-)english)=90&&p—)computer)=90)//
顯示三門成績?nèi)繛閮?yōu)秀的學(xué)生信息
cout〈<p->num(<p—>name<\t"?p->math〈v"\t”<
<p->
english<〈"\t"〈<p->computer(\t"?p->scoresum<(endl;
p=p->next;
)
)
voidrecord::StacRecordDisq(structSCORE*h)
(
structSCORE*p=h;
//將鏈表的頭結(jié)點(diǎn)指針h賦值給指針p
intcount=0;
//定義統(tǒng)計(jì)人數(shù)count變量并賦初值為0
if(p==NULL)
〃鏈表為空
{
cout(”n抱歉,沒有任何記錄!”;
return;
)
while(p)
(
if(p->math(60&&p->english〈60&&p—〉computer(60)
//統(tǒng)計(jì)三門成績?nèi)繛椴患案竦膶W(xué)生人數(shù)
count+=1;
p=p->next;
)
cout(〈”三門成績?nèi)坎患案竦膶W(xué)生信息為";
cout?count?endl;
cout<〈"全為不及格的學(xué)生信息為:"?endl;
cout<〈”\n學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分"〈(endl;
p=h;
while(p)
(
if(p—>math<60&&p->english<60&&p->computer<60)//
顯示三門成績?nèi)繛椴患案竦膶W(xué)生信息
cout〈〈p—〉num<〈”\t"?p—>name?>>\tv〈(p->math〈〈”
\t"(<p—>
english<(w\t"?p->computer〈<“\t"(<p—>scoresum<(endl;
p=p->next;
)
)
voidrecord::SaveRecordFile(structSCORE*h)
〃將鏈表中的數(shù)據(jù)寫入文件
structSCORE*p;
ofstreamofile;
ofile。open("score。dat",ios::out);//
以寫的方式打開文件score.dat,若該文件不存在,則創(chuàng)建score0dat文件
if(!ofile)//
文件打開錯(cuò)誤
(
cout<〈”\n數(shù)據(jù)文件打開錯(cuò)誤沒有將數(shù)據(jù)寫入文件!\n”;
return;
)
ofile〈<”學(xué)號\t姓名\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t總分";
while(h)
(
ofile<<endl(<h—)num?'\t"?h—>name(C\t"?h->math<<'\t"<<h
—>
english<〈"\t"<<h->computer〈〈“\t"?h")scoresum;//
將當(dāng)前結(jié)點(diǎn)的數(shù)據(jù)信息寫入到文件中
p=h;h=h—>next;
deletep;
)
ofileoclose();//
關(guān)閉文件對象
)
structSCORE*record::LoadRecordFile(structSCORE*h)
(
ifstreamifile;//
定義輸入文件對象
ifile.open("score.datJos::in);〃以
讀的方式打開文Ascore.dat
structSCORE*p,*q;
if(!ifile)//
文件打開錯(cuò)誤
(
cout(〈'V數(shù)據(jù)文件不存在,加載不成功!\n";
returnNULL;
)
chars[50];
ifileogetline(s,50);//
讀取文件指針當(dāng)前行數(shù)據(jù)
while(!ifile.eof())
(
studentSum=studentSum+1;//
學(xué)生人數(shù)加1
p=newSCORE;
//創(chuàng)建新的score變量
ifile)〉p->num>>p—)name)>p->math)〉p-)
english>>p-〉computer?p->scoresum;//
將數(shù)據(jù)從文件中讀取到新的結(jié)點(diǎn)中
p->next=NULL;//
新結(jié)點(diǎn)的指針域?yàn)榭?/p>
if(h==NULL)//
將新結(jié)點(diǎn)插入到鏈表中
q=h=p;
else
(
q—>next=p;
q=p;
)
)
ifile.close0;//
關(guān)閉文件對象
returnh;
)
voidSystemMenu(recordr)//
系統(tǒng)菜單,及處理用戶的選擇
(
intchoice;
while(1)
{
cout〈〈”\n\t\t歡迎進(jìn)入學(xué)生成績管理系統(tǒng)!//
顯示系統(tǒng)主菜單
coutv<"\n@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@";
cout<("\n\t1,添加學(xué)生成績信息";
cout<<"\n\t2,刪除學(xué)生成績信息";
cout(〈'、n\t3、修改學(xué)生成績信息";
cout<〈”\n\t4、查詢學(xué)生成績信息”;
cout(〈”\n\t5、顯示所有學(xué)生成績信息”;
cout(〈'Vi\t6、統(tǒng)計(jì)學(xué)生成績信息”;
cout?”\n\tO、退出系統(tǒng)";
cout〈〈”\n@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@";
cout<
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 變頻空調(diào)課課程設(shè)計(jì)
- 變頻調(diào)速課程設(shè)計(jì)論文
- 曲師大書法課程設(shè)計(jì)
- 論壇課程設(shè)計(jì)er圖
- 課程設(shè)計(jì)工況系數(shù)
- 漏頂式閘門課程設(shè)計(jì)
- hadoop的課程設(shè)計(jì)報(bào)告
- 基于javaweb的課程設(shè)計(jì)
- 基于FPGAeda課程設(shè)計(jì)
- 基于c 網(wǎng)絡(luò)爬蟲 課程設(shè)計(jì)
- 2024年汽車駕駛員(技師)考試題庫附答案
- 高處作業(yè)吊籃危險(xiǎn)源辨識及風(fēng)險(xiǎn)評價(jià)表
- 中國農(nóng)業(yè)銀行筆試題庫(含答案)
- 高層建筑厚板轉(zhuǎn)換層結(jié)構(gòu)設(shè)計(jì)
- 快樂閱讀社團(tuán)活動記錄
- 風(fēng)險(xiǎn)點(diǎn)危險(xiǎn)源隱患臺賬
- 中國聲樂家協(xié)會申請新會員填表要求
- 小學(xué)期末考試成績分析報(bào)告
- 分汽缸選型計(jì)算
- 怎樣寫好寫人作文PPT優(yōu)秀課件
- 常見的焊接缺陷及處理辦法
評論
0/150
提交評論