問題描述
一個比較安全的密碼至少應該滿足下面兩個條件:
(1)密碼長度大於等於8,且不要超過16。
(2)密碼中的字符應該來自下面“字符類別”中四組中的至少三組。這四個字符類別分別爲:
大寫字母:A,B,C...Z;
小寫字母:a,b,c...z;
數字:0,1,2...9;
特殊符號:~,!,@,#,$,%,^;
給你一個密碼,你的任務就是判斷它是不是一個安全的密碼;並且對於不安全的密碼,在其基礎上給出一個建議的安全密碼。
實現參數分析
C語言課程設計的關鍵是儘量多地使用課程知識,而不能僅僅侷限於實現基本功能,仔細分析設計參數,其實實現起來也是比較容易的。
(1)順序、循環、分支語句:這個很容易實現,只要是程序,都有,這個指標很“水”
(2)數組:輸入的密碼數據是一個字符串,因此可以直接使用一維數組,但是要注意數組上界
(3)函數:基礎的IPO,一定會有3個以上的函數,友好的菜單是一個函數,主函數不能算在內
(4)指針:指針可以用來取代字符數組保存密碼數據,即使用char *+malloc()的方式,而不是char [MAXSIZE]的方式,這樣做不會影響數組指標的實現,因爲判斷特殊符號的時候仍然可以用數組。另一個使用指針的地方是用指針做函數的參數,實現間接賦值。
(5)結構體:可以把輸入的密碼、密碼中的大寫字母、小寫字母、數字、特殊符號個數封裝成一個結構體,這樣在參數傳遞的時候比較簡單。
(6)文件:這個其實也是一個很“水”的指標,只要輸入和輸出分離成了函數,只要加上打開文件、關閉文件就可以將數據的輸入輸出切換到文件。
細節討論
(1)只要用了數組,就存在MAXSIZE的問題,所以一定要說明MAXSIZE的設置理由,另外,由於字符串在輸入的時候可以合理越界,對於超過MAXSIZE的字符串,也要有相應的處理。
(2)只要用了結構體,那麼結構體的成員就需要說明,是文字性的分析,而不能僅僅給出結構體定義,順帶可以吹吹使用結構體的好處什麼的。
(3)只要使用了文件,文件格式就必須要說明
(4)如果是不安全的密碼,需要推薦一個安全密碼,按怎樣的方式推薦要說明
(5)另外,作爲課程設計,流程圖是必不可少的,主流程圖是一個,分析密碼的算一個,推薦密碼算一個
參考設計
參考設計主要是儘量覆蓋課程設計的各個指標,本身不難,下載是要資源分的,強烈建議自己能寫出來就不要下載。點擊打開鏈接