c++課程設(shè)計(jì) (16)

上傳人:優(yōu)*** 文檔編號:47230473 上傳時(shí)間:2021-12-18 格式:DOC 頁數(shù):24 大小:146.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
c++課程設(shè)計(jì) (16)_第1頁
第1頁 / 共24頁
c++課程設(shè)計(jì) (16)_第2頁
第2頁 / 共24頁
c++課程設(shè)計(jì) (16)_第3頁
第3頁 / 共24頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《c++課程設(shè)計(jì) (16)》由會(huì)員分享,可在線閱讀,更多相關(guān)《c++課程設(shè)計(jì) (16)(24頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。遼 寧 工 業(yè) 大 學(xué)C+語言程序設(shè)計(jì)課程設(shè)計(jì)(論文)題目: 保密文件加密處理 院(系): 軟 件 學(xué) 院 專業(yè)班級: 113班 學(xué) 號: 111301073 學(xué)生姓名: 教師職稱: 副教授 起止時(shí)間:2011.12.20-2011.12.31課程設(shè)計(jì)(論文)任務(wù)及評語院(系):軟件學(xué)院 教研室:軟件教研室學(xué) 號111301073軟件工程113課程設(shè)計(jì)(論文)題目保密文件加密處理課程設(shè)計(jì)(論文)任務(wù)(1). 掌握面向?qū)ο蟪绦蛟O(shè)計(jì)語言C+的基本語法(2). 掌握C+面向?qū)ο笤O(shè)計(jì)的思想(3). 掌握VC+6.0與DEV C+ 開發(fā)工具的使用 (4).

