999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#的源代碼類型作業檢查軟件設計

2018-05-08 13:20:44李從宏
電子技術與軟件工程 2018年22期
關鍵詞:作業功能方法

摘要 在軟件設計相關的課程教學中,學生一般是以源代碼且壓縮文件的方式提交作業,若是教師逐個解壓、閱讀文件,則是一件很繁重的工作。本文根據這一需求,使用C#編程語言實現該軟件功能,采用遞歸調用技術實現學生提交作業情況查詢功能,使用.NET下開源的壓縮文件操作組件SharpCompress實現解壓文件功能,使用StreamReader類的相關方法實現查閱源文件功能。

【關鍵詞】軟件設計 SharpCompress 作業查詢 C#語言 StreamReader 遞歸調用

在如C語言程序設計、單片機與嵌入式應用等與軟件設計相關的課程教學中,由于實現每個項目的代碼量比較大,學生一般是以源代碼且壓縮包的形式提交作業,若教師將所有學生的壓縮包文件解壓并查閱具體內容,這是一件非常工作量很大的工作。

C#是一種簡單、先進、面向對象和類型安全的編程語言,在NET平臺下的一種重要的編程語言,在每多方面都有著廣泛的應用,本文從項目需求出發,使用C#編程語言設計一個作業檢查軟件實現相關功能。

1 功能實現原理

本軟件需要實現的主要功能有:

(1)統計學生提交作業的情況;

(2)可以在一個目錄及所有子目錄中解壓所有壓縮文件。

(3)查看指定的源代碼文件。

1.1 統計學生提交作業情況

實現該功能的原理是:使用StreamReader類的ReadLine0方法將指定的學生名單文本中的學生姓名提取出來,使用Directory類的GetFiles0的方法列出指定目錄下的所有壓縮文件,按姓名順序在文件列表中逐個查找文件名中是否包含該學生的姓名,若存在,則統計提交作業次數,否則顯示沒有提交作業。

統計學生提交作業情況的軟件流程圖如圖1所示。

1.2 解壓解壓包文件

目前用得比較多的壓縮格式有rar、zip和7z,對于不同的格式壓縮包有不同的解壓方法。

(1)對于針對rar格式的壓縮包文件,當計算機上安裝了wmrar后,程序中可以在C#程序中調用rar.的命令行程序實現解壓縮功能,因為wmrar軟件提供基于命令行的解壓縮方式。

(2) zip是一種免費開源的壓縮格式,可以使用C#庫SharpZipLib解壓縮zip、gzip和tar格式的文件。在使用這種方法時,先下載SharpZipLib包解壓后,在項目中引用ICSharpCode. SharpZLib.dll程序集并調用相關方法即可實現zip和7z格式的文件解壓功能。

(3)使用一個名為SharpCompress的c#框架集在的相關類,實現文件壓縮解壓功能,SharpCompress支持有:rar, 7zip,zip,tar,tzip和bzip2格式的壓縮和解壓。

本文使用SharpCompress中在相關類實現解壓文件功能。

2 軟件具體實現

2.1 統計學生提交作業情況

使用Directory類的靜態方法GetFiles0得到指定目錄下的所有文件,使用StreamReader類的實例方法ReadLine0從學生名單文本文件中讀取學生姓名,并在壓縮包文件數組中逐個查找該學生的名字是否存在,若存在,則累計提交次數,所有文件對比結束后,再統計下一個學生,以此類推,直到最后一個學生,具體代碼如下:

Private void CheckHomeWork(stringstuFile,filesPath){

string studentName, str;

string[] files - Directory.GetFiles(filesPath);

StreamReader sr - new StreamReader(_stuFile,System.Text

Encoding.Default);studentName -sr.ReadLine0;

while (studentName !_null){int count -O:

foreach (string file in files){

if (file.lndexOf(studentName)!=-1){str+=file+”YrYn”;count++;))}

str - studentName+”提 交了:+count+次作業\r\n+ str;

txtContent.AppendText(str+”\r\n\r\n”);

studentName - sr.ReadLineO;str -…;}sr.Close0;}

若作業提交在多個目錄或多個子目錄中,則使用遞歸調用技術遍歷指定目錄及所有子目錄下的文件。具體源代碼如下:

void CheckAIIFiles(string stuFile, stringfilesPath){

CheckHomeWork(stLlFile,filesPafh);

string[]subDi r s=Dire cto ryGetDirectories(fi1esPatll);

fo reach(string str ln subDir s){CheckA11Files(stLlFile,str);})

2.2 解壓文件

SharpCompress是NET下開源的壓縮文件操作組件,可以支持的格式如RAR,ZIP,Tar,Zip等等,通過不同的類對不同類型的壓縮文件進行解壓操作。

2.2.1 對RAR類型的壓縮包進行解壓操作

SharpCompress組件使用ArchiveFactory類的靜態方法Open()得到一個RAR壓縮包里的所有資源,再使用IArchive類型的實例對象的WmeToDircctory()進行解壓。

2.2.2 對ZIP類型的壓縮包進行解壓操作

SharpCompress組件使用ReaderFactory

類的靜態方法Open0打開壓縮包里的資源,并使用IReader類型的實例的WriteEntryToDirectory0對壓縮文件進行解壓。

2.2.3 對7z類型的壓縮包進行解壓操作

SharpCompress組件使用SevenZipArchive類open0方法獲取壓縮包中的資源,并使用SevenZipArchiveEntry類的實例方法WriteToDirectory0方法對壓縮文件進行解壓。

