No.3ベストアンサー
- 回答日時:
#1です。
>名前、社員番号で1つの要素をつくり、その集合(配?)から検索したいのですが、配列で考えて良いのでしょうか?
その通りです。例えば以下のようにします。
1つの要素として、例えば以下の様な構造体を作成します。
typedef struct _tSHAIN {
char name[100]; /*名前*/
int shain_bango; /*社員番号*/
char denwa_bango[20]; /*電話番号:*/
} SHAIN;
社員番号は数字であるとします。
SHAINtbl[100]; /* 100人分の社員テーブル*/
tbl[n].shain_bango (nは0~99の何れかの値)でテーブル中の社員
を参照できます。
例えば、このテーブルに先頭から20件まで、
データが入っていて、画面から入力された社員番号が
このテーブルにあるかどうかを検索するには、
以下のようにします。
int i;
int shain_in; /* 社員番号*/
shainに入力データをセット
for (i=0;i<20;i++){
if (shain==tbl[i].shain_bango){
社員番号が見つかった時の処理
break; /* forのループを抜ける*/
}
}
if (i==20){
見つからなかったの処理
}
No.2
- 回答日時:
社員番号から名前や電話番号を検索する関数とのことですが、この場合検索は二分探索を使ったほうが効率は良いと思います。
ただし、登録を行った後データを、社員番号で昇順または降順にする必要があります。プログラム的には修正もできる関数も作ったほうが良いと思われます。
また、検索をする場合scanfは控えたほうが良いです。テストプログラムなら良いですが。
fgets等が妥当でしょう。
No.1
- 回答日時:
本件、C言語(又はC++)の練習問題と考えて良いのでしょうか。
上記の前提で、話を進めます。
1.最大100個の要素を持ったテーブルを作成します。
(社員名簿のテーブル)
2.1つの要素は、名前、社員番号、電話番号から構成されるものとします。
3.画面から、名前、社員番号、電話番号を入力します。
このデータをテーブルへ順に先頭から格納します。この処理は、最大100回繰り返しを行えるようにします。
4.データの入力完了後、社員番号を画面から入力します。入力された社員を、テーブルの先頭から順に検索し、一致した社員番号存在すれば、それを表示します。この処理は、何回でも行えるようにします。
上記のようなプログラムを作成してください。
この回答への補足
回答ありがとうございました。名前、社員番号で1つの要素をつくり、その集合(配列?)から検索したいのですが、配列で考えて良いのでしょうか?その点が分かりません。テーブルの作成はまだ出てきていませんので、他の方法で考えたいと思います。
補足日時:2004/01/28 13:41お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 名簿 検索する関数 3 2023/07/25 10:33
- 法人税 電子帳簿保存法について 1 2022/04/07 11:17
- Excel(エクセル) Excel 本人の名前だけが入った表を印刷したい。 3 2023/05/10 11:38
- 大学受験 個人情報のあり方 7 2022/03/24 16:41
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(Microsoft Office) EXCELの1行を1枚の用紙にそれぞれ印刷したい。 3 2022/10/10 11:35
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(スマートフォン・携帯電話・VR) 知らない番号からの電話。先程19時半頃に携帯が鳴りました、見たら知らない080から始まる番号でした。 6 2022/06/06 19:41
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- 会社・職場 Excel、Googleスプレッドシートなどへのデータ入力 2 2023/07/06 05:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データがあれば○○なければのSQL
-
重複した複数のレコードを1レ...
-
ACCESSのクエリ、SQLに変数を使...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
access追加クエリーでform入力...
-
オートナンバー型の数字を振り...
-
ACCESS VBAでテーブル内の特定...
-
ACCESSで実行時エラー3008
-
【access】複数のフィールドの...
-
抽出条件でデータ型が一致しま...
-
もしかして
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
CloseとDisposeの違い
-
VBAでループ内で使う変数名を可...
-
エクセルVBAで、MsgBox やInput...
-
Do~Loopした回数をカウントしたい
-
switch の範囲指定
-
VBAでセルに値が入力されるまで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
【access】複数のフィールドの...
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
Accessで縦と横を入れ替えたい
-
VBAでテーブル名とカラム名を動...
-
DataGridViewで複数条件の抽出...
-
Access から Excelのシートをイ...
-
重複した複数のレコードを1レ...
-
DAOでSQLServerに接続し、LeftJ...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
sql文で削除クエリを書く
-
別のaccessファイルからデータ...
-
access追加クエリーでform入力...
-
抽出条件でデータ型が一致しま...
-
【PHP/MySQL】コード上で生成...
-
Accessリンクするテーブルが見...
-
ACCESSで購入回数を表示する方...
おすすめ情報