C語言大作業(yè)——學(xué)生信息管理系統(tǒng)_第1頁
C語言大作業(yè)——學(xué)生信息管理系統(tǒng)_第2頁
C語言大作業(yè)——學(xué)生信息管理系統(tǒng)_第3頁
C語言大作業(yè)——學(xué)生信息管理系統(tǒng)_第4頁
C語言大作業(yè)——學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、標(biāo)準(zhǔn)文檔程序設(shè)計(jì)綜合課程設(shè)計(jì)報(bào)告學(xué)生姓名:學(xué)生班級:學(xué)生學(xué)號(hào):指導(dǎo)教師:2014年6月22日目錄前言 2第1章Visual C+6.0 簡介及其優(yōu)點(diǎn) 3第2章課程設(shè)計(jì)的目的和要求 42.1 課程設(shè)計(jì)目的 42.2 課程設(shè)計(jì)的要求 5第3章課程設(shè)計(jì)任務(wù)內(nèi)容 63.1 需求分析 63.2 可行性分析 6第4章軟件使用說明 7第5章總結(jié) 錯(cuò)誤!未定義書簽。附錄源程序?qū)W生信息管理系統(tǒng)學(xué)生信息檔案的管理對于學(xué)校的管理者來說至關(guān)重要,學(xué)生信息是高等學(xué)校非常重要的一項(xiàng)數(shù)據(jù)資源,是一個(gè)教育單位不可缺少一部分。特別是近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模的擴(kuò)招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方

2、面都帶來不少的沖擊。 其包含的數(shù)據(jù)量大, 涉及的人員面廣,而且需要及時(shí)更新,故較為復(fù)雜,難以單純地依靠人 工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)范化,管理效率也不高,目前我國各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,尤其是中、小學(xué)對學(xué)生檔案的管理更是落后,這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代發(fā)展的要求,其管理方法將浪費(fèi)許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)與技術(shù)日漸成熟,計(jì)算機(jī)應(yīng)用的普及已進(jìn)入人類社會(huì)生活的各個(gè)領(lǐng)域, 并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計(jì)算機(jī)為物質(zhì)基礎(chǔ)的信息管理方法所取代。作為計(jì)算機(jī)應(yīng)用的一部分, 使用計(jì)算機(jī)對學(xué)生檔案進(jìn)行管理

3、,有著手工管理所無法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生檔案管理的效率,也是學(xué)校向科學(xué)化、正規(guī)化管理發(fā)展的必要條件,更是各個(gè)高等院校與世界接軌的重要條件。第1章Visual C+6.0簡介及其優(yōu)點(diǎn)VC+是微軟公司儂的一個(gè)IDE(集成開發(fā)環(huán)境),換句話說,就是使用C+的一個(gè) 開發(fā)平臺(tái)有些軟件就是這個(gè)編來的另外還有VB,VF.只是使用不同語言 但是, vc+是Windows平臺(tái)上的C+S程環(huán)境,學(xué)習(xí)VC要了解很多 Windows平臺(tái)的特 性并且還要掌握MFC ATLCOM?的知識(shí),難度比較大。Windows下編程需要了解Wi

4、ndows的消息機(jī)制以及 回調(diào)(callback )函數(shù)的原理;MFCg Win32API的包裝類,需要理解文檔視圖類的 結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等;COM1代碼共享的二進(jìn)制標(biāo)準(zhǔn),需要掌握其基本 原理等等。VC作為一個(gè)主流的開發(fā)平臺(tái)一直深受編程愛好者的喜愛,但是很多人卻對它 的入門感到難于上青天,究其原因主要是大家對他錯(cuò)誤的認(rèn)識(shí)造成的,嚴(yán)格的來說VC+壞是門語言,雖然它和C+叱間有密切的關(guān)系, 如果形象點(diǎn)比喻的話,可以 C+1作為一種“工業(yè)標(biāo)準(zhǔn)”,而VC+圳是某種操作 系統(tǒng)平臺(tái)下的“廠商標(biāo)準(zhǔn)“,而“廠商標(biāo)準(zhǔn)”是在遵循“工業(yè)標(biāo)準(zhǔn)”的前提下擴(kuò) 展而來的。VC+應(yīng)用程序的開發(fā)主要有兩種模式,一