解壓文件的程序流程圖如圖2所示。

2.3 閱讀源代碼文件

在與軟件設計相關的課程教學中,主要的文件格式有由.c文件、h文件、java、.cpp、.cs文件等,這些文件屬于文本文件的范疇,C#語言使用StreamReader類的實例方法ReadLine0或ReadToEnd0方法讀取內容,將內容放在文本框中進行顯示。具體源碼如下:

Private void ReadSourceFileContent(void){

ofdOpenFile.Filter -ava filesl*j ava”;

if (ofdOpenFile.ShowDialog()==DialogResult. OK){

string fileName - ofdOpenFile.FileName;

StreamReader sr - newStreamReader(filename,System.Text

Encoding.Default);

txtContent.Text-sr.ReadToEnd();sr.Close0;}}

3 測試與總結

將文件拷貝到測試目錄下,分別做統計學生交作業情況、解壓文件及閱讀源代碼文件這三個方面的測試。

3.1 統計學生提交作業情況測試

統計學生提交作業情況測試模塊主要是根據壓縮包文件名中是否包含學生姓名,軟件運行結果如圖3所示。

3.2 解壓文件功能測試

解壓文件功能測試模塊主要使用SharpCompress壓縮文件操作組件中的相關類對不同類型文件進行解壓操作,可以實現單個文件解壓、多個文件解壓及全部文件解壓三種操作,測試結果如圖4所示。

3.3 閱讀源代碼文件功能測試

閱讀源代碼文件功能測試模塊使用StreamReader類的相關方法讀文件中的內容,本模塊可以查看.c文件、h文件、j ava、cpp、.cs文件等與文本文件相關的源代碼文件,測試結果如圖5所示。

從整體測試結果來看,本軟件可以將教師從繁重的作業批閱工作中解脫出來,提高了辦公效率。

參考文獻

[1]譚浩強.C程序設計第五版[M].清華大學出版社,2017 (08).

[2] SharpCompres s-a fully na tiveC# library for RAR, 72ip, Zip,Tar, GZip, B2ip2.

Avaliableat https: //archive. codeplex.com/?p-sharpcompres s.

[3]李從宏.C#程序設計及應用教程[M].北京:機械工業出版社,2017.

[4]龐燕芳,基于C#.NET的學校車輛門禁系統的設計[J].電子技術與軟件工程,2008 (33):125-126.

[5]楊利娟,朱杉杉,基于C#的高校排課系統[J].電子技術與軟件工程,電腦編程技術與維,2018,10: 23-27.

[6]郭博,舒娟,史曉鳳等,基于C#的學生成績管理系統的設計與實現[J].隴東學院學報,2018,29(05);13-15.

猜你喜歡
作業功能方法
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
快來寫作業
關于非首都功能疏解的幾點思考
作業
故事大王(2016年7期)2016-09-22 17:30:08
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
我想要自由
主站蜘蛛池模板: 亚洲三级a| 亚洲第一黄片大全| 久久综合AV免费观看| 97影院午夜在线观看视频| 国产成人福利在线视老湿机| 中国精品自拍| 中文字幕调教一区二区视频| 手机精品视频在线观看免费| 欧美日韩国产精品综合| 亚洲A∨无码精品午夜在线观看| 成年人久久黄色网站| 真实国产精品vr专区| 国产精品伦视频观看免费| 亚洲日本中文字幕天堂网| 国产免费高清无需播放器| 91蝌蚪视频在线观看| 免费A级毛片无码免费视频| 日韩精品中文字幕一区三区| 国产99视频在线| 原味小视频在线www国产| 精品一区二区三区自慰喷水| 五月激激激综合网色播免费| 91精品国产情侣高潮露脸| 成人av手机在线观看| 又猛又黄又爽无遮挡的视频网站| 在线视频一区二区三区不卡| 国产理论精品| 在线视频亚洲欧美| 国产福利免费视频| 国产在线日本| 日本高清有码人妻| 亚洲无码视频一区二区三区| 看av免费毛片手机播放| 国产一在线观看| 日本高清视频在线www色| 国产一区二区三区精品欧美日韩| 成人看片欧美一区二区| 欧美午夜网| 国产成人福利在线| 天堂成人在线视频| 日本午夜三级| 日韩在线欧美在线| 亚洲精品日产AⅤ| 在线色国产| 中文字幕佐山爱一区二区免费| 55夜色66夜色国产精品视频| 欧美成人在线免费| 九九视频免费看| 国产成人综合久久精品下载| 精品偷拍一区二区| 亚洲国产综合第一精品小说| 国产一区二区三区夜色| 久久人人妻人人爽人人卡片av| 国产成人在线无码免费视频| 狠狠色狠狠综合久久| 亚洲天堂免费| 99热亚洲精品6码| 国产精品亚洲αv天堂无码| 99视频国产精品| 久操线在视频在线观看| www亚洲精品| h视频在线观看网站| 国产精品林美惠子在线播放| 国产麻豆永久视频| 激情综合网激情综合| 国产第一福利影院| 国产女人在线视频| 免费毛片a| 99视频在线看| 亚洲精品男人天堂| 色综合日本| 国产一在线观看| 国产欧美精品一区二区| 日韩无码视频网站| 日本精品中文字幕在线不卡| 亚洲中文字幕国产av| 亚洲免费福利视频| 91成人在线观看视频| 久久99这里精品8国产| 国产啪在线| 国产亚洲欧美日韩在线一区| 国产国产人免费视频成18|