952 :
デフォルトの名無しさん:03/08/05 21:19
>>949さん
>>950さん
>>951さん
>>952さん
>>953さん
ありがとうございました。
いろいろなサイトに回ったり、家にあった本などの索引など利用して
どうにかできました。
結局strcmp()使って解決しました!
知らないいろいろなキーワードからいろいろな世界が広がりました!
ためになることなど知れたので、ありがとうございました!
955 :
デフォルトの名無しさん:03/08/05 23:02
任意の文字(アルファベト)を発生する関数ってなんか
ありましたか?
956 :
デフォルトの名無しさん:03/08/05 23:05
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ )(^ё ^)<これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄ ̄ ̄〕
= ◎――――――――◎ 山崎渉&ぼるじょあ&みんちぇ
>>955 よくわからん。
ランダムにアルファベットを発生させたいのか?
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[(int)((double)rand() / ((double)RAND_MAX + 1) * 52)];
こうか?
C言語の場合は、
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[rand()%52];
が普通かな。
そうでもないよ
アスキーコードから呼び出すってことはできないの?
どういう意味?
Aのコードは41でZは5a
aのコードは61でzは7a
41〜5a、61〜7aの乱数が作れれば、アスキーコード→英文字に変換→ランダムで英語の表示
みたいなことはできないのでしょうか?
英語の表示?
char ch = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[(int)((double)rand() / ((double)RAND_MAX + 1) * 52)];
の代わりに、
int tmp = (double)rand() / ((double)RAND_MAX + 1) * 52;
char ch = tmp >= 26 ? 'a' + tmp - 26 : 'A' + tmp;
としたいということかな?
複数文字出力したいならこれをループさせればいい。
表示じゃなくて発生ですね
>>967 多分そんな感じです
ありがとうございましたm(_ _)m
970 :
デフォルトの名無しさん:03/08/06 05:39
わからないので教えてください
again:
printf("big(1),reg(2),end(3)を入力しEnterを押してください(半角で入力)\n");
scanf("%d",&s);
if(s!=1&&s!=2&&s!=3){
printf("1,2,3のいずれかを押してください!\n");
}
switch(s){
case 1:
case 2:
case 3:
}
goto again;
こんな感じになってるんですが、1,2,3を押したときはもちろん、4,5など数字を押すとちゃんと働くのですが、
aとかbとか打つと永遠にループしてうまく働いてくれません。
どうしてなのでしょう?
>>970 scanf が永遠に数字を探し続けるから。
972 :
デフォルトの名無しさん:03/08/06 05:52
どうすればいいのでしょう??
あとなぜアルファベットが押されたときにだけバグるのでしょう?
教えてください!M(__)M
エラーの回復など面倒なことせずにここでexitしなさい
if(s!=1&&s!=2&&s!=3){
printf("1,2,3のいずれかを押してください!\n");
}
974 :
デフォルトの名無しさん:03/08/06 06:04
とりあえずそうします・・。
どうにかして回復させる方法はないものでしょうか???
簡単に言うと
WHILE INKEY$<>"" : WEND
だな
976 :
デフォルトの名無しさん:03/08/06 06:12
>>975 どうもっす。もっと勉強します(何かいてあるのか分からないから(^_^;))
それって割り込みとかですか??
BASICなんだが…
>>976 俺もそのゴミ捨て方法の決定版は知らん
とりあえずscanfの戻り値をチェックして正しく
変換されたかどうかを見る。次にstdinがEOFでなければ
ゴミ捨てだが、見たことがあるのはfflush(stdin) (未定義っぽい)
rewind(stdin) (うまく行く理由が特にない)とかで俺の使っている
処理系では確かにこれでできるのだがいまいち納得がいかない。
scanf("%*s")とかでどうなんだろう。
詳しい人よろしく
皆さん勉強になりますM(__)M
ありがとうございました、もう少し勉強してみます!
結局、
scanf("%s",&f);
s=atoi(f);
でバグらくなりました。
>>982 scanf("%d",&d); でゼロが帰ってきたら他のものが入ってるってことになる。
scanf("%s",&s); しとけば、%dでとれなかった文字列がとれる。
そしてバッファオーバーラン。
うんち
uma-
ume-
なんかエラーが厳しいぞ
カウントダウン開始
10
9
8
7
8
6
9
7
0
1000!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。