C/C++の宿題片付けます 130代目

このエントリーをはてなブックマークに追加
926770
以前回答いただいた課題の発展課題です。よろしくお願いします。
以前の回答は>>841にあります。以前の問題文は>>770を参照してください。
ただし>>770の分類には全角英数が抜けています。
[1] 授業単元:プログラミング演習2
[2] 問題文(含コード&リンク):
前回の課題の分類の結果「半角英数:XX字、半角カナ:XX字・・・」
という結果が得られたとき、その結果のファイルを読み込み
各分類からその結果の比率に合わせてランダムに文字列を出力する
プログラムを作成せよ。出力する文字数は解析に用いた文字の合計である。
(例えば半角英数が全体の60%だった場合、出力される文字列の中にランダムに半角英数文字が60%の割合で含まれることになる)
分類は以下の通りとする。
1.半角英数
2.半角カナ
3.半角記号
4.全角英数
5.全角かな
6.全角記号
7.漢字

[3] 環境
 [3.1] OS:Windows XP
 [3.2] Visual Studio 2008
 [3.3] どちらでも可
[4] 期限: 2009年10月16日 正午迄
[5] その他の制限:
前回回答者の方が文字コード表としてJIS X 0208を
利用されていますので、それに沿っていただけると幸いです。
前回のような文字列のテキストファイルを読み込む入力部を作る必要はなく、
入力は「半角英数:XX字、半角カナ:XX字・・・」というものでよいそうです。
コード内にコメントで使用した文字コードを注釈として記載するようにとの連絡がありました。
それ以外は特にありません。
よろしくお願いいたします。