5、種是 WIN API方式,另一種則是 MFCff式,彳統(tǒng)的 WINAPI開發(fā)方式比較繁瑣,而 MFCU是對 WINAPI再次封裝, 所以MFCf目對于WINAPI開發(fā)更具備效率優(yōu)勢,但為了對 WINDOWS發(fā)有一個(gè)較 為全面細(xì)致的認(rèn)識(shí),筆者在這里還是以講解 WINAPI的相關(guān)內(nèi)容為主線。要想學(xué) 習(xí)好VC必須具備良好的C/C+勺基礎(chǔ),必要的英語閱讀能力也是必不可少的, 因?yàn)榇罅康募夹g(shù)文檔多以英文形式發(fā)布。vc6.0 的優(yōu)點(diǎn)是界面簡潔,占用資源少,操作方便。第2章課程設(shè)計(jì)的目的和要求2.1 課程設(shè)計(jì)目的本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一, 是在學(xué)生學(xué)習(xí)完程序設(shè)計(jì)語言課程后進(jìn)行的一

6、次全面的綜合練習(xí)。本課 程設(shè)計(jì)的目的和任務(wù):1 .鞏固和加深學(xué)生對C語言課程的基本知識(shí)的理解和掌握;2 .掌握C語言編程和程序調(diào)試的基本技能;3 .利用C語言進(jìn)行基本的軟件設(shè)計(jì);4 .掌握書寫程序設(shè)計(jì)說明文檔的能力5 .提高運(yùn)用C語言解決實(shí)際問題的能力。通過本項(xiàng)課程設(shè)計(jì),可以培養(yǎng)獨(dú)立思考、綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力, 能更好的鞏固« C語言程序設(shè)計(jì)課程學(xué)習(xí)的內(nèi)容,掌握 工程軟件設(shè)計(jì)的基本 方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過理論與實(shí)踐相結(jié)合的難關(guān)!更加了解了 c 語言的好處和其可用性!同時(shí)增加了同學(xué)之間的團(tuán)隊(duì)合作精神! 更加也體會(huì)到以 后在工作中團(tuán)隊(duì)合作的重要性和必要性!通過C語言課

7、程設(shè)計(jì),使學(xué)生了解高級程序設(shè)計(jì)語言的結(jié)構(gòu), 掌握基本的程 序設(shè)計(jì)過程和技巧,掌握基本的分析問題和利用計(jì)算機(jī)求解問題的能力,具備初步的高級語言程序設(shè)計(jì)能力。為后續(xù)各門計(jì)算機(jī)課程的學(xué)習(xí)和畢業(yè)設(shè)計(jì)打下堅(jiān)實(shí) 基礎(chǔ)。學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡單 易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)?用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管 理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密 性差,人工的大量浪費(fèi);另外時(shí)間一長,將產(chǎn)

8、生大量的文件和數(shù)據(jù),這對于查找、 更新和維護(hù)都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟, 其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著來越重 要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)校的各類信息進(jìn)行管理 ,具有手 工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查詢方便、效率高、可靠性好、存 儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理 的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、 教務(wù)工作相結(jié)合,按照學(xué)院的工 作流程設(shè)計(jì)完成的。為了使系統(tǒng)在學(xué)院的管理中發(fā)揮更大的作用,

