安全密碼

問題描述

    一個比較安全的密碼至少應該滿足下面兩個條件:

    (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)另外,作爲課程設計,流程圖是必不可少的,主流程圖是一個,分析密碼的算一個,推薦密碼算一個


參考設計

    參考設計主要是儘量覆蓋課程設計的各個指標,本身不難,下載是要資源分的,強烈建議自己能寫出來就不要下載。點擊打開鏈接











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章