-3

如何使用结构进行线性搜索?

我们被给予

typedef struct {
    int month;
    int day;
    int year;
} date;

typedef struct {
    int hour;
    int minute;
} time;

typedef struct {
    char name[SIZE];
    char bloodtype[BLOODTYPESIZE];
} patient;

然后我们得到一个包含名称和血型的输入文件:

Joe_Smith A- 12/13/2010 10:45
Anabell_Brown O+ 10/10/2012 13:10
Regina_White A- 1/13/2008 19:29

1个-

基本上,我们必须通过姓名和血型进行线性搜索,并根据谁首先添加到列表中来查看与 A- 匹配的内容

我试图弄清楚如何根据带有空格的名称进行线性搜索,然后是血型,然后是另一个空格,然后是时间。任何提示都会有所帮助!这可能是一个简单的问题,但自从我不得不用 C 编写代码以来已经有好几年了。谢谢!

4

1 回答 1

0

你有更多的要求吗?您说“我们得到了”一组 typedef 声明和一些输入。根据您所说,您必须将数据加载到适当类型的数组中,然后搜索数组。

鉴于上述 typedef,date[50] 将声明一个包含 50 个日期结构的数组,然后可以从输入中填充(date.month = month; date.year = year; date.day = day;),依此类推剩余的数据。你的线性搜索就像

int i = 0;
while ( i < numberOfRecords ) {
    if ( Patient[i].bloodtype == "A-" ) {
     // found a match
   }
}
于 2013-09-04T01:06:23.640 回答