2、 運(yùn)用標(biāo)準(zhǔn)C+規(guī)范設(shè)計(jì)應(yīng)用程序設(shè)計(jì)過程中,要嚴(yán)格遵守設(shè)計(jì)的時(shí)間安排,聽從指導(dǎo)教師的指導(dǎo)。正確地完成上述內(nèi)容,規(guī)范完整地撰寫出設(shè)計(jì)報(bào)告。指導(dǎo)教師評語及成績成績: 指導(dǎo)教師簽字: 年 月 日20 / 24目 錄第1章課程設(shè)計(jì)目的與要求11.1 課程設(shè)計(jì)目的11.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境11.3 課程設(shè)計(jì)的預(yù)備知識(shí)11.4 課程設(shè)計(jì)要求1第2章課程設(shè)計(jì)內(nèi)容32.1 C+語言程序設(shè)計(jì)-多功能資料加密軟件問題分析。32.1.1 功能分析32.1.1算法設(shè)計(jì)及程序設(shè)計(jì)中技術(shù)重點(diǎn)32.2 程序中涉及的類的UML類圖和主要函數(shù)流程圖或框圖。42.2.1音樂類(class Music)62.2.2修改密碼類( c

3、lass XiuGaipassword)62.3 程序源代碼72.3.1建立音樂類(class Music)代碼72.3.2建立修改密碼類( class XiuGaipassword)代碼11第3章課程設(shè)計(jì)總結(jié)18參考文獻(xiàn)19第一章 課程設(shè)計(jì)目的與要求1.1 課程設(shè)計(jì)目的將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。通過課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:(1)進(jìn)一步鞏固、加深學(xué)生所學(xué)專業(yè)課程C+語言教程的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。 (

4、2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。 (3)利用所學(xué)知識(shí),開發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用C+語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。(4)對于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。 (5)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的方法。(6)熟練掌握C+語言的基本語法,靈活運(yùn)用各種數(shù)據(jù)類型。(7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序(單步調(diào)試,設(shè)置斷點(diǎn)、觀察表達(dá)式,分塊調(diào)試)和修改程序。1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境硬件要求能運(yùn)行Windows 操作系統(tǒng)的微機(jī)系統(tǒng)。C+語言應(yīng)用程序開發(fā)軟件使用:VC+ 系統(tǒng),或其他C+

5、語言應(yīng)用程序開發(fā)軟件。1.3 課程設(shè)計(jì)的預(yù)備知識(shí)熟悉C+語言程序設(shè)計(jì)的基本知識(shí)及VC+編輯器的使用方法。1.4 課程設(shè)計(jì)要求仔細(xì)分析設(shè)計(jì)題目,畫出程序流程圖,編寫程序源代碼。積極上機(jī)調(diào)試源程序,增強(qiáng)編程技巧與調(diào)程能力。認(rèn)真書寫課程設(shè)計(jì)預(yù)習(xí)報(bào)告,課程設(shè)計(jì)說明書。遵守課程設(shè)計(jì)要求和機(jī)房管理制度,服從指導(dǎo)教師的安排,確保課程設(shè)計(jì)的順利完成課程設(shè)計(jì)內(nèi)容。第二章 課程設(shè)計(jì)內(nèi)容2.1 C+語言程序設(shè)計(jì)-保密文件加密處理問題分析。2.1.1 功能分析(1)使用本程序需要登錄用戶名和密碼,而用戶名和密碼都存放在改程序當(dāng)前目錄的配置文件conf.txt中,配置文件中的密碼是以密文的形式存放的。如果配置文件丟失,

6、也可以使用本程序的默認(rèn)用戶名和密碼admin登錄。(2)登錄本程序后,在主菜單中可以選擇文件寫入,書寫自己的文章并以密文的形式存放在本程序當(dāng)前目錄story.txt中。也可以選擇讀取story.txt中的內(nèi)容顯示在屏幕上。(3)在你工作煩躁的時(shí)候,你可通過試聽本程序的一些音樂,一次放松工作情緒。選擇音樂試聽,可以使用選擇是否安裝本程序提供的播放器。由于是單線程,在程序同步執(zhí)行時(shí)可能有些瑕疵,請諒解。(4)選擇修改用戶名和密碼選項(xiàng),可以對本程序的配置文件進(jìn)行修改,修改后的用戶名以明文的形式存放到配置文件中,密碼以密文的形式存放在配置文件中。2.1.2 算法設(shè)計(jì)及程序設(shè)計(jì)中技術(shù)重點(diǎn)2.1.1算法設(shè)

7、計(jì)及程序設(shè)計(jì)中技術(shù)重點(diǎn)本程序具有面向?qū)ο蟮乃囊兀侯?,對象,繼承,多態(tài)。所以,本程序是一個(gè)完備的面向?qū)ο蟮某绦蛟O(shè)計(jì)。本程序的設(shè)計(jì)亮點(diǎn)是,如果在輸出的屏幕上進(jìn)行退格刪除,以及如何在輸出屏幕上進(jìn)行輸出掩蓋,如何讀取配置文件中的用戶名和加密后的密碼,如何將修改后的用戶名和密碼(加密后)寫入到配置文件中,以及在配置文件丟失的情況下是如何轉(zhuǎn)入默認(rèn)配置的狀態(tài),修改用戶名和密碼時(shí),需要重新確認(rèn)(二次輸入)。將輸入的內(nèi)容加密后寫入文件進(jìn)行保存,將輸入的內(nèi)容進(jìn)行字?jǐn)?shù)統(tǒng)計(jì)。在本程序中使用了return,continue,break以及輸出字符掩蓋等語句的組合,文件的加密與解密的計(jì)算。所用最多的是WHILE循環(huán)結(jié)構(gòu)

8、和IF語句以及系統(tǒng)函數(shù)system,然而這也正為了它的特色。循環(huán)體的嵌套思路清晰,目的明確,格式規(guī)范,易于閱讀和理解。If語句的逐層運(yùn)用,正形象化的描述了計(jì)算機(jī)工作流程,而且與人的一般習(xí)慣相吻合,簡單明了,易于觀察理解它的來龍去脈,思路清晰直觀。2.2 程序中涉及的類的UML類圖和主要函數(shù)流程圖或框圖。END 開始 Y 判斷配置文件是否存在 N 輸入 輸入 判斷用戶名和密碼 N N 判斷默認(rèn)用戶名和密碼 處理菜單選擇 處理菜單選擇處 處 處 處 處 處 理 理 理 理 理 理 1 2 3 4 5 6 Music- static ch,bh:char- static k,i:int+ stati

9、c ShiTing():voidXiuGaipassword-static UserName50,UserName150:char-static MiMa50,MiMa150:char+ static XiuGai():voidFile-static i,k:int-static chN,bhN,g:char+static Writ():void+static Read():voidMm+static Zmenu():void+static Mmusic():voidChoice-static ch:char+static XuanZe():void+static Xmusic():voidU

