掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.27101

配列と構造体についてなんですが・・
投稿者---高志(2006/06/07 21:43:26)


個人データを格納する表を作成し,入力された番号に該当する個人データを表示するプログラムを作成せよ.
表は配列として定義する。
個人データは次のフィールドからなる構造体として定義する。
番号(文字列(数字列))
姓(文字列)
名前(文字列)
性別(数字) 0 男 1 女
生年月日(構造体)

生年月日の構造体
 年 数字
 月 数字
 日 数字
入力データは以下の形式からなるファイルから読み込む
 番号(文字列)
 姓(文字列)
 名前(文字列)
 性別(数字) 0 男 1 女
 年 数字
 月 数字
 日 数字
という内容でここまで作ってみたんですが・・
#include "stdafx.h"
#define N 3
int _tmain(int argc, _TCHAR* argv[])
{typedef struct
char 1,2,3; /*番号*/
char familyname[20]; /*性*/
char firstname[20]; /*名前*/
char sex; /*性別*/
} person_t;
person_t p1 = {"番号","familyname","firstname","sex",};
person_t p2 = {"番号","familyname","firstname","sex",};
person_t p3 = {"番号","familyname","firstname","sex",};

return 0;
まだ初心者な上身近に詳しい人もおらずどこが間違ってるかもわかりません・・どなたかここからどうすればいいか教えていただきたいのですが・



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:配列と構造体についてなんですが・・ 27105 KING・王 2006/06/08 00:14:35
<子記事> Re:配列と構造体についてなんですが・・ 27107 ラナルータ 2006/06/08 00:45:37
<子記事> 配列と構造体についてなんですが・・ 27122 高志 2006/06/08 19:32:59
<子記事> Re:配列と構造体についてなんですが・・ 27146 高志 2006/06/10 09:59:30


No.27105

Re:配列と構造体についてなんですが・・
投稿者---KING・王(2006/06/08 00:14:35)



>まだ初心者な上身近に詳しい人もおらずどこが間違ってるかもわかりません・・
とりあえず、構造体のメンバ変数の名前が不正です。
ここのHPの第2章でも読みましょう。
> http://www9.plala.or.jp/sgwr-t/c/sec02.html#s2-2

> どなたかここからどうすればいいか教えていただきたいのですが・
題意にしたがって、
(1)ファイルからデータを読み込む。
(2)番号を入力してもらう。
(3)入力された番号から、該当データを判別する。
(4)該当データを表示する。
のそれぞれを実装すればよいでしょう。




この投稿にコメントする

削除パスワード

No.27106

Re:配列と構造体についてなんですが・・
投稿者---高志(2006/06/08 00:24:48)



>とりあえず、構造体のメンバ変数の名前が不正です。
>ここのHPの第2章でも読みましょう。
>> http://www9.plala.or.jp/sgwr-t/c/sec02.html#s2-2
>
>> どなたかここからどうすればいいか教えていただきたいのですが・
>題意にしたがって、
>(1)ファイルからデータを読み込む。
>(2)番号を入力してもらう。
>(3)入力された番号から、該当データを判別する。
>(4)該当データを表示する。
>のそれぞれを実装すればよいでしょう。
わかりました!レスありがとうございます!
後は色々調べてできるだけ自分の力で頑張ってみます。



この投稿にコメントする

削除パスワード

No.27107

Re:配列と構造体についてなんですが・・
投稿者---ラナルータ(2006/06/08 00:45:37)


>個人データを格納する表を作成し,入力された番号に該当する個人データを表示するプログラムを作成せよ.
>表は配列として定義する。
>個人データは次のフィールドからなる構造体として定義する。
>番号(文字列(数字列))
>姓(文字列)
>名前(文字列)
>性別(数字) 0 男 1 女
>生年月日(構造体)
>
> 〜省略〜
>まだ初心者な上身近に詳しい人もおらずどこが間違ってるかもわかりません・・どなたかここからどうすればいいか教えていただきたいのですが・

こんばんはー
まず構造体の定義そのものが間違っています。
見たところ書式の定義を理解されていないようですね^^
構造体の定義のところを見て理解してください。
構造体の定義について上記の意味は下記のとおりになります。
なにが自分のコードと違うか見て理解することも大事だと思うのでにらめっこしてください。

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
void main()
{
// 生年月日の構造体
typedef struct{
int year; // 年
int month; // 月
int day; // 日
}Birthdate;

// 個人データ
typedef struct{
char number[9]; // 番号 8桁+NULL文字の1バイト
char sex; //  0 男 1 女
char name[33]; // とりあえず全角16文字(半角32文字)+NULL文字の1バイト
Birthdate birthdate;// 生年月日
}ManData;

// 変数定義の例
ManData a={"0000001",0,"愛上尾",{2000,1,1}};

// 変数にアクセスする例
// 書き換え前の表示
printf("性別:%d\n",a.sex);
printf("生年月日の年%d\n",a.birthdate.year);

// 書き換え例
a.sex = 1;
a.birthdate.year = 2006;
// 書き換え後の表示
printf("性別:%d\n",a.sex);
printf("生年月日の年%d\n",a.birthdate.year);
}