9、實(shí)現(xiàn)工作過程 的計(jì)算機(jī)化,提高工作效率和工作質(zhì)量。2.2 課程設(shè)計(jì)的要求本課程設(shè)計(jì)是C語言程序設(shè)計(jì)課程實(shí)踐環(huán)節(jié)的深化和延續(xù)。此次課程 設(shè)計(jì)的目的是以C程序設(shè)計(jì)語言為基礎(chǔ),通過完成具有一定難度的課程設(shè)計(jì)題目 的功能描述、總體設(shè)計(jì)、程序編寫及調(diào)試工作,加深對C語言相關(guān)知識(shí)的理解與 Visual C+琛成開發(fā)環(huán)境的使用,重點(diǎn)掌握文件操作函數(shù)的熟練運(yùn)用,并養(yǎng)成良 好的程序設(shè)計(jì)習(xí)慣,提高自我分析問題、解決問題的能力,為進(jìn)一步學(xué)習(xí)高級 編程技術(shù)及其相關(guān)課程打下良好基礎(chǔ)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法 ,熟練掌握C+S程工具,根據(jù)問題進(jìn) 行學(xué)習(xí),拓廣、深化,獨(dú)立完成一個(gè)小型應(yīng)用程序的設(shè)計(jì)、編碼和測試,為以 后

10、學(xué)習(xí)軟件工程打下實(shí)踐基礎(chǔ)系統(tǒng)說明書要求提交打印版或手寫版(這是檢查作業(yè)的依據(jù))。內(nèi)容包括: 系統(tǒng)需求描述(問題描述),系統(tǒng)結(jié)構(gòu)設(shè)計(jì)(類體系設(shè)計(jì)),類的詳細(xì)設(shè)計(jì)(各類定 義的基本功能,即主要數(shù)據(jù)和函數(shù)功能描述,以及類和類之間的交互),擬采用開發(fā)平臺(tái)(Visual C+ )作業(yè)報(bào)告:根據(jù)原有的系統(tǒng)設(shè)計(jì),編碼階段的工作,整理書寫作業(yè)報(bào)告,內(nèi) 容包括:問題描述,系統(tǒng)設(shè)計(jì),使用說明,討論, 最后提交(電子版):實(shí)驗(yàn) 報(bào)告,基本要求:1、要求利用C語言面向過程的編程思想來完成系統(tǒng)的設(shè)計(jì);2、突出C語言的函數(shù)特征,以多個(gè)函數(shù)實(shí)現(xiàn)每一個(gè)子功能;3、畫出功能模塊圖;4、進(jìn)行簡單界面設(shè)計(jì),能夠?qū)崿F(xiàn)友好的交互;5、

11、具有清晰的程序流程圖和數(shù)據(jù) 結(jié)構(gòu)的詳細(xì)定義;6、熟練掌握C語言對文件的各種操作。7、分析程序的功能要 求,劃分程序功能模塊。8、代碼的編寫。定義數(shù)據(jù)結(jié)構(gòu)和各個(gè)功能子函數(shù)。 9、 程序的功能調(diào)試;10、完成系統(tǒng)總結(jié)報(bào)告以及使用說明書。第3章 課程設(shè)計(jì)任務(wù)內(nèi)容3.1 需求分析21 世紀(jì)以來,人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計(jì) 算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。 使原本的舊的管理方法越來越 不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。許多人還停留在以前的手工操作。 這大大地阻礙了人類 經(jīng)濟(jì)的發(fā)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,學(xué)校信息管理系統(tǒng)軟 件為學(xué)校辦公室?guī)砹藰O大的方便。(一)

12、教育系統(tǒng)學(xué)生管理現(xiàn)狀分析學(xué)校工作流程分析學(xué)校工作總體規(guī)劃由教務(wù)人員在學(xué)生信息管理系統(tǒng)中完成對運(yùn)行教務(wù)處所 需的基本數(shù)據(jù)的維護(hù),包括這些信息的增加、修改及對各項(xiàng)信息的變動(dòng)都將在這 進(jìn)行操作。新的學(xué)年,教務(wù)人員首先加入年級信息,然后編排班級,再對來校學(xué)生進(jìn)行 基本的信息錄入,新生入學(xué)后由教務(wù)人員在學(xué)籍系統(tǒng)中完成新學(xué)生信息的維護(hù)。(二)學(xué)校具體需求分析學(xué)生:對各科成績的查詢?nèi)握n老師:輸入并維護(hù)所教科目的學(xué)生成績教務(wù)處:學(xué)校全體成員的信息管理,并對任課老師,班主任等輸入的信息 進(jìn)行存庫,對學(xué)生的信息進(jìn)行必要的維護(hù)。通過研究調(diào)查,本系統(tǒng)需以下功能:綜合學(xué)生信息、學(xué)生成績以及信息查詢等信息。方便用戶了解和

