




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程專業C+課程設計報告班級:軟件 姓名: 學號:一.課程設計目的及要求1 .設計目的提高和加強計算機應用與軟件開發能力,由初學者向專業的程序員過渡。培養獨立分析問題、解決問題、查閱資料以及自學能力,以適應計算機產業日新月 異發展的形勢。學習和掌握C+程序設計方法以及上機調試技巧,為今后學習其它專業課程打好基 礎。設計要求(題目)(1)背單詞小程序(2)學生選課系統二課程設計的具體實現(1)背單詞小程序總體設計本程序主要有以下功能:添加新詞順序測驗和隨即測驗記錄沒背過的詞查找單詞的漢語或英語意思(輸入中文查對應的英語意思,輸入英文查 對應漢語意思)各模塊執行完進入程序,顯* 示主菜單主要流
2、2.檢3.未4.英3.已1.添漢互2 .詳細設計具體實現包括十個模塊和一個頭文件。分別是:First.cpp, Main.cpp, Menu.cpp, Part l.cpp,Part 2.cpp,Part 3.cpp,Part 4.cpp,Part 5.cpp,Part 6.cpp, 五大功能粗實現.cpp,HEAD.HOMeun函數主要功能:用戶進入系統首先執行的就是主函數,然后進入主菜單函數, 它將顯示主界面,并提示用戶選擇所需的功能。其中改變了屏幕和字體的 顏色來構造一種歡快的氣氛來學習。主功能:1.添加單詞;2.進入檢測;3. 已背單詞;4.未背單詞;5.英漢互譯;6.退出。E英語也瘋
3、狂! (八11勺F者鄧制作!請選擇請選擇主要技術:if else if循環。關鍵代碼:if(i=1)進入功能1添加新詞 system(cls); /清屏Add_word();、調用添詞函數cinj;system(cls);if(j=1)(Add();else if(j=2)(system(cls);Frame();else盡量避免在使用程序時因操作引起的失誤(cout”認真一點!(、_ )#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=Y|ch=y)system(cls);Frame();elseexit(0);else if(i=2)
4、system(cls);Test();cinj;if(j=1)Test_ByOrder();cout任意鍵返回主目錄!ch;if(ch=b|ch=B)system(cls);Frame(); elsesystem(cls);Frame();else if(j=2)Test_ByImmediately();cout任意鍵返回主目錄!”ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)添加單詞主要功能:用戶在主界面選擇功能1后即執行添加單詞模塊。它將提示 用戶輸入添加單詞,之前可以顯示已存在的單詞,利用w
5、hile循環實現不定 量輸入單詞,最后保存到單詞庫。或英語也瘋利表開始添加返回目錄 請選擇:主要使用技術:文件指針(FILE *fp) while判斷循環關鍵代碼:char ch=Q;用來判斷是否繼續輸入單詞if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)coutWordi.num Wordi.E_wordendl;特別有成就感的地方!把以前的單詞輸出來展示j=i;while(ch=q|ch=Q)/ while循環支持不斷向文件
6、載入內容!cout目前單詞庫單詞存儲量為:jendl;cout請分別輸入新增單詞的編號、單詞、中文翻譯和背誦記錄(tt/ff):Wordj.numWordj.E_wordWordj.C_wordWordj.TF;fwrite(&Wordj,sizeof(WoRD),1,fp);cout添加成功!是否繼續增添單詞,繼續則輸入 Q/qch;檢測功能主要功能:用戶在主界面選擇功能2后即執行該模塊。在此模塊中可以 實現順序檢測和隨機檢測。用戶輸入正確或錯誤都會給與提示!并且可以輸 入想要檢測的單詞數量,量力而行。E英語也瘋狂! (5八)/老鄧制作!老鄧制作1開次 E英語也瘋狂! (5八)/老鄧制作!老
7、鄧制作1開次 :1測這 SA 選緊請順請2 一回二回任錄 目 主 ne,回 _o確溫, 一正-i主要技術:文件的讀出與寫入,取隨機數,if語句關鍵代碼:if(fp二fopen(dictionary.txt,ab+)=NULL)(cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout隨即檢測開始!:endl;cout請輸入這次測試的單詞量:p;if(p=t)for(i=0;it;i+)(char word10;int j;j=rand()%t; /產生隨機數 coutWordj.C_word word;
8、if(strcmp(word,Wordj.E_word)=0)(cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf); 將信息記錄在案!else(cout回答錯誤!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)(char word10;int j;j=rand()%p; /產生隨機數 coutWordj.C_word word;if(strcmp(word,Wordj.E_word)=0)(cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf);else(c
9、out回答錯誤!endl;char tf3=ff; strcpy(Wordi.TF,tf);已背過單詞主要功能:用戶在主界面選擇功能3后即執行該模塊,能夠顯示已背誦 的單詞。主要技術:該模塊只是調用和顯示,主要用到了 if函數和字符串處理和 文件的讀出技術。關鍵代碼:if(fp二fopen(dictionary.txt,ab+)=NULL)/ 打開文件并判斷文件是否存在(cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);將文件信息讀出cout已背過的單詞:endl;for(i=0;it;i+)(char
10、ch5=tt;char cf5=TT;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) / 和 英漢互譯差不多的操作判斷后輸出(coutWordi.E_word”Wordi.C_wordendl;未背單詞主要功能:用戶在主界面選擇功能3后即執行該模塊,能夠顯示尚未背 誦的單詞。主要技術:該模塊只是調用和顯示,主要用到了 if函數和字符串處理和 文件的讀出技術。選背。 M果選背。 M果tw關鍵代碼:if(fp=fopen(dictionary.txt,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fr
11、ead(&Wordi,sizeof(WoRD),1,fp);cout未背過的單詞:endl;for(i=0;it;i+)char ch5=ff;char cf5=FF;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)coutWordi.E_wordWordi.C_wordendl; 英漢互譯主要功能:用戶在主界面選擇功能5后即執行該模塊,能夠進行英漢互 譯功能。主要技術:該模塊只是調用和顯示,主要用到了 if函數和字符串處理和 文件的讀出技術。英譯漢漢譯英返回目錄任意鍵返回主目錄,I英譯漢漢譯英返回目錄任意鍵返回主目錄,Ime關鍵代碼:char E
12、20;用數組是為了下面的地址WoRD Word100;if(fp=fopen(dictionary.txt,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout輸入其英文:E;for(i=0;it;i+)if(strcmp(Wordi.E_word,E)=0)coutWordi.C_wordendl;cout任意鍵返回主目錄!ch;if(ch=b|ch=B)system(cls);Frame();elsesystem(cls);Frame();頭文件本套程序一共有一個頭文件。HE
13、AD.h用于定義單詞結構體,共有“單 詞編號”,“單詞英文”,“單詞中文意思”,“標注”幾項。代碼如下:struct WoRD / 沒有用 WORD 時因為 #include里有叫WORD 的 _b 汗!int num;單詞編號char E_word20;單詞英文char C_word30;/單詞中文意思char TF3;/用來標注是否背過;調試及問題解決本套程序的調試中遇到過許多問題。尤以以下幾個最具代表性和啟發 性:程序無法循環使用。剛開始程序完成一項功能后就自動退出程序,總是不能再返回主菜單, 這樣程序也就顯得特無力。后來通過他人指導利用函數間相互調用完成了 界面間自由往來!而且利用清屏
14、功能讓程序顯得干凈明了!void Frame()(int i,j;Menu();cini;if(i=1)(system(cls);Add_word();cinj;system(cls);if(j=1)Add();else if(j=2)(system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤(cout認真一點!( J_ )#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)(system(cls);Frame();else(exit(0);文件的調入后的數據更新。每次進行單詞添加的時候都
15、只能顯示10個單詞,但是我渴望的是把以 前的單詞輸出來,再把這次添加的單詞也輸出來。后來我利用一個數組把文件里的單詞信息記錄了一下,再把那個全局變 量記錄一共多少單詞數,這樣就使得程序對單詞信息很清晰,單詞更新也 不再是問題!void First()/這個函數實現了文件信息的更新每次開始它都可以將以前的文件內容跟現在串起來!是我花費最長時間的地方! T_T(WoRD Word100;FILE *fp;int i,j;if(fp二fopen(dictionary.txt,ab+)=NULL)(cout文件無法打開!endl;exit(0);for(i=0;fread(&Wordi,sizeof(
16、WoRD),1,fp)!=0;i+)(t=i;/將上次單詞數賦給現在需要使用的t記錄下來!顯示背誦過和為背誦過的單詞不能實現試過用bool,但是失敗了! 一b汗 后來我從int換到char又換 到字符串!利用字符串處理函數strcmp(str1,str2)=0實現了。有時候就 是一個很簡單的問題,但是就是弄不好!挺可惡! if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0)/條件符合就輸 出 ( coutWordi.E_word Wordi.C_wordendl;4 .關于重名在用#include包含一些系統自帶的頭文件時會遇到自己的構造體或變 量明和
17、系統沖突,雖然這個知識點在課本一開始就知道了,但是真正在實 戰中還挺難發現。必有WORD就在“windows.h”中存在。5.一些遺憾對于文件流相關知識的不熟悉讓我感覺很受挫!不過沒關系,我可以利用下 一個程序去熟悉去掌握!這個小程序中仍舊存在的種種問題讓我也壓力挺大 的,但是迫于時間和考試只好將修改作罷了 不過因此我也理解了那些已經在 一線奮斗的前輩的苦惱,軟件真的沒有那么簡單!(2)學生選課系統1 .總體設計教師開設選修課程,每門選修課程有課程編號,課程名稱,課程性質,總學時,授 課學時,實驗或上機學時,學分,開課學期等信息,學生可自由選課。試設計一選修課 程系統,使之能提供以下學生選課功
18、能:課程信息錄入功能(課程信息用文件保存)課程信息瀏覽功能學生選修課程,按教師選擇或按課程選擇或按學分選擇查詢功能修改功能,修改該學生自己選修的課程退 出 系添加課程瀏IIA*見更改課選 擇查看課退 出 系添加課程瀏IIA*見更改課選 擇查看課課t課程庫程序哪兒都能到主界面憑課程教師憑w程學分憑課程名禰詳細設計本套程序使用面向對象方法進行設計。包括三個頭文件,一個成員(友 元)函數定義模塊,一個主程序模塊和幾個功能模塊(somehead.h,land.h, run.h, somehead.cpp, run.cpp, land.cpp, maincpp,)。頭文件 “somehead.h, la
19、nd.h, run.h”類的定義定義一個 cstudent 類,cperson 類和 clesson 類,其中 cstudent 是 cperson 類的派生類。class CSTUDENT:public CPERSONpublic:void choose_lesson();void show_lesson();void correct_lesson();private:char lesson40;class CLESSONpublic:void type_in();void look_up();private:Lesson lesson20;Land.cpp主要功能:用于對類中的成員函數及友
20、元函數進行定義。實現了選課系 統的登錄功能。cout請分別填寫您的賬戶和密碼:student0.account_numberstudent0.password;cout請輸入您的賬號:account_number;if (strcmp(student0.account_number,account_number)=0)(cout請輸入您的密碼:password;if (strcmp(student0.password,password)=0)(cout登陸成功!endl;cout任意鍵返回選課界面!endl;somehead.cpp主要功能:將SOMEHEAD,H的函數實現,其中幾乎涵蓋了本程
21、序的所 有動作功能。返回現實世界更換己選課程因查看己選課程選擇進修課程課程信息瀏覽課程信息錄入請選擇m選謀也癰狂!G選課也瘋狂!fefefehhfefefehh返回現實世界更換己選課程因查看己選課程選擇進修課程課程信息瀏覽課程信息錄入請選擇m選謀也癰狂!G選課也瘋狂!fefefehhfefefehh|目前存儲量為:3課耳棵名性原忌學時授課時實驗學時4|目前存儲量為:3課耳棵名性原忌學時授課時實驗學時4武神必修110添加成功1是否繼續增添,繼續則輸Aq/uw學分學期34iQQPinyin課1234任仙遙兒 期劍逍靈兒 學酒李趙青課1234任仙遙兒 期劍逍靈兒 學酒李趙青修查修 性必選考必面田一r
22、 決術術課 名劍霓藉 一課萬氣贖武回返 & 鍵 意按教師選課波課程選課吱學懷選課 請輸入您要選擇的學分:1必修 1選H 21必修 1選H 211萬劍決酒劍仙1氣療術李逍遙1 請輸入您要選擇的課程序號:主要技術:if fread fwrite以及字符串處理關鍵代碼:for(i=0;fread(&lesson,sizeof(Lesson),1,fp)!=0;i+)讀一次輸出一次!當初的問題所在! fread與fwrite要配合使用 且二進制!coutlesson.numt”/ 當年一直輸出“燙”是因為數組輸出一些不認識的“i”t”lesson.charactertlesson
23、.all_classhourt”lesson.teach_classhourt”lesson.out classhourt”lesson.creditt”lesson.timet”lesson.teacherendl;cout請輸入您要改選的課程的序號:j;strcpy(student.lesson,);cout改課成功!”i;if(i=1)system(cls);lessoN.type_in();cout任意鍵返回選課界面!ch;if(ch=b|ch=B)system(cls);run();elsesystem(cls);run();else if(i=2)Qui
24、t();把 Quit()友元!Main.cpp主要功能:啟動程序設置屏幕及字體顏色 和標題的內容 主要代碼:void main()system(color 3E); 屏幕及字體顏色SetConsoleTitle( 選課也瘋狂 ! (人人)/ -老鄧制作!); 屏幕標題Cland land;land.landing();調試及問題解決在程序的編寫過程中遇到過許多問題,再次列舉幾個有代表性的:過程與對象混淆。剛做完面向過程的程序,在做面向對象的程序時,并沒有細致的去想, 直接上手就做,浪費了大量的時間,到頭來又重新再做一次。后來對類什 么的還是不熟悉,導致程序的各種不順利,僅此為戒,好好學習,踏實
25、努 力!文件的輸入再次出現無法改變的燙和內存的讀寫錯誤。無法控制循環輸出時變量的值,不是多輸出就是少輸出,亂七八糟,盲 目借鑒他人經驗,更是一點沒進展。后來安心下來去整理代碼,才發現fread 和fwrite要配合使用二進制,汗:#include” *”重復調用頭文件在程序中定義一個對象系統說多了,不定義又說少了。以后我會記得檢 查一下是不是程序頭文件的包含是否有內容重復。三心得體會轉眼之間課設就要過去,現在回首這一段的生活,真的讓我成 長不少!以前學習多是紙上談兵,實際操作真的很少。當老師把任 務布置下來時,頓時我就亂了分寸呵呵不過還好上冊學的還行, 短期調整之后就開始了我的工程。一次次的報
26、錯,然后在一次次耐 心去尋找錯誤,最后在一次次聲音的變化中體會到了成功的快感! 其實程序員挺快樂的!有時候認為程序員的生活忙碌單調有枯燥,無止盡的苦和累!- 真是不幸,忽然就又犯了小馬過河的錯誤,咳!真的只有試過之 后才明白!程序員雙手敲擊出來的不是一彳亍行代碼,而是一塊塊程 序員心中世界的磚瓦!具體說一說一些心得體會:一定要有安排,在將計劃設計好之后再動手!策 劃成本越高,實際成本就越低!遇到問題要迅速冷靜分析!養成良好的編程習慣 會讓人受益匪淺!在困難一直沒有解決的時候要果斷向互聯網及 身邊友人求助,一個好漢三個幫嘛!耳界單打獨 斗是行不通的!大家都要互相幫助才是!要多多嘗試新鮮技術,讓自
27、己的思想時刻處于興 奮狀態是一種很美好的感覺!程序始終是設計給人的! IT業是一個服務產業,將程序設計的更人性話應該是我們永遠的目標!每個人都應該找一個地方把自己曾經犯下的錯誤記下來!什么是最寶貴的?YES !你懂得!我喜歡編程!我渴望在我的暑假中得到更多的訓 練來加快自己的成長!因為我的心中有那么一個愿望 嘿嘿嘿嘿!八、八、八、八、軟件工程101鄧宇翔201000834114以下是附帶代碼:背單詞的小程序/頭文件HEAD.Hstruct WoRD /沒有用 WORD 時因為 #include里有叫 WORD 的 O_Ob 汗!int num;/單詞編號char E_word20;/單詞英文c
28、har C_word30;/單詞中文意思char TF5;用來標注是否背過;/FIRST.CPP#include#include#include#includeHEAD.H”void Frame();#include int t;void First()/這個函數實現了文件信息的更新每次開始它都可以將以前的文件內容跟現在串起來!是我花費最長時間的地方! T_T WoRD Word100;FILE *fp;int i,j;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;fread(&Wordi,sizeo
29、f(WoRD),1,fp)!=0;i+)t=i;/將上次單詞數賦給現在需要使用的t記錄下來!/MAIN.CPP#include#includeHEAD.H”#includevoid First();void Frame();void main()system(color 3E); /屏幕及字體顏色SetConsoleTitle(英 語 也瘋狂! 廠co)/老鄧制作!); 屏幕標題First();Frame(); /Game begin!MENU.CPP#include#include#include#includeHEAD.H”extern int t;/全局變量void Add_word()
30、;void Add();void Test();void Test_ByOrder();void Test_ByImmediately();void Review();void Done();void Preview();void Doing();void Translate();void Transluate_EC();void Transluate_CE();void Quit();void Menu() /主菜單coutendl;cout endl;cout endl;cout endl;cout endl;cout老鄧瘋狂英語 endl;cout-背單詞篇 endl;cout endl
31、;cout添加新詞 endl;cout endl;cout 進入檢測 endl;cout endl;cout 已背單詞 endl;cout endl;cout 未背單詞 endl;cout endl;cout英漢互譯 endl;cout endl;cout返回現實 endl;cout endl;cout endl;cout endl;couti;if(i=1)system(cls);Add_word();cinj;system(cls);if(j=1)Add();else if(j=2)system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!(
32、J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);else if(i=2)system(cls);Test();cinj;if(j=1)Test_ByOrder();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Test_ByImmediately();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,
33、)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!( J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);else if(i=3)system(cls);Review();cinj;if(j=1)Done();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,)syst
34、em(cls);Frame();elsesystem(cls);Frame();else if(j=2)system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!( J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);else if(i=4)system(cls);Preview();cinj;if(j=1)Doing();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,)system(
35、cls);Frame();elsesystem(cls);Frame();else if(j=2)system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!( J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame(); elseexit(0);else if(i=5)system(cls);Translate();cinj;if(j=1)Transluate_EC();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,
36、)system(cls);Frame();elsesystem(cls);Frame();else if(j=2)Transluate_CE();cout任意鍵返回主目錄!ch;if(ch=,b,|ch=,B,)system(cls);Frame();elsesystem(cls);Frame();else if(j=3)system(cls);Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!( J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Fram
37、e();elseexit(0);else if(i=6)system(cls);Quit();cinj;if(j=1)exit(0);else if(j=2)system(cls); Frame();else/盡量避免在使用程序時因操作引起的失誤cout認真一點!( J_,)#endl;cout回答問題決定您的方向:endl;cout您是否對我的程序滿意:Y/Nch;if(ch=,Y,|ch=,y,)system(cls);Frame();elseexit(0);/Part l.cpp#include#include#include#includeHEAD.H”extern int t;voi
38、d Frame();void Add_word();void Add()WoRD Word100;FILE *fp;int i,j;char ch=,Q,;/用來判斷是否繼續輸入單詞if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;fread(&Wordi,sizeof(WoRD),1,fp)!=0;i+)coutWordi.num Wordi.E_wordendl;/ 特別有成就感的地方!把以前的單詞輸出來展示j=i;while(ch=q|ch=Q)/ while循環支持不斷向文件載入內容!cout目前
39、單詞庫單詞存儲量為:jendl;cout請分別輸入新增單詞的編號、單詞、中文翻譯和背誦記錄 (tt/ff):Wordj.numWordj.E_wordWordj.C_wordWordj.TF;fwrite(&Wordj,sizeof(WoRD),1,fp);cout添加成功!是否繼續增添單詞,繼續則輸入Q/qch;t=j;fclose(fp); /關閉文件system(cls); /清屏Frame(); /返回主程序/PART 2.CPP#include#include#include#include#include#includeHEAD.H”extern int t;void Test_B
40、yOrder()FILE *fp;int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);/從文件中讀入結構體數組fread(&Wordi-1,sizeof(WoRD),1,fp);/再加一個實現了跟數字同步!當初沒有想到的問題cout順序檢測開始!:endl;cout請輸入這次測試的單詞量:p;if(p=t)for(i=0;it;i+)char word10;coutWordi.C_word wo
41、rd;if(strcmp(word,Wordi.E_word)=0)cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf);/更改單詞信息是否被背過elsecout回答錯誤!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)char word10;coutWordi.C_word word;if(strcmp(word,Wordi.E_word)=0)cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答錯誤!endl;char tf3=ff
42、;strcpy(Wordi.TF,tf);fclose(fp); void Test_ByImmediately()FILE *fp;int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout隨即檢測開始!:endl;cout請輸入這次測試的單詞量:p;if(p=t)for(i=0;it;i+)char word10;int j;j=rand()%t;/產生隨機數coutWordj.C_wor
43、d word;if(strcmp(word,Wordj.E_word)=0)cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答錯誤!endl;char tf3=ff;strcpy(Wordi.TF,tf);elsefor(i=0;ip;i+)char word10;int j;j=rand()%p;/產生隨機數coutWordj.C_word word;if(strcmp(word,Wordj.E_word)=0)cout回答正確!endl;char tf3=tt;strcpy(Wordi.TF,tf);elsecout回答錯誤!e
44、ndl;char tf3=ff;strcpy(Wordi.TF,tf); fclose(fp);/PART 3.CPP#include#include#include#include#includeHEAD.H” extern int t;void Done()FILE *fp; int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL) / 打開文件并判斷文件是 否存在 cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout”已背過的單詞:en
45、dl;for(i=0;it;i+)char ch5=tt;char cf5=TT;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) / 和英漢 互譯差不多的操作 coutWordi.E_word Wordi.C_wordendl; fclose(fp);/PART 4.CPP#include#include#include#include#includeHEAD.H” extern int t;void Doing()FILE *fp; int i;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL
46、) cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout未背過的單詞:endl;for(i=0;it;i+) char ch5=ff;char cf5=FF;if(strcmp(Wordi.TF,ch)=0|strcmp(Wordi.TF,cf)=0) coutWordi.E_word Wordi.C_wordendl;fclose(fp);/PART 5.CPP#include#include#include#includeHEAD.H”#include extern int t;void Tra
47、nsluate_EC()FILE *fp;int i;char E20;用數組是為了下面的地址WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout輸入其英文:E;for(i=0;it;i+)if(strcmp(Wordi.E_word,E)=0)coutWordi.C_wordendl;fclose(fp);/PART 6.CPP#include#include#include#includeHEA
48、D.H”#include extern int t;void Transluate_CE()FILE *fp;int i;char C20;WoRD Word100;if(fp=fopen(dictionary.txt”,ab+)=NULL)cout文件無法打開!endl;exit(0);for(i=0;it;i+)fread(&Wordi,sizeof(WoRD),1,fp);cout輸入其中文:C;for(i=0;it;i+)if(strcmp(Wordi.C_word,C)=0)coutWordi.E_wordendl;fclose(fp);/五大功能粗實現.cpp#includevoi
49、d Add_word()/增添單詞欄coutendl;coutendl;coutendl;cout開始添加endl;cout endl;cout返回目錄 endl;cout endl;cout endl;cout endl;cout請選擇:;void Test()/測試欄cout endl;cout endl;cout endl;cout endl;cout順序檢測 endl;cout endl;cout endl;cout隨機檢測 endl;cout endl;cout endl;cout返回目錄 endl;cout endl;cout endl;cout endl;cout endl;co
50、ut請選擇:;void Review()/查看已背單詞cout endl;cout endl;cout endl;cout endl;cout回顧歷史 endl;cout endl;cout endl;cout返回目錄 endl;cout endl;cout endl;cout endl;cout endl;cout請選擇:;void Preview()/查看未背單詞cout endl;cout endl;cout endl;cout endl;cout展望未來 endl;cout endl;cout endl;cout返回目錄 endl;cout endl;cout endl;cout en
51、dl;cout endl;cout請選擇:;void Translate()/英漢互譯欄cout endl;cout endl;cout endl;cout endl;cout英譯漢 endl;cout endl;cout endl;cout漢譯英 endl;cout endl;cout endl;cout返回目錄 endl;cout endl;coutendl;coutendl;coutendl;cout請選擇:;void Quit()/退出欄cout endl;cout endl;cout endl;cout endl;cout 真的要離開?! endl;cout endl;cout en
52、dl;cout 再學習一會兒!endl;cout endl;cout endl;cout endl;cout endl;cout請選擇:”;學生選課系統/land.h#include class Clandpublic:void landing();void pass();void Register();friend void Quit();static int i;;/run.hclass Crunpublic:void run();;/somehead.h struct Lessonint num;char name20;char character10;int all_classhour
53、;int teach_classhour;int out_classhour;int credit;int time;char teacher20;struct Studentint num;char account_number20;char password20;class CLESSONpublic:void type_in();void look_up();private:Lesson lesson20;class CPERSONprivate:char name40;;class CSTUDENT:public CPERSONpublic:void choose_lesson();v
54、oid show_lesson();void correct_lesson();private:char lesson40;/land.cpp#include#include#include#include#includeLand.h”#includeSomehead.h”#includeRun.h”int Cland:i=0;Cland land;void Cland:Register()FILE *fp;char ch;Student student1;if(fp=fopen(Students.txt”,wb+)=NULL)coutCan not open this file!endl;e
55、xit(0);cout請分別填寫您的賬戶和密碼:student0.account_numberstudent0.password;cout注冊成功!endl;rewind(fp);fwrite(&student0,sizeof(Student),1,fp);fclose(fp);cout任意鍵返回登錄界面!ch;if(ch=,b,|ch=,B,)system(cls);landing();elsesystem(cls);landing();void Cland:pass()FILE *fp;Crun run;Student student1;char account_number20;char
56、 password20;if(fp=fopen(Students.txt”,ab+)=NULL)coutCan not open this file!endl;exit(0);fread(&student0,sizeof(Student),1,fp);rewind(fp);cout請輸入您的賬號:account_number;if (strcmp(student0.account_number,account_number)=0)cout請輸入您的密碼:password;if (strcmp(student0.password,password)=0) cout登陸成功!endl;cout任意
57、鍵返回選課界面!ch;if(ch=,b,|ch=,B,)system(cls);run.run();elsesystem(cls);run.run();elsecout輸入的密碼不正確!2)cout您嘗試次數太多,請稍后再試!ch;if(ch=,b,|ch=,B,)system(cls);landing(); elsesystem(cls);landing(); pass();elsecout賬戶不存在!2)cout您嘗試次數太多,請稍后再試!ch;if(ch=,b,|ch=,B,)system(cls);landing();elsesystem(cls);landing();pass();v
58、oid Quit()coutmendl;coutendl;coutendl;coutendl;cout玩DOTA去!endl;coutendl;cout等會兒再走endl;coutendl;coutendl;coutendl;coutendl;int t;cout請選擇序號:t;if(t=1)exit(0);elsesystem(cls);land.landing();void Cland:landing()system(cls);/放在這正好把前面的全部清除掉!coutendl;coutendl;coutmmmmendl;coutmm學生選課系統mmendl;coutmmmmendl;cou
59、tmm登錄mmendl;coutmmmmendl;coutmm注冊mmendl;coutmmmmendl;coutmm退出mmendl;coutmmmmendl;coutmmmmendl;coutendl;couta;if(a=1)pass();else if(a=2)Register。; else if(a=3)Quit();/run.cpp#include#include#include#includeSomeHead.h”#includeLAND.H#includeRun.hvoid Crun:run()cout”endl;cout”mendl;cout”endl;cout”mmmmen
60、dl;cout”mmmmendl;cout”mm課程信息錄入mmendl;cout”mmmmendl;cout”mm課程信息瀏覽mmendl;cout”mmmmendl;cout”mm選擇進修課程mmendl;cout”mmmmendl;cout”mm查看已選課程mmendl;cout”mmmmendl;cout”mm更換已選課程mmendl;cout”mmmmendl;cout”mm返回現實世界mmendl;cout”mmmmendl;coutr壬廿endl;coutendl;coutendl;cout請選擇:i;if(i=1)system(cls);lessoN.type_in();cou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電廠風險全面管理辦法
- 學校周邊車輛管理辦法
- 賬戶管理辦法強制開戶
- 目標獎勵發放管理辦法
- 肩周炎中醫講座課件視頻
- 幼兒美術老師培訓課件
- 股利政策課件
- 肝臟手術護理課件
- 發展性數學試卷
- 房山燕山的數學試卷
- 摩擦起電機理、調控與應用研究的現狀及展望
- 智慧園藝考核大綱
- 電網工程設備材料信息參考價(2024年第四季度)
- 高級餐飲食品安全管理員技能鑒定理論考試題庫500題(含答案)
- 數據中心運維服務投標方案(技術標)
- 2023-2024學年人教版數學八年級下冊期末復習試卷(含答案)
- 2024年租賃業務操作手冊3篇
- 中國經皮冠狀動脈介入治療指南(全文版)
- 2025年山東鐵投集團招聘筆試參考題庫含答案解析
- 我的植物朋友向日葵400字
- 《化工園區有毒有害氣體環境預警體系技術規范》
評論
0/150
提交評論