- ベストアンサー
C言語でパスワード作成ツール
C言語で以下のプログラムを作らなくてはなりません。 どなたかご教授くださるようお願いいたします。 1 入力された値を階乗するプログラム <表示> 値を入力してください。 答え:XXXXX 2 パスワード作成ツール <使用方法> ./mypasswd [user ID][パスワード文字数] <機能> 下記の条件にあった任意の文字列を標準出力に返す。 条件1 引数[user ID]は必須 条件2 指定できる出力文字列は6,7,8文字のいずれかとする(省略可、デフォルト8文字) 条件3 出力もじる津を構成する文字列範囲はa~z、A~Z、0~9とする。 条件4 ユーザーアカウントに含まれる文字列を含まない。 条件5 英大文字を最低1文字含む。 条件6 英小文字を最低1文字含む。 条件7 数字を1文字含む。 <設計> 下記の関数を組み合わせる。 関数1 引数チェック関数(条件1、2) 関数2 ヘルプを表示する関数(条件1、2、の説明文を表示する) 関数3 時刻を種にした乱数を用いて、任意の1文字を返す関数 関数4 ある1文字が使用可能文字列に含まれるものかどうかを判断する関数(条件3) 関数5 ある1文字が、userIDに含まれるものかどうかを判断する関数(条件4) 関数6 関数3~5を利用して、パスワ-ドに使用することが出来る文字列を返す関数 関数7 関数6を利用し、条件5~7が考慮された文字列を返す関数 3 入力された計算式を計算するプログラムを作成 <機能> +-*/(括弧は使用しない)の組合せで小数も扱う。 敷の最大長は100文字までとする。 <表示> 計算式を入力してください。 答え:XXXXXXXXXX
- みんなの回答 (9)
- 専門家の回答
お礼
ご丁寧に分かりやすくご回答いただき、ありがとうございます。関数は大変参考になります。私はどの関数を使おうかと、いろいろな関数の仕様を調べながら、ノートに書いておいたのですが、hiromura様の関数の方が、とってもすっきりしていてすばらしいですね。私のほうは1つの条件をクリアする為に何個かの関数を組み合わせてしまったりして、あとで自分で読み直してみても、とてもややこしいく、読みづらいのです。プロの方が書くプログラムほど参考になるものはありませんね。ご回答いただいた関数を自分でもよく調べてみます。とても難しいですね。でも経験者の方にアドバイスしていただいたり、自分で調べたりして、問題が解決できれば最高にうれしいことですね。私も早く、このようなすばらしいプログラムが書けるようにがんばります。これからも何かありましたら、ご指導ください。よろしくお願い致します。