日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

c语言系统主函数流程图,C语言程序设计——成语学习系统

發(fā)布時(shí)間:2025/3/21 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言系统主函数流程图,C语言程序设计——成语学习系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

頭文件

包含內(nèi)容:

代碼:

主函數(shù)

功能:

初始化數(shù)據(jù),負(fù)責(zé)調(diào)用各個(gè)函數(shù),運(yùn)行登錄系統(tǒng)、游戲系統(tǒng)、數(shù)據(jù)寫(xiě)入系統(tǒng),完成程序的完整執(zhí)行。

流程圖

代碼

Data文件

Data文件包含函數(shù)

函數(shù)

功能

GetData

讀取成語(yǔ)文件

SeekWord

查找成語(yǔ)

SuperGet

成語(yǔ)接龍專(zhuān)用數(shù)據(jù)讀取

SuperSearch

成語(yǔ)接龍專(zhuān)用檢索

MatchingIdioms

匹配接龍成語(yǔ)

MyRand

生成一個(gè)在開(kāi)區(qū)間(0,num)的隨機(jī)數(shù)

GetData函數(shù)

該函數(shù)用于將帶釋義的成語(yǔ)文件存入到在主函數(shù)中定義好的結(jié)構(gòu)體數(shù)組

流程圖

代碼

利用' '切割字符串的靈感來(lái)源于刪除字符串中的子串

SeekWord函數(shù)

該函數(shù)用于查找是否有符合要求的函數(shù),查找到則返回結(jié)構(gòu)體數(shù)組中的對(duì)應(yīng)下標(biāo),找不到返回-1。

流程圖

代碼

Game文件

Game文件函數(shù)

函數(shù)

功能

StartGame

游戲程序控制中樞函數(shù)

OpenDictionary

成語(yǔ)詞典

PlayTest

“女?huà)z補(bǔ)天”成語(yǔ)測(cè)試

ManMachineWar

成語(yǔ)接龍,人機(jī)大戰(zhàn)

PlayTest2

“望義生文”成語(yǔ)測(cè)試

StartGame函數(shù)

此函數(shù)是整個(gè)成語(yǔ)游戲的中樞,不僅要接收傳進(jìn)來(lái)的數(shù)據(jù)指針,還要輸出菜單,以供用戶(hù)選擇程序功能,并調(diào)用相對(duì)應(yīng)的函數(shù)。

流程圖

代碼

OpenDictionary函數(shù)

此函數(shù)被調(diào)用之后將進(jìn)入成語(yǔ)詞典界面,用戶(hù)可通過(guò)這個(gè)函數(shù)進(jìn)行成語(yǔ)釋義查詢(xún),查詢(xún)到了輸出釋義,查詢(xún)不到就輸出提示信息。

流程圖

代碼

PlayTest函數(shù)

此函數(shù)被調(diào)用之后將進(jìn)入成語(yǔ)測(cè)試界面,用戶(hù)可通過(guò)這個(gè)函數(shù)進(jìn)行成語(yǔ)測(cè)試,函數(shù)將給出10道題,用戶(hù)依次作答,系統(tǒng)將根據(jù)作答情況結(jié)算,打分,結(jié)束后返回用戶(hù)作答成績(jī)。

流程圖

代碼

ManMachineWar函數(shù)

此函數(shù)被調(diào)用之后將進(jìn)入成語(yǔ)測(cè)試界面,用戶(hù)可通過(guò)這個(gè)函數(shù)進(jìn)行成語(yǔ)接龍人機(jī)大戰(zhàn),函數(shù)將隨機(jī)給出一個(gè)成語(yǔ),系統(tǒng)將判斷用戶(hù)是否輸入了成語(yǔ),如果正確輸入則判斷是否能夠接龍,如果可以,就由系統(tǒng)進(jìn)行接龍,如果系統(tǒng)接龍成功則開(kāi)啟新一輪接龍。接龍結(jié)束后,返回接龍的輪次。

流程圖

代碼

Ranking文件

Ranking文件函數(shù)

函數(shù)

功能

RankingList

讀取排行榜數(shù)據(jù)

InList

顯示排行榜

WriteList

向排行榜寫(xiě)入數(shù)據(jù)

WriteList函數(shù)

此函數(shù)用于向排行榜文件寫(xiě)入數(shù)據(jù),根據(jù)用戶(hù)的分?jǐn)?shù)判斷是否寫(xiě)入文件,若滿(mǎn)足則按順序?qū)懭?#xff0c;若不滿(mǎn)足則不寫(xiě)入文件。

流程圖

代碼

Users文件

Users文件函數(shù)

函數(shù)

功能

OutMenu

登錄菜單及登錄系統(tǒng)中樞

SignIn

登錄操作

IsRegister

注冊(cè)操作

InCartoon

過(guò)場(chǎng)動(dòng)畫(huà)

OutMenu函數(shù)

此函數(shù)是登錄系統(tǒng)的中樞,先顯示菜單,然后根據(jù)用戶(hù)的選擇分別進(jìn)行注冊(cè)或登錄的操作,對(duì)登錄失敗的用戶(hù)有再次嘗試登錄的功能。

