初心者の質問ですが、よろしくお願いします。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
c#超初心者の中学生

初心者の質問ですが、よろしくお願いします。

#1

投稿記事 by c#超初心者の中学生 » 14年前

はじめまして。c#超初心者の中学生と申します。
先日、「C言語のe本」という、初心者向けの本を買い、gccというコンパイラをダウンロードして、ぼちぼちやっていました。それのp187,188に載ってる以下のソースコードを打ち込んでコンパイルしましたが、コマンドプロントにMyC203.c:20:11: error: in 'structMySruct' no member named 'name' is.と、何回やっても表示されるのでここに質問しました。なにとぞよろしくお願いします。
これが問題のソースコードです。
/* MyC203.c */
#include <stdio.h>
#include <string.h>

struct MyStruct {
int taijyu;
int sincho;
char namae[10];
};

int main(void)
{
int i;
struct MyStruct s;

i = 0;

s.taijyu = 20;
s.sincho = 120;
strcpy(s.name, "A0");

printf("A[%d]さん\n", i);
printf("名前:%s\n", s.namae);
printf("体重:%dで身長:%d\n", s.taijyu, s.sincho);

return 0;
}

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 初心者の質問ですが、よろしくお願いします。

#2

投稿記事 by h2so5 » 14年前

そのエラーは、
「構造体structMySructにはnameという名前のメンバは存在しません」という意味です。

構造体structMySructが持っているメンバは、
taijyu
sincho
namae
の3つです

どこかに間違ってnameと書いてないか確認してください。

たいちう
記事: 418
登録日時: 14年前

Re: 初心者の質問ですが、よろしくお願いします。

#3

投稿記事 by たいちう » 14年前

> char namae[10];
> strcpy(s.name, "A0");

nameとnamaeの違いです。
中学生じゃ難しいかもしれないけれど、
コンパイルエラーのメッセージも同じ指摘をしています。

c#超初心者の中学生

Re: 初心者の質問ですが、よろしくお願いします。

#4

投稿記事 by c#超初心者の中学生 » 14年前

皆様、回答していただきありがとうございました。
テキストには、20行目のところは、nameと書けって書いてありました。
今度クレームしに行ってきます。

たいちう
記事: 418
登録日時: 14年前

Re: 初心者の質問ですが、よろしくお願いします。

#5

投稿記事 by たいちう » 14年前

> 今度クレームしに行ってきます。

社会勉強にはなるかもしれないけどお勧めできません。
世の中に完璧な物などありません。
誰でも間違いを犯すように、どんな本にも間違いはありえます。
不完全な、場合によっては恣意的な嘘を含んだ情報の中から、
自分に必要な情報を選択して学習しないといけません。

小学校から高校までの教科書などは、莫大な費用をかけて校正し、
殆ど誤字・脱字のない例外と考えて下さい。
(記載すべき内容が正しいかという事については反論も多いです)
普通の本でそれをやってしまうと高くなりすぎて誰も買いません。


と、書きながら思い出しましたが、私も昔クレームの電話をしました。
あまりにも間違いの多い入門書は有害である、というような事を言ったと思います。
数カ月後に間違いの少し減った第2版が送られてきました。

1つや2つの間違いで大騒ぎすることもないと思いますので、
間違い探しのつもりで5つ見つけてみてはどうでしょうか?
5つという数字に特に意味はありませんが、出版社の立場を想像すると、
「間違いの指摘はありがたいけど、1つ見つけるたびに電話されたら
正直言って対応が面倒」ということです。

出版社のWebサイトに正誤表がありました。
http://www.shuwasystem.co.jp/books/7980 ... 542-8.html
これに載っていない物で5つ探しましょう。
(nameとnamaeについては載っていません)

九位

Re: 初心者の質問ですが、よろしくお願いします。

#6

投稿記事 by 九位 » 14年前

あと余計なお世話かもしれないが、一言。

今回の問題然りだが、構造体と変数の理解ができていればわかったと思うぞ
(たぶんいきなり説明なしに構造体とか使かっていたなら別だが)

丸写しして動いても、その記述の理由が理解できないと意味ないぞ

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 初心者の質問ですが、よろしくお願いします。

#7

投稿記事 by softya(ソフト屋) » 14年前

これも余計なおせっかいですが、C言語とは別にC#という言語があるので「c#超初心者の中学生」と書くと別の言語の質問にみえてしまいますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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