この投稿にコメントする

削除パスワード

No.27108

Re:配列と構造体についてなんですが・・
投稿者---高志(2006/06/08 00:52:05)



>こんばんはー
>まず構造体の定義そのものが間違っています。
>見たところ書式の定義を理解されていないようですね^^
>構造体の定義のところを見て理解してください。
>構造体の定義について上記の意味は下記のとおりになります。
>なにが自分のコードと違うか見て理解することも大事だと思うのでにらめっこしてください。
>
>#include "stdafx.h"
>#include <stdio.h>
>#include <string.h>
>void main()
>{
> // 生年月日の構造体
> typedef struct{
> int year; // 年
> int month; // 月
> int day; // 日
> }Birthdate;
>
> // 個人データ
> typedef struct{
> char number[9]; // 番号 8桁+NULL文字の1バイト
> char sex; //  0 男 1 女
> char name[33]; // とりあえず全角16文字(半角32文字)+NULL文字の1バイト
> Birthdate birthdate;// 生年月日
> }ManData;
>
> // 変数定義の例
> ManData a={"0000001",0,"愛上尾",{2000,1,1}};
>
> // 変数にアクセスする例
> // 書き換え前の表示
> printf("性別:%d\n",a.sex);
> printf("生年月日の年%d\n",a.birthdate.year);
>
> // 書き換え例
> a.sex = 1;
> a.birthdate.year = 2006;
> // 書き換え後の表示
> printf("性別:%d\n",a.sex);
> printf("生年月日の年%d\n",a.birthdate.year);
>}
ラナルータさんレスありがとうございます!
早く教わる側から教える側になれるよう頑張りたいと思います!
参考にさせていただきますね。




この投稿にコメントする

削除パスワード

No.27121

Re:配列と構造体についてなんですが・・
投稿者---kz3(2006/06/08 19:06:10)


質問とは関係ないところにつっこんですいません。
無駄な引用(使ってない引用)が多すぎてちょっと読むのが大変です...
全部引用する必要はないです。これみたいにね^^


この投稿にコメントする

削除パスワード

No.27122

配列と構造体についてなんですが・・
投稿者---高志(2006/06/08 19:32:59)


ラナルータさんのを参考にしてここまで作ってみましたがエラーが出てしまいました・・原因がよくわからないので教えていただけると助かります
#include "stdafx.h"
#include <stdio.h>
#include <string.h>

{int _tmain(int argc, _TCHAR* argv[])
 void main();
typedef struct{//生年月日の構造体
int year; // 年
int month; // 月
int day; // 日
}Birthdate;
Birthdate a={1986,5,21};
Birthdate b={1986,8,9};
Birthdate c={1986,2,17};

typedef struct{//個人データ
char number[9]; // 番号
char sex; //  0 男 1 女
char familiyname[33]; // 性名 
char firstname[33]; // 名前
Birthdate birthdate;// 生年月日
}ManData;

ManData d={"0522300",0,"菊池","英治",{1986,5,21}};
ManData e={"0522301",0,"相原","徹",{1986,8,9}};
ManData f={"0522302",0,"中尾","章",{1986,2,17}};

printf("番号%d,性別%d,姓名%d,名前%d,生年月日%d,%d,%d\n",d.number,d.sex,d.familyname,d.firstname,a.Birthdate;);
printf("番号%d,性別%d,姓名%d,名前%d,生年月日%d,%d,%d\n",e.number,e.sex,e.familyname,e.firstname,b.Birthdate;);
printf("番号%d,性別%d,姓名%d,名前%d,生年月日%d,%d,%d\n",f.number,f.sex,f.familyname,f.firstname,c.Birthdate;);

return 0;
}
エラー内容はこの二つです
cpp(8) : error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
cpp(9) : error C3872: '0x3000': この文字を識別子で使用することはできません
何がいけないのでしょうか?


この投稿にコメントする

削除パスワード

No.27123

Re:配列と構造体についてなんですが・・
投稿者---nop(2006/06/08 19:58:17)


>何がいけないのでしょうか?

エラーメッセージをよく読み、理解しようとしない事。


この投稿にコメントする

削除パスワード

No.27124

Re:配列と構造体についてなんですが・・
投稿者---kz3(2006/06/08 20:00:35)


チェックが足りないですよー。
[レ]題名と投稿者名は具体的に書きます
[  ]ソースの添付は「HTML変換ツール」で字下げします。
[  ]環境(OSとコンパイラ)や症状は具体的に詳しく書きます。

>ラナルータさんのを参考にしてここまで作ってみましたがエラーが出てしまいました・・原因がよくわからないので教えていただけると助かります