13、管理學(xué)生的全面動(dòng)態(tài)信息。良好的界面設(shè)計(jì),更人性化的設(shè)計(jì)理念,使用戶擁有更輕松的使用心情3.2 可行性分析目的:可行性研究的目的是用最小的代價(jià)在盡可能的時(shí)間內(nèi)確定問題是否能 解決。經(jīng)濟(jì)性:由于學(xué)校等中小型管理系統(tǒng)并不復(fù)雜,且 Visual C+6.0本身要求的運(yùn)行 環(huán)境不高,所以一般 Windows 2000以上的系統(tǒng)環(huán)境都可以使用。實(shí)用性:本學(xué)生信息管理系統(tǒng)管理系統(tǒng)無太多復(fù)雜的操作要求,也沒有過分花哨的裝 飾品,人性化的設(shè)計(jì)界面可以使操作者輕易運(yùn)用自如學(xué)生信息管理系統(tǒng)學(xué)生信息的備份工學(xué)生信息的統(tǒng)計(jì)計(jì)圖3-1功能圖第4章軟件使用說明1、進(jìn)入程序后顯小備份等功能D桌面'學(xué)生售息售爰至統(tǒng)最終

14、忐'.學(xué)三管息管理至統(tǒng)墨薇豚,DebuG學(xué)生信息肯理系統(tǒng)總。2.選擇進(jìn)入程序身份口:,桌面、學(xué)生信息管史案統(tǒng)最終近%學(xué)生信息管理親統(tǒng)最您=Debu6學(xué)生信息昔理系統(tǒng)一3.出入密碼4.進(jìn)入管理員模式5.添加信息口:莫面學(xué)生信息竺莊親統(tǒng)最烙總學(xué)生信息管理至統(tǒng)量密Em+buE學(xué)生信息告理蔡施輸工)«愛明若如目 TJIT *,山號(hào)喜辜址 學(xué)姓年男人地功 人人為., 或/粒疆 請請;請6.修改信息口莫郡學(xué)生信息竺母親疏最轉(zhuǎn)展薦生信息管理至統(tǒng)最漆云Debu#,學(xué)生信息昔理至媼e浦WJTE.澈菜單L添加信息2 .修改信息3 .刪除信息叵西亞豆7.修改密碼5.查找指定學(xué)號(hào)8 .初始化信息k查

15、找指定姓名產(chǎn).隊(duì)備份信息1隊(duì)讀取備份1退出程序0.返回上層選擇gp-iiaaifls口桌面學(xué)生信息經(jīng)咨琉最終由,學(xué)生信息管理親虢號(hào)語工Debu寸.學(xué)生展息告理案統(tǒng)一段£ .學(xué)姓年男人地功有A為八人成:我據(jù)別3建北:19或過j再次輸入學(xué)號(hào)n381財(cái)年份:2阻3;山東科技大學(xué)7.刪除信息8.列出所有信息9.查找指定學(xué)號(hào)Q,安面學(xué)生高息,親統(tǒng)晟轉(zhuǎn)密薦生蕾息答理至筑最望MWbum學(xué)生信息肯理系娓塞若43-L§ 菜 TNte 了心目L添加信息2.修改信息3.刪除信息叵西亞£7.修改密碼5.查找指定學(xué)號(hào)k查找指定姓名8 .初始化信息隊(duì)備份信息1隊(duì)讀取備份1退出程序0.返回上層

