ページ 11

整数値を数字文字に変換

Posted: 2009年7月27日(月) 07:45
by こんぺいとう
int no;

scanf("%d", &no); // 生徒番号を入力
chechno(no);  
:
:
int chechno(int no) // 生徒番号が数字以外入力されていないかチェック
{
 :
 :
}

生徒番号を入力して、その番号が数字以外が入力されていないか、チェックする関数を作ろうと思ったのですが、noをcheckno関数に渡したものの、そのあとをどうすればいいのか分かりません。
そのnoを配列に入れて、一文字ずつ走査して、isdigit関数を用いてチェックしようと思ったのですが、
noの値をどのようにしたら、配列に入れることができるのですか?

Re:整数値を数字文字に変換

Posted: 2009年7月27日(月) 08:38
by non
>int no;
>scanf("%d", &no); // 生徒番号を入力

int型で入力したのだから、数字以外は元々、入力されていません。
何を、したいのかもう少し、具体的に示してください。
例えば、生徒番号に規則があるとか、範囲があるとか。

Re:整数値を数字文字に変換

Posted: 2009年7月27日(月) 08:52
by toyo
scanf("%d", &no);
に"123abc"入力したら数字部分の123のみnoに入ります
"abc123"と入力したらnoには何も入らなくscanfが0を返します
scanf( )で%d使った時点で数字のみ入力されています
自分でチェックしたいならfgets( )やscanf("%s", ~)で文字列として読み込んだらいいでしょう

Re:整数値を数字文字に変換

Posted: 2009年7月27日(月) 10:15
by こんぺいとう
すいません、初歩的なことでした。

わざわざ関数作る必要なかったです。