07/11/26 19:44:50
1] 授業単元: プログラミング言語
[2] 問題文:与えられた数字文字列を数値(int型)へ変換する関数 AsciiToIntを、ポインタを使用して作成せよ。
さらに、この関数を使用し、入力された文字列が実際に数値変換されたことを確認するプログラムを作成せよ。
引数 char *s 文字列のポインタ int *value 変換結果
戻り値 : 結果
文字列が空または8桁以上の場合はエラー値を返す。
文字列が数値に変換できない場合はエラー値を返す。
処理手順
文字列が空または8桁以上の場合はエラー値を返す。
先頭の文字列が符号+/-の場合、それを取り除いた文字列をチェック対象とする。
文字列の桁数を取得。
文字列を読み込んで、以下の処理を行う。
先頭文字列が+/-の場合は、符号情報を保持しておく。また、桁数が1の場合は、エラー値を返す。
ASCIIコードを使用し文字列をチェックし、数値以外であった場合はエラー値を返す。
取得した入力文字列の桁数、読み込んだ数値とその桁数より、数値計算を行う。
計算した結果を合計値に加算する。
入力値がマイナスであった場合、合計値に符号を付加する。
合計値を返す。場合は、エラー値を返す。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C言語
[4] 期限: 11/27
[5] その他の制限:なし