小程序 const moment = require('moment')_C++大作业-XXX管理程序
理工科大一往往會學(xué)習(xí)C/C++,期末會有大作業(yè)。這篇文章就是一個簡單的C++大作業(yè)程序。我也是大一,所以覺著哪里寫得不好歡迎在評論區(qū)提出。程序總體上講是個“總分總”結(jié)構(gòu)。
一 實現(xiàn)這個程序要八步。
第一步 程序的功能設(shè)計
程序的目標(biāo)有兩個。一是輔助我備考四六級,幫助生活和提高效率。二是提供一些娛樂活動。
針對這兩個目標(biāo),我設(shè)計了六個功能---單詞助手、計劃待辦、密碼庫、聊天室、3D坦克大戰(zhàn)、趣味圍棋。
其中單詞助手、計劃待辦、密碼庫為備考四六級和提高賬戶管理效率而做的。聊天室、趣味圍棋和3D坦克大戰(zhàn)是為娛樂而設(shè)計的。
以下分別通過圖片展示
想出一個復(fù)雜的密碼和賬戶總是非常麻煩,要記住密碼就更麻煩了。而簡單的密碼也不安全。這部分功能就可以解決這個問題。
計劃本。因為我經(jīng)常忘事情所以需要個計劃本。(PS:不過我覺著計劃還是記了紙上更有效)
單詞本,是為了9月的四級考試而準(zhǔn)備的。
趣味圍棋,我是圍棋兩段來著。現(xiàn)在還經(jīng)常看看圍棋視頻。不過棋力不行了。另外這個程序的提子,數(shù)氣,判斷勝負(fù)之類的都沒做,應(yīng)該說是個五子棋比較合適。以后再完善,現(xiàn)在就這樣吧。
聊天室,本來想做進行安全加密的聊天室,然后可以在外網(wǎng)聯(lián)絡(luò)的那種。但是時間不夠。所以只是一個簡單的聊天室。
這個是我用unity做的游戲。動畫、模型、聲音來自unity官方教程。我也是照著教程來的。PS:期間我還嘗試過UE4開發(fā)游戲,不過時間不夠沒有做出一個比較好的作品。Unity是C#,UE4是C++。不知道C#的可不可以交C++的作業(yè)。
功能很雜是因為把一些以前的程序也整合了整合放進去了,所以有點不倫不類。
這個程序的部分文件其實上圖的文件只能實現(xiàn)前四個功能,后兩個功能是直接調(diào)用了一些以前寫的程序來完成的。分開是因為聊天室功能還要分成客戶端和服務(wù)端,不方便弄成一個,而3D坦克大戰(zhàn)是用Unity做的游戲,放不進去。
第二步 搭好基礎(chǔ)設(shè)施
對于前三個功能,我們可以看到都屬于增刪改查類型的,所以考慮先設(shè)計一個類模板,提供共同的操作,這樣不管是擴展程序,deBug還是寫程序都會簡單很多。然后本著練習(xí)的原則,沒有選擇STL,而是自己做一個鏈表模板。
下面是鏈表模板的介紹(list.h)。
首先是節(jié)點Node類,這里為了方便寫代碼所以用的雙向的。單向的實現(xiàn)一些功能會更麻煩。
template接著是List類了,需要注意的是類模板聲明和定義最好都寫在一起。
//remove()要求超載==這樣第一個文件"list.h"就OK了。有了類模板作為基礎(chǔ)設(shè)施,之后的工作就十分簡單了。
第三步 設(shè)置各個獨立的上層建筑
上層建筑是指三個類。Password類,Word類,Plan類
下面是Password類
“password.h”
#pragma warning(disable:4996)"password.cpp"
#includeWord類,這個類直接遷移自我以前寫的程序,所以一些沒用到的數(shù)據(jù)成員其實是懶得改了。功能上做了很多簡化,大家有興趣可以接著完善之類的。按理說聲明和定義最好分開,不過因為分開寫麻煩所以就沒分了。。。。
"word.h"
#pragma once“word.cpp”
#include最后就是Plan類了
“plan.h”
#pragma once"plan.cpp"
#include其實寫Plan類時沒有測試,不過我覺著應(yīng)該沒問題,大概,吧。。。。
至此三個上層建筑就已經(jīng)搭建完了,因為有鏈表類模板,再進行擴展也是很輕松的事情。
但這三個類只能實現(xiàn)前三個功能,之后三個功能將在另一部分講。
第四步 對上層建筑做個總結(jié)的類(語文不好見諒)
“user.h”
#pragma once"user.cpp"
#include做完了這個類,我們就只需要用一個User類就夠了,接下來就是main()函數(shù)了
第五步 main.cpp
//命名:駝峰式補充一下,之前代碼中看到的“common.h”
#pragma once用處就是把很多文件共有的東西提出來放一起,這樣只用寫一份就夠了
用的IDE是Visual Studio 2019,編譯完成后沒有錯誤和警告,簡單的測試也沒問題。不過沒有特別細(xì)致的測試,說不定會有什么嚴(yán)重的BUG。
第六步 聊天室的開發(fā)
我用的方法是B站搜索聊天室,然后會有很多教程,跟著做一做就OK了,看不懂再換一個,網(wǎng)上資源很豐富。其實一開始的目標(biāo)是用自己的加密算法加密聊天信息,并且實現(xiàn)外網(wǎng)的聊天。但是因為要準(zhǔn)備考試,還有N多作業(yè)要做,精力不夠就沒做下去。。。。
此外這里比較令我驚奇的是改一下頭文件的先后順序就會出現(xiàn)很多錯誤,我對這個事情還做了幾次實驗,但也沒弄明白怎么回事,總之非常玄學(xué)。
第七步 3D坦克大戰(zhàn)的開發(fā)
首先要下一個unity, 了解一下C#,接著B站搜索相關(guān)教程。(PS,官網(wǎng)上有這個3D坦克大戰(zhàn)的教程,而且提供模型和聲音,動畫資源)。剩下的就是折騰了。生命在于折騰。如何折騰比較靠譜請參閱官方教程以及B站的N多教程。
第八步 方圓圍棋
這塊也是直接遷移以前的程序。當(dāng)時是初學(xué),對GUI有執(zhí)念,找到了easyX和網(wǎng)上的教程做的。網(wǎng)上資源很豐富,如果GUI不能滿足你,我推薦用UE4做個3D效果的圍棋程序。在B站上有人發(fā)過UE4做的3D效果的圍棋,可以搜到,可以在那里學(xué)習(xí)。
雖然說是圍棋,其實只弄了個殼子,并沒有實現(xiàn)提子,數(shù)氣,判斷勝負(fù)。一些函數(shù)也沒有寫好,圍棋這部分也是直接從以前寫的程序里搬過來的,參考的B站上的教程,所以B站真是個學(xué)習(xí)網(wǎng)站,好東西不少。注意,這部分要求在目錄里有一張名字為“1.jpg”的背景圖片,大家可以按照自己的愛好畫一畫。此外在選擇方圓圍棋功能后會導(dǎo)致控制臺被關(guān)閉,其實也有方法解決這個問題,大家可以百度一下如何解決,這里就不解決了,因為我也累了。另外這里用到了easyX(就是“<graphics.h>”),不知道easyX或者沒有的可以百度一下下載一個,過程很簡單,我就不細(xì)說了。
"go.h"
#pragma once"go.cpp"
#include到這里程序就結(jié)束了,還不滿足的可以嘗試制作二維碼程序,實現(xiàn)掃碼,和生成二維碼。這個在github上有很多教程和范例可以參考,還有學(xué)長在github上放出來二維碼的項目,為學(xué)弟學(xué)妹們掃清道路。B站up回形針的視頻也有對二維碼的簡單介紹。教程多數(shù)用Qt的。
二 文件結(jié)構(gòu)
估計這么長,大家應(yīng)該是直接不看了或者直接翻到底吧。
總結(jié)
以上是生活随笔為你收集整理的小程序 const moment = require('moment')_C++大作业-XXX管理程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 17会有分屏吗iOS 17有哪些
- 下一篇: iPhone14 已安装的APP打不开怎