整数値を数字文字に変換

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
こんぺいとう

整数値を数字文字に変換

#1

投稿記事 by こんぺいとう » 16年前

int no;

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

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

non

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

#2

投稿記事 by non » 16年前

>int no;
>scanf("%d", &no); // 生徒番号を入力

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

toyo

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

#3

投稿記事 by toyo » 16年前

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

こんぺいとう

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

#4

投稿記事 by こんぺいとう » 16年前

すいません、初歩的なことでした。

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

閉鎖

“C言語何でも質問掲示板” へ戻る