[OSASK 5458] BOARD: Re: Re: OSASK アプリ作ってみました

このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい
http://www.imasy.org/~mone/osask/index.cgi?REFER=3df07c33_e84b

2002/12/06 19:30
くーみん

くーみんです。
[OSASK 5455] BOARD: Re: OSASK アプリ作ってみました
へのレス

とりあえず、LuckyNumのソース内容に対してです。
char s[1];と定義しておいて
s[0] = '\0';
まではいいですが、setdec3で
j = 1;
途中略
s[j--] = (i % 10) + '0';
はおかしいですね。
char s[1];
はs[0]のみです。
char s[2];
と宣言すれば…
s[0]とs[1]が確保されます。
そして、今回のプログラムでは、そもそもsetdecを使うまでもありません。

char s[2];
s[0] = '0' + rand() % 10;
s[1] = '\0';
ですみます。
したのレスの内容が合っているとすれば
s[0] = '0' + rand() % 10;
を
i = rand() % 10;
s[0] = '0' + i;
にすればいいとおもいます。

以下は、記事へのレス内容。
>ラッキーカラーで早速壁にぶち当たってしまいました…。
>文字列変数を、数値型変数に変えたいのですが、
>どうすればよいでしょうか?

ちょっと意味が分かりません。
変換して数値型変数に変えたなら、変える前を保存しておけばいいでしょう。
まぁ、何らかの理由で必要なら
原理的には、数値>文字の逆をすればいいのです。
LuckyNumを改造していて、必要なら、上のとおりですが

そして、関数の中身として
0-9以外を0にする判定をして、
luckynumのsetdec3という関数を変換して逆をすればいいでしょう。
stdlib.hにatoiという関数が用意されています。
が、小規模なプログラムなら、必要無いですね。

なにかあれば、またレスを下さい。


ML番号でジャンプ
ML単語検索