C言語じゃなくてC++言語じゃないですか?
あいにくC++は分からないのですが、

>{int _tmain(int argc, _TCHAR* argv[])
> void main();

これはおかしいような気がします。
ここのHPを参照するのはいいことですが言語が違うと変わってくることもありますです。



この投稿にコメントする

削除パスワード

No.27125

Re:配列と構造体についてなんですが・・
投稿者---高志(2006/06/08 20:14:20)


kz3さんありがとうございます。
>cpp(9) : error C3872: '0x3000': この文字を識別子で使用することはできません
のエラーは全角文字が途中にありましたので直したらOKでした。
私の使ってるのはC++でした・・詳しく書かなくてすみません・・
言語を色々変えてみますね。
nopさんもわざわざレスどうもです。
もっと勉強したり、プログラムを弄り回してもわからなかった時に載せるように注意します。


この投稿にコメントする

削除パスワード

No.27146

Re:配列と構造体についてなんですが・・
投稿者---高志(2006/06/10 09:59:30)


たびたびすみません!プログラムはある程度完成して後はコマンドプロンプトの画面で番号を入力したときにその番号に対応した個人情報データをファイルから読み込んで表示されるようにしたいのですが、どこにファイルをつくり、それを読み込むためのプログラムの作り方がいまいちわかりません・・
入力データは以下の形式からなるファイルから読み込む
 番号(文字列)
 姓(文字列)
 名前(文字列)
 性別(数字) 0 男 1 女
 年 数字
 月 数字
 日 数字
という内容でファイルをつくりよみこませたいのですが・・
わかる方がいらっしゃいましたらお教え願えませんか?


この投稿にコメントする

削除パスワード

No.27148

Re:配列と構造体についてなんですが・・
投稿者---shu(2006/06/10 11:57:48)


>プログラムはある程度完成して後はコマンドプロンプトの画面で番号を入力したときにその番号に対応した個人情報データをファイルから読み込んで表示されるようにしたいのですが、

ある程度がどの程度か判断できません。
もう少しで完成のするように書かれていますが、ほとんど出来ていない状態です。

以前の質問でのプログラムと、今回のプログラムとでは、問題が違います。



この投稿にコメントする

削除パスワード

No.27150

Re:配列と構造体についてなんですが・・
投稿者---kz3(2006/06/10 12:34:14)


>コマンドプロンプトの画面で番号を入力したときに
>その番号に対応した個人情報データをファイルから読み込んで表示されるようにしたい

最初に全員の個人情報データをファイルから読み込み、
入力した番号をキーに検索して個人情報データを取得する。
# 一度に全員じゃなくて何人かづつに分けても可( ファイルのフォーマット次第 )

>どこにファイルをつくり、それを読み込むためのプログラムの作り方がいまいちわかりません・・

言ってることが良く分かりません。
多分、プログラム中で初期化したデータの表示などはうまく出来たから、
ファイルの入出力でデータを読み書きするってことでしょうか?

ファイルの入出力が分からなければ、
まずは単純なデータ(単一データ:intとか)でファイル操作を勉強するといいと思います。



この投稿にコメントする

削除パスワード

No.27151

Re:配列と構造体についてなんですが・・
投稿者---高志(2006/06/10 19:10:54)


>言ってることが良く分かりません。
多分、プログラム中で初期化したデータの表示などはうまく出来たから、
ファイルの入出力でデータを読み書きするってことでしょうか?

>ファイルの入出力が分からなければ、
まずは単純なデータ(単一データ:intとか)でファイル操作を勉強するといいと思います。</pre>
遅くなってすみません!レスありがとうございます!
ただ単純に番組や名前を読み込んで表示させるプログラムを作るにはどうしたらいいか?という事なんですが・・


この投稿にコメントする

削除パスワード

No.27152

Re:配列と構造体についてなんですが・・
投稿者---Ceed(2006/06/11 01:26:42)


>ただ単純に番組や名前を読み込んで表示させるプログラムを作るにはどうしたらいいか?という事なんですが・・

毎回質問内容が違うように思いますが、自分が何を作りたいのかすら
わかっていないのではないでしょうか。
なにが「ただ単純に」なんだか。。。



この投稿にコメントする

削除パスワード

No.27160

Re:配列と構造体についてなんですが・・
投稿者---acid(2006/06/12 09:07:07)


じゃあ、ただ単純に「どこにファイルをつくり、それを読み込むためのプログラムの作り方」だけ答えてみよう。
ファイルは大抵exeと同じ作業フォルダに作ればOK。
フォーマットは分かっているようなので、何を書くかは聞かないように。

で、fopenでファイルを開いて、fgetsで読み込んで、最後fcloseで閉じる。
読み込んだ文字列はstrcmpやらstrncmpやらstrstrで解析する。
それぞれやり方は自分で調べましょう。
この程度、聞いたって誰も答えてくれませんよ。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