リスト構造の検索が全くわかりません。
アドレス帳の検索機能だけのプログラムを作っています。
作りたいプログラムは、
1,検索したい人の名前を入力する
2,事前に登録された情報の中から部分一致検索する
3,部分一致検索で該当した人のメールアドレス、氏名、グループの番号、IDを該当した人数分表示する
というものです。
下のプログラムが、リストの構造に従っていないと言われたのですが、どこをどう変えればいいのかわかりません。
どう変えればリスト構造に従ったものになるのか教えてください。
ちなみに、これをコンパイルした時はエラーは出ませんでした。
.#include <stdio.h>
.#include <stdlib.h>
.#include <string.h>
.#define BUFSIZE 128
.#define DATASIZE 1000
struct data {
char mail[256]; //メールアドレス
char name[256]; //氏名
int number; //グループの番号
int ID; //登録された人のID
struct data *next;
};
struct data ad[DATASIZE];
int main(struct data *ap, int cnt){
char buf[BUFSIZE]; //検索する名前を格納
int j = 0;
int count = 0; //検索で該当した人数
struct data *t = ap;
char b[256], *p, *q, *r; //部分一致検索で使用
printf("名前で検索します\n名前を入力してください:"); fgets(imput, sizeof buf, stdin); while(j++ < cnt){ printf("%sを部分一致検索します\n", buf); for(p = buf; (q = strstr(p, b)) != NULL; p = r) { r = strchr(q, ' '); while (q[-1] != ' ') q--; } t++; continue; printf("%d メールアドレス:%s\n氏名:%s\nnumber:%d\nID:%d\n", j, t->mail, t->name, t->number, t->ID); t++; count++; } printf("%d件見つかりました。\n", count); return cnt;
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/14 06:10