構造体とfgets()
Posted: 2011年7月05日(火) 01:16
name(名前: char型配列), height(身長: float型変数), bloodType(血液型: char型変数)をメンバに持つ構造体を宣言し, 128名分が記憶可能になるようその構造体の配列を定義せよ. また,その配列に対して値を入力し,さらに表示できるようにせよ. 構造体のメンバ値を表示するには、 ひとつの構造体の各メンバの値を表示する関数を作成すること。
% ./bodyData
1人目のデータ: 立命太郎 175.5 A
2人目のデータ: 野路花子 169.0 B
3人目のデータ: 衣笠一郎 180.4 O
4人目のデータ: 0 0 0 ← 0 0 0 と入力すると終わる.
名前 身長 血液型
立命太郎 175.5 A
野路花子 169.0 B
衣笠一郎 180.4 O
%
ヒント: 各人の名前、身長、血液型のデータを1行で入力するためには、参 考11.7に示されたfgets()関数で、これらを1度に取り込 み、最初の空白までを名前とみなし、次の空白までを身長とみなし、次に改行ま でを血液型をみなせばよい。これらを別々の文字列として、必要に応じて整数や 浮動小数点数に変換し、構造体のメンバに設定すること。
ヒント: ひとつの構造体の各メンバの値を表示する関数に構造体を引渡す ことを繰り返えせばよい。
これの入力のところがさっぱりわからないのですが誰かおしえてもらえますか?
% ./bodyData
1人目のデータ: 立命太郎 175.5 A
2人目のデータ: 野路花子 169.0 B
3人目のデータ: 衣笠一郎 180.4 O
4人目のデータ: 0 0 0 ← 0 0 0 と入力すると終わる.
名前 身長 血液型
立命太郎 175.5 A
野路花子 169.0 B
衣笠一郎 180.4 O
%
ヒント: 各人の名前、身長、血液型のデータを1行で入力するためには、参 考11.7に示されたfgets()関数で、これらを1度に取り込 み、最初の空白までを名前とみなし、次の空白までを身長とみなし、次に改行ま でを血液型をみなせばよい。これらを別々の文字列として、必要に応じて整数や 浮動小数点数に変換し、構造体のメンバに設定すること。
ヒント: ひとつの構造体の各メンバの値を表示する関数に構造体を引渡す ことを繰り返えせばよい。
これの入力のところがさっぱりわからないのですが誰かおしえてもらえますか?