みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

charを使わずに4桁の数字以外を入力したらエラーを表示したいです

http://oshiete1.goo.ne.jp/qa4515709.html

上記の質問の続きとなります。

C言語で4桁の数字を入力させ、4桁の数字以外が入力されたらエラーを表示し、
4桁の数字が入力されたら、各位の数についていくつかの計算を行いたいです。

回答者の方のアドバイスから、文字列として入力し、字数をstrlenで、各桁の数をisdigitで判別するという方法を教えていただき、
4桁の数字以外が入力されたらエラーを表示することはできましたが、そうすると今度は計算がうまくいかなくなってしまいました。

例えば文字列としてscanf("%s",a);のようにして「1234」という文字列を入力し、これを「1234」という数値として扱うことはできませんか?

または、strlen,isdigitを使わずに数値が4桁の整数であるかどうかを判別することはできませんか?

もし良い方法をご存知の方いましたら、解説をお願いします。

投稿日時 - 2008-11-29 14:40:10

QNo.4516234

すぐに回答ほしいです

質問者が選んだベストアンサー

>例えば文字列としてscanf("%s",a);のようにして「1234」という文字列を入力し、これを「1234」という数値として扱うことはできませんか?

atoiという標準関数について調べてください。

>strlen,isdigitを使わずに数値が4桁の整数であるかどうかを判別することはできませんか?

入力は文字列としてですか?
それとも、最初から数値としてですか?

投稿日時 - 2008-11-29 15:08:37

補足

数値としてでお願いします。

投稿日時 - 2008-11-29 15:16:23

お礼

atoi関数を用いたらできました。
ありがとうございました。

投稿日時 - 2008-11-29 15:25:13

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問