流程圖

代碼

SignIn函數(shù)

該函數(shù)被調(diào)用之后將進(jìn)入登錄系統(tǒng),接收用戶(hù)輸入的用戶(hù)名和密碼,并進(jìn)行核對(duì),核對(duì)成功之后結(jié)束登錄操作。

流程圖

代碼

IsRegister函數(shù)

該函數(shù)被調(diào)用之后將進(jìn)入注冊(cè)系統(tǒng),接收用戶(hù)輸入的用戶(hù)名進(jìn)行查重,通過(guò)查重之后接收用戶(hù)輸入的密碼,之后寫(xiě)入文件,完成注冊(cè)。

流程圖

代碼

運(yùn)行結(jié)果

登錄系統(tǒng)

過(guò)場(chǎng)動(dòng)畫(huà)

選擇取消,退出程序。

登錄界面

選擇是,進(jìn)入登錄界面,故意輸入錯(cuò)誤。

重新正確輸入。

注冊(cè)界面

先選擇否,再選擇進(jìn)入注冊(cè)。

故意輸入存在的用戶(hù)名。

重新注冊(cè)。

游戲主菜單

成語(yǔ)詞典

閱讀使用說(shuō)明。

查詢(xún)成語(yǔ)。

故意查詢(xún)文件沒(méi)有的成語(yǔ)。

成語(yǔ)測(cè)試

成語(yǔ)接龍,人機(jī)大戰(zhàn)

查看排行榜

退出程序

碰到問(wèn)題及解決辦法

Q1:用戶(hù)登錄時(shí)密碼會(huì)顯示,達(dá)不到安全的要求;

A1:學(xué)習(xí)getch函數(shù),達(dá)到用戶(hù)輸入的密碼不回顯的目的;

Q2:登錄界面太寒酸,用戶(hù)體驗(yàn)不好,想要做一點(diǎn)簡(jiǎn)單的可視化;

A2:學(xué)習(xí)MessageBoxA函數(shù),利用提示框來(lái)做簡(jiǎn)單的可視化,優(yōu)化用戶(hù)體驗(yàn);

Q3:界面切換得太快,有的文字來(lái)不及看清;

A3:在切換頁(yè)面之前都放一句system("pause")代碼暫停運(yùn)行;

Q4:fflush(stdin)語(yǔ)句在調(diào)試的時(shí)候失靈;

A4:經(jīng)查找資料,用rewind(stdin)語(yǔ)句代替,但是原因暫時(shí)未知;

Q5:無(wú)法準(zhǔn)確分開(kāi)文件中的成語(yǔ)和釋義;

A5:想起“刪除子串”這道題目的做法,通過(guò)利用“ ”分割字符串實(shí)現(xiàn);

Q6:原有成語(yǔ)文件只有233個(gè)成語(yǔ),程序詞窮;

A6:自行上網(wǎng)找了個(gè)13355個(gè)成語(yǔ)的版本,利用記事本和Word進(jìn)行清洗,程序瞬間變學(xué)霸;

Q7:非法輸入會(huì)影響程序的正常使用;

A7:將輸入的函數(shù)全部改為fgets(),并且遇到輸入就清空緩沖區(qū),程序變得極其安全;

Q8:成語(yǔ)測(cè)試出題時(shí)遇到了只隱去了一個(gè)字的情況,并且要求用戶(hù)作答兩次;

A8:是兩次隱去的字的隨機(jī)數(shù)重復(fù)了,加一段代碼讓需要隱去的字的隨機(jī)數(shù)不重復(fù);

Q9:成語(yǔ)接龍時(shí),用戶(hù)可以作弊,即只輸入一個(gè)字接龍,然后剩下亂輸;

A9:在進(jìn)行接龍之前先進(jìn)行查錯(cuò),由于數(shù)據(jù)量被改大,可以實(shí)施;

Q10:游戲時(shí)沒(méi)有音樂(lè),嗨不起來(lái),學(xué)習(xí)mciSendString播放音樂(lè),但是編譯器報(bào)錯(cuò);

A10:使用這個(gè)函數(shù)之前,需要引入對(duì)應(yīng)的庫(kù),vs只需要一段代碼即可做到,Dev c需要手動(dòng)配置;

Q11:排行榜文件的日期不好處理;

A11:學(xué)習(xí)time_t結(jié)構(gòu)體和asctime函數(shù),日期數(shù)據(jù)的處理變得容易;

Q12:讀取日期數(shù)據(jù)時(shí),會(huì)把日期數(shù)據(jù)之前的空格讀入;

A12:另外用fgetc函數(shù)吸收空格;

Q13:排行榜數(shù)據(jù)排序用排序法很繁瑣;

A13:想起插入排序,修改文件打開(kāi)方式為“w”,變得簡(jiǎn)單;

Q14:如果用戶(hù)登錄之后直接退出,會(huì)出錯(cuò);

A14:提前把用戶(hù)成績(jī)都初始化為0,再開(kāi)啟游戲。

參考資料

總結(jié)

以上是生活随笔為你收集整理的c语言系统主函数流程图,C语言程序设计——成语学习系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。