10、ser-static TuserName50,TpassWord50:char-static GuserName50,GuserWord50:char-static MoRenUserName6,MoRenPassWord6:char-static i,j,k:int-static ch:char+static DengLu():void+User(int)+User()+User()2.2.1音樂類(class Music)此模塊中定義了ShiTing函數(shù),其主要功能是,根據(jù)用戶的選擇做出相應(yīng)的操作,是否需要安裝播放器,以及試聽音樂。簡介:class Musicpublic:static v

11、oid ShiTing(); /定義音樂試聽函數(shù)private:static char ch; /定義靜態(tài)私有字符變量 chstatic int k,i; /定義靜態(tài)私有整型變量I,kstatic char bh; /定義靜態(tài)私有字符變量bh;本類定義了靜態(tài)成員函數(shù)Shiting,和成員變量ch,bh,i,kShiting()成員函數(shù)提供對歌曲的各種操作,以及提供安裝播放器的功能。2.2.2修改密碼類( class XiuGaipassword)此模塊中定義了XiuGai函數(shù),此函數(shù)的功能是修改用戶名和用戶密碼,當(dāng)用戶修改密碼時(shí),將用戶名和密碼的格式進(jìn)行驗(yàn)證,并將用戶密碼進(jìn)行二次驗(yàn)證。并將修改

12、后的用戶名以明文的形式存放到conf.txt中,將修改后的密碼以密文的形式存放到conf.txt中。簡介:class XiuGaipasswordpublic:static void XiuGai(); /定義修改功能函數(shù)private:static char UserName50; /存放用戶名的字符數(shù)組static char UserName150; /存放輸入用戶名的字符數(shù)組static char MiMa50,MiMa150; /存放密碼的字符數(shù)組static int i,k; /靜態(tài)成員;本類定義有UserName,UserName1,MiMa,MiMa1,i,k等靜態(tài)成員變量2.3

13、 程序源代碼2.3.1建立音樂類(class Music)代碼/Music.h#include#include#include#include#includeChoice.husing namespace std;class Musicpublic:static void ShiTing(); /定義音樂試聽函數(shù)private:static char ch;static int k,i;static char bh;/Music.cpp#includeMusic.hvoid Music:ShiTing()static char ch;static char bh;static int k=0,

14、i=0;while(1)if(k=0) system(cls); printf(是否需要本程序?yàn)槟惭b音樂播放器?n是 Y 否 Nn); bh=getch(); while(1) if(bh=Y | bh=N | bh=n | bh=y)k=1;break;elseprintf(n請輸入 Y 或 Nn);bh=getch(); if(bh=Y | bh=y) /打開程序包,并延時(shí) system(micsetup.exe); printf(n稍后.); for(i=0;i=400000000;i+); printf(.); for(i=0;i=400000000;i+); printf(.);

15、for(i=0;i=400000000;i+); printf(.); for(i=0;i=400000000;i+); printf(.); for(i=0;i=400000000;i+); printf(.); for(i=0;i=400000000;i+); printf(.); for(i=0;i=400000000;i+); printf(.nnOK! 四秒后選擇歌曲!); for(i=0;i=600000000;i+); Mm:Mmusic();ch=ChoiceMusic:Xmusic(); /音樂菜單switch(ch)case1:system(mickisstherain.m

16、p3);break; /根據(jù)輸入大開相應(yīng)的文件 case 2:system(mic天空之城.mp3);break; case 3:system(mic我相信.mp3);break;case 4:system(micfarawayformhome.mp3);break;case 5:system(micmyheartwillgoon.mp3);break;case 6:system(mic宣言.mp3);break;case 7:return;case 0:exit(0);2.3.2建立修改密碼類( class XiuGaipassword)代碼/XiuGaipassword.h#include

17、#include#include#includeusing namespace std;class XiuGaipasswordpublic:static void XiuGai(); /定義修改功能函數(shù)private:static char UserName50; /定義存放用戶名的字符數(shù)組static char UserName150; static char MiMa50,MiMa150; /定義存放密碼的字符數(shù)組static int i,k;#includeXiuGaipassword.hvoid XiuGaipassword:XiuGai()FILE *f;static char U

18、serName150=0;static char MiMa50=password:; /將給數(shù)組進(jìn)行初始化static char MiMa150=password:;static char UserName50=username:;static int i=9,k=0; /將初始變量初始化system(cls);cout輸入自己的新用戶名(5位)#號結(jié)束:;while(1)for(i=9;i17;)UserNamei=getch(); /將輸入的字符用*掩蓋if(UserNamei=8 ) if(i!=9) UserNamei=0;i-;putchar(8);cout ;putchar(8);