16、請選擇;5慵噴入學(xué)號(hào)式初萌_摩號(hào):用10S姓名:程麗瑩年齡:m性別二女入學(xué)年份:2電?地址:山東科技大學(xué)nn10.查找指定姓名口::直面學(xué)生信息登迂親統(tǒng)會(huì)終演,學(xué)生信息爸理親統(tǒng)懸噫K'Debug,學(xué)生嗜息菅理案婉L法加信息2.修改信息=刪除信息4 .列出所有信息5.查找指定學(xué)號(hào)6.查找指定姓名7.修改密碼8 .初始化信息9 ,備份信息京贏贏1匚二研F EK情噴入姓名:程麗瑩厚號(hào):1曲酌封名港麗瑩年齡:亞性別:女入學(xué)年除加?地址:山東科技大學(xué)11.修改密碼12.備份信息13.讀取備份14.初始化信息15.退出程序第5章 總結(jié)經(jīng)過一個(gè)星期的上機(jī)實(shí)踐學(xué)習(xí),使我對 c語言有了更進(jìn)一步的認(rèn)識(shí)和了

17、解, 要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐, 我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過 學(xué)習(xí)也有所改進(jìn);再有對c語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對函數(shù)調(diào)用的 正確使用不夠熟悉,還有對c語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解, 通過實(shí)踐,使我 在這幾個(gè)方面的認(rèn)識(shí)有所提高。通過實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐 操作,不僅僅是學(xué)習(xí)c語言,還是其它的語言,以及其它的計(jì)算機(jī)方面的知識(shí)都 要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好 計(jì)算機(jī)。附錄源程序1.#include <stdio.h>#include

18、<stdlib.h>extern struct student/ 聲明結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址stu1000, temp;extern int total;/ 聲明 totalvoid Save();/保存并退出void EditInf();/編輯信息void InfSearch();/查詢信息void codeinput();void Encry();void CCode();/修改密碼void ReadBackup();/讀取備份

19、void WriteBackup();/備份信息void DelInf();/ 刪除信息void SearchNum();/ 查找學(xué)號(hào),該函數(shù)在 Search.cpp 中void SearchName();/ 查找姓名static void AddInf();/添加信息static void AmendInf();/ 修改信息void InputStu(int n);/錄入信息函數(shù)void PutStu(int n);/ 輸出信息static void ListAll();/輸出所有信息void AdminMode() int select, flag = 1; while(flag) ffl

