c语言代码 * 函数名称:findBookByID * 函数功能:按书号检索图书 * 形式参数:p,book型指针,book型一维数组首地址 * 形式参数:num,int型,图书数量 * 形式参数:id,int型,书号 * 返 回 值:返回book型指针。若没有找到图书,则返回空指针NULL;否则,仅返回第1本符合检索条件的图书
时间: 2024-03-24 09:39:07 浏览: 100
好的,下面是一份实现这个函数的C语言代码:
```c
#include <stdio.h>
typedef struct {
int bookID;
char bookName[50];
char author[50];
float price;
} book;
book* findBookByID(book* p, int num, int id) {
for (int i = 0; i < num; i++) {
if (p[i].bookID == id) {
return &p[i];
}
}
return NULL;
}
int main() {
book books[3] = {
{101, "C Programming", "John Doe", 29.99},
{102, "Data Structures", "Jane Smith", 39.99},
{103, "Algorithms", "Bob Johnson", 49.99}
};
book* p = findBookByID(books, 3, 101);
if (p != NULL) {
printf("Book Found: %s\n", p->bookName);
} else {
printf("Book Not Found\n");
}
return 0;
}
```
这个代码定义了一个book结构体,其中包括书号、书名、作者和价格等信息。函数findBookByID接受一个指向book类型数组的指针p,图书数量num和书号id作为形式参数。它使用一个for循环遍历整个数组,查找与书号id匹配的图书。如果找到了,它返回这本书的指针;否则,它返回空指针NULL。在主函数中,我们创建了一个包含三本书的数组,并使用findBookByID函数来查找书号为101的书。如果找到了,我们将打印出书名;否则,我们将打印出“Book Not Found”。
阅读全文