19、elseif(UserNamei=#) /以#號結(jié)束輸入U(xiǎn)serNamei=n;UserNamei+1=0;break;coutUserNamei;i+;if(i!=14) /通過i的值來判斷上述的UserName是否符合標(biāo)準(zhǔn)system(cls);cout用戶名位數(shù)不正確!endl請重新輸入#號結(jié)束:;elseUserNamei=n;UserNamei+1=0;break;i=9,k=0;system(cls);cout請輸入5位新密碼#號結(jié)束:;while(1) /次循環(huán)為密碼輸入程序段while(1) for(i=9;i17;)MiMai=getch(); if(MiMai=8 )if(

20、i!=9) MiMai=0;i-;putchar(8);cout ;putchar(8);elseif(MiMai=#)MiMai=0;break;cout*;i+;if(i!=14)system(cls);cout密碼位數(shù)不正確!endl請重新輸入以#號結(jié)束;elseMiMai=0;break;coutendl再次確認(rèn)密碼以#號結(jié)束:;while(1) /次循環(huán)為確認(rèn)輸入的密碼段for(i=9;i17;)MiMa1i=getch(); if(MiMa1i=8 )if(i!=9) MiMa1i=0;i-;putchar(8);cout ;putchar(8);elseif(MiMa1i=#)M

21、iMa1i=0;break;cout*;i+;for(k=0;MiMak!=0;k+)if(MiMa1k!=MiMak)k=0;break;if(k=0)system(cls);cout兩次密碼不一致!endl重新輸入5位密碼以#號結(jié)束:;break;elsek=1; break; if(k=1) break;for(i=9;i14;i+) /次循環(huán)為給要輸入正確的密碼加密MiMa1i=(MiMai);strcat(UserName,MiMa1);if(f=fopen(conf.txt,w)=NULL)cout修改出錯(cuò)!;exit(0);fputs(UserName,f); /將加密后的密碼以

22、及明文的用戶名寫入conf.txtfclose(f);coutendlendlendl修改成功!endl;cout按任意鍵退出!endl;getch();exit(0);第三章 課程設(shè)計(jì)總結(jié)經(jīng)過半年的學(xué)習(xí)和實(shí)踐,使我對C+語言有了更認(rèn)識(shí)和和了解,要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好的學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,對各種控制結(jié)構(gòu)及語句、數(shù)組的基本與高級應(yīng)用、指針數(shù)組、字符數(shù)組、動(dòng)態(tài)數(shù)組、函數(shù)的定義、調(diào)用方式;函數(shù)在編程中的具體應(yīng)用;以及變量存儲(chǔ)特征與標(biāo)識(shí)符的作用域,通過實(shí)踐,使我在這些方面有了認(rèn)識(shí)和提高。課程設(shè)計(jì)它是一項(xiàng)任務(wù),更是一種挑戰(zhàn)和歷練。在課程設(shè)計(jì)中,為了使用

23、時(shí)方便,著重對不足方面的知識(shí)進(jìn)行了分析與理解,在這一過程中對文件的操作有了很大的提高。通過實(shí)際的演練,可以增強(qiáng)對知識(shí)的理解和運(yùn)用能力。參考文獻(xiàn)1. 徐孝凱 編著 C+語言程序設(shè)計(jì) 北京:清華大學(xué)出版社,2005:301頁2. 黃迪明 主編 C+語言程序設(shè)計(jì)基礎(chǔ) 北京:電子工業(yè)出版社, 2003:210頁3. 錢能 主編 C+程序設(shè)計(jì)教程 北京:清華大學(xué)出版社 ,2004:430頁4. 鄭莉、董淵 編著 C+語言程序設(shè)計(jì) 北京:清華大學(xué)出版社,2004:240頁5. 吳訪升 編著 C+程序設(shè)計(jì) 北京: 機(jī)械工業(yè)出版社 ,2007:320頁6. Decoder 主編 C/C+程序設(shè)計(jì) 北京:中國鐵道出版社,2006:330頁7. 鄭莉 主編c+語言程序設(shè)計(jì)(第三版) 北京:清華大學(xué)出版社,2004:273頁

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!