20、ush(stdin);system("cls");清屏,使用此函數(shù)需包含 stdlib.hprintf("當(dāng)前是管理員模式n");printf("當(dāng)前是主系統(tǒng)功能菜單n");printf("n");printT(11111n");printf(-1 1.添加信息I I 2.修改信息 | 3.刪除信息n");nrin+f/"11111pnntT(1n");printT(1111 in");printf(-1 4.列出所有信息I I 5.查找指定學(xué)號(hào)I I 6.查找指定

21、姓名 n");nrin+f/"11111pnntT(1n");printT(i1i1 in");printf(-1 7.修改密碼| 8.初始化信息 1 I 9.備份信息n");nrin+f/"11111pnntT(1n");printT(i1i1 in");printf("| 10.讀取備份| 11.退出程序11 0.返回上層n");nrin+f/"11111pnntT(1n");printf("n");printf("請選擇:");s

22、canf("%d", &select);switch(select)(case 1:AddInf();break;case 2:AmendInf();break;case 3:DelInf();break;case 4:ListAll();break;case 5:SearchNum();break;case 6:SearchName();break;case 7:CCode();break;case 8:total = 0;printf("操作成功");case 9:WriteBackup();break;case 10:ReadBackup(

23、);break;case 11:printf("請按任意鍵退出n");Save();case 0:flag = 0;static void AddInf()添加信息system("cls");清屏,使用此函數(shù)需包含 stdlib.hif(total >= 1000)printf("記錄已滿1000,無法錄入n");elseInputStu(total);total+;static void AmendInf()修改信息fflush(stdin);long n = 0, stunum, i;printf("請輸入要修改的

24、學(xué)生信息的學(xué)號(hào):");scanf("%ld", &stunum);for(i = 0; i <= total - 1; i+)查找學(xué)號(hào)對應(yīng)的下標(biāo)if(stunum = stui.num)n = 1;break;if(n = 0)printf(" 抱歉,沒有找到對應(yīng)的記錄");fflush(stdin);getchar(); elseprintf(”請輸入新的信息,按任意鍵繼續(xù)");fflush(stdin);getchar();InputStu(i);static void ListAll()列出所有信息system(&

25、quot;cls");int i;for(i = 0; i <= total - 1; i+)PutStu(i);fflush(stdin);getchar();2.#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>void Save();void CCode()system("cls");int countl,select,res;char code121,code221,ori="123",

26、ch;/密碼FILE *fp;if(fp = fopen("pw.dat", "r") = NULL) printf(" 無法修改密碼");fflush(stdin);getchar();return;fflush(stdin);printf("請輸入新密碼:");for(countl=1;countl+)scanf("%20s",code1);/密碼輸入printf("n");printf("請?jiān)俅屋斎肽男旅艽a:n");scanf("%20s

27、",code2);printf("n");res=strcmp(code1,code2);if(res=0)fp=fopen("pw.dat","w");fwrite(code1, sizeof(code1), 1, fp); fclose(fp);printf(" 修改密碼成功!n 返回上級:任意鍵n退出程序:Esc n");ch=getch();printf("n");if(ch=27) Save();system("cls");break; else if(c

28、ountl>=4) printf("%c",'007');printf("對不起,您現(xiàn)在不能修改密碼!n退出程序:Esc n返回上級:任意鍵n");ch=getch(); printf("n"); if(ch=27) Save(); system("cls"); break; else 請重新輸printf(" 對不起,您密碼兩次輸入不一致nn 入:n");printf("%c",''007'); 3.#include <s

29、tdio.h>#include <stdlib.h>#include <string.h>void AdminMode();void Code() system("cls");char pw21, pw221;/ 密碼FILE *fp;if(fp = fopen("pw.dat", "r") = NULL) strcpy(pw,"1234");fp=fopen("pw.dat","w");fwrite(pw, sizeof(pw), 1, fp)

30、; fclose(fp); else fread(pw, sizeof(pw), 1, fp);/讀取密碼fclose(fp);fflush(stdin);printf("請輸入密碼(默認(rèn)為1234):");scanf("%20s", pw2);if(strcmp(pw2, pw) = 0) AdminMode();elseprintf("密碼輸入錯(cuò)誤");fflush(stdin);getchar();4.#include <stdio.h>#include <stdlib.h>#include <st

31、ring.h>extern struct student/ 聲明結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址stu1000, temp;extern int total;/ 聲明 total static void Stucpy(int n);void DelInf()/錄入信息fflush(stdin);long n = 0, stunum, i, j;printf("請輸入要?jiǎng)h除的學(xué)生信息的學(xué)號(hào):");scanf("%ld&q

32、uot;, &stunum);for(i = 0; i <= total - 1; i+)/查找學(xué)號(hào)對應(yīng)的下標(biāo)if(stunum = stui.num)n = 1;break;if(n = 0)printf(" 抱歉,沒有找到對應(yīng)的記錄");fflush(stdin);getchar();elsetotal-;for(j = total ; j > i ;卜-) Stucpy(j);printf("操作成功");fflush(stdin);getchar();static void Stucpy(int j)stuj - 1.num

33、= stuj.num;/ 學(xué)號(hào)strcpy(stuj - 1.name, );/姓名stuj - 1.age = stuj.age;/年齡stuj - 1.sex = stuj.sex;/性另stuj - 1.year = stuj.year;/入學(xué)年份strcpy(stuj - 1.address,stuj.address);/地址5.#include <stdio.h>#include <stdlib.h> extern struct student/ 聲明結(jié)構(gòu)體 long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡in

34、t sex;/性別int year;/入學(xué)年份char address10;/ 地址stu1000, temp;extern int total;void PutStu(int n);void Save();void SearchNum();void SearchName();static void ListAll();void InfSearch()int select, flag = 1;while(flag)stdlib.hfflush(stdin);system("cls");/ 清屏,使用此函數(shù)需包含printf("1. 列出所有信息n");p

35、rintf("2.查找指定學(xué)號(hào)n");printf("3.查找指定姓名n");printf("4.退出程序 n");printf("0.返回上層 n");printf(" 請選擇:");scanf("%d”, &select);switch(select)case 1:ListAll();break;case 2:SearchNum();break;case 3:SearchName();break;case 4:printf("請按任意鍵退出n");Sav

36、e();case 0:flag = 0;static void ListAll()system("cls");int i;for(i = 0; i <= total - 1; i+)PutStu(i);fflush(stdin);getchar();6.#include <stdio.h>#include <stdlib.h>extern struct student/聲明結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址

37、stu1000, temp;extern int total;void InputStu(int n)int i, f = 0, f2 = 0;loop:fflush(stdin);system("cls");/ 清屏,使用此函數(shù)需包含 stdlib.hif(f = 0)printf("請輸入學(xué)號(hào)(最多9位):");elseprintf("與已有學(xué)號(hào)重復(fù)或過長,請?jiān)俅屋斎雽W(xué)號(hào):”);scanf("%9ld",&temp.num);for(i = 0; i <= total - 1; i+)/判斷學(xué)號(hào)是否重復(fù)if

38、(temp.num = stui.num)f = 1;goto loop;stun.num = temp.num;fflush(stdin);printf("請輸入姓名:");scanf("%s",);fflush(stdin);printf("請輸入年齡:");scanf("%d”,&stun.age);100P2:fflush(stdin);if(f2 = 0)printf("性別為男請輸入1,為女請輸入0:");elseprintf("輸入錯(cuò)誤,性別為男請輸入1,

39、為女請輸入0:");int judge;scanf("%d”, &judge);if(judge = 1)stun.sex = 1;else if(judge = 0)stun.sex = 0;elsef2 = 1;goto loop2;fflush(stdin);printf("請輸入入學(xué)年份:");scanf("%d”,&stun.year);fflush(stdin);printf(" 請輸入地址:");scanf("%s",stun.address);printf(" 操

40、作成功");fflush(stdin);getchar();7.#include <stdio.h>#include <stdlib.h> struct student/ 定義結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址 stu1000, temp;int total;/total是所包含記錄的條數(shù)void MainInterface();/ 開始界面void Save();/保存文件并退出static void read();/讀

41、取文件int main()read();MainInterface();進(jìn)入開始主界面Save();return 0;static void read()/讀取文件FILE *fp;if(fp = fopen("stu.txt", "r") = NULL) total = 0; elsefread(&total, sizeof(total), 1, fp);/讀取 totalfread(stu, sizeof(struct student), 1000, fp);/讀取數(shù)組fclose(fp);void Save()/ 保存文件FILE *fp;

42、if(fp = fopen("stu.txt", "w") = NULL) printf("保存文件時(shí)出錯(cuò))exit(0);fwrite(&total, sizeof(total), 1, fp);/寫入 totalfwrite(stu, sizeof(struct student), 1000, fp);/寫入數(shù)組fclose(fp);exit(0); 8.#include <stdio.h>#include <stdlib.h>void Code();/ 管理員模式void InfSearch();/信息查詢

43、void Save();/ 保存并退出void MainInterface() while(1) /fflush(stdin) 的作用: /清空輸入緩沖區(qū),通常是為了確保不影響后面的數(shù)據(jù)讀取 / (例如在讀完一個(gè)字符串后緊接著又要讀取一個(gè)字符, /此時(shí)應(yīng)該先執(zhí)行fflush(stdin); ) fflush(stdin);system("cls"); 清屏,使用此函數(shù)需包含 stdlib.h int select; printf("歡迎進(jìn)入學(xué)生信息管理系統(tǒng)n");printf("本系統(tǒng)可以實(shí)現(xiàn)學(xué)生信息的保存、查詢、修改、刪除、統(tǒng)計(jì)、備份等功能n

44、");printf("本系統(tǒng)最多可存儲(chǔ)1000條記錄n");printf("1.管理員 n");printf("2.普通用戶 n");printf("3.退出 n");printf("請選擇登錄方式:");scanf("%d”, &select);switch(select) case 1: Code();/ 管理員模式 break; case 2: InfSearch();/普通用戶信息查詢break; case 3: printf("請按任意鍵退出n&q

45、uot;);Save(); 9. #include <stdio.h> #include <stdlib.h>extern struct student/ 聲明結(jié)構(gòu)體 long num;/ 學(xué)號(hào) char name10;/ 姓名 int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址 stu1000, temp;extern int total;void PutStu(int n) ,printf(" 學(xué)號(hào):%ld 姓名:s 年齡:d", stun.num, stun.age)

46、;if(stun.sex = 1)printf("性別:男");elseprintf("性別:女");printf(" 入學(xué)年份:%d 地址:s", stun.year, stun.address); printf("n"); 10.#include <stdio.h>#include <stdlib.h> extern struct student/ 聲明結(jié)構(gòu)體 long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年

47、份char address10;/ 地址stu1000, temp;extern total;void ReadBackup()/ 讀取文件char file20;fflush(stdin);FILE *fp;printf("請輸入文件名:");scanf("%19s", file);if(fp = fopen(file, "r") = NULL) printf("讀取失敗");fflush(stdin);getchar();return; elsefread(&total, sizeof(total),

48、1, fp);/讀取 total讀取數(shù)組fread(stu, sizeof(struct student), 1000, fp);/fclose(fp);printf(" 操作成功");fflush(stdin); getchar();11.#include <stdio.h>#include <stdlib.h>struct student/定義結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址stu1000, temp;in

49、t total;/total 是所包含記錄的條數(shù)void MainInterface();/開始界面void Save();/保存文件并退出static void read();/讀取文件int main()read();MainInterface();/進(jìn)入開始主界面Save();return 0;static void read()/讀取文件FILE *fp;if(fp = fopen("stu.txt", "r") = NULL)total = 0;elsefread(&total, sizeof(total), 1, fp);/fread

50、(stu, sizeof(struct student), 1000, fp);/ fclose(fp);void Save()/ 保存文件FILE *fp;if(fp = fopen("stu.txt", "w") = NULL)printf("保存文件時(shí)出錯(cuò))exit(0);fwrite(&total, sizeof(total), 1, fp);/fwrite(stu, sizeof(struct student), 1000, fp);/fclose(fp);exit(0);12.#include <stdio.h>

51、#include <string.h>讀取total讀取數(shù)組寫入total寫入數(shù)組#include <stdlib.h> void PutStu(int n);extern struct student/聲明結(jié)構(gòu)體long num;/ 學(xué)號(hào)char name10;/ 姓名int age;/年齡int sex;/性別int year;/入學(xué)年份char address10;/ 地址stu1000, temp;extern int total;/ 聲明 totalvoid SearchName();void SearchNum()fflush(stdin);long n = 0, stunum, i;printf("請輸入學(xué)號(hào):");scanf("%ld", &stunum);for(i = 0; i <= total - 1; i+)查找學(xué)號(hào)對應(yīng)的下標(biāo)if(stunum = stui.num)n = 1;break;if(n = 0)printf("抱歉,沒有找到對應(yīng)的記錄");fflush(stdin);getchar(); elsePutStu(i);fflush(stdin);getchar();void SearchName()fflush(std

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論