设计一个记录书籍的结构,其成员包括书号、书名、作者、出版社和出版日期。假设一批书籍的记录存放在一个单向链表中,编写程序输出与给定作者姓名相匹配的所有书籍的记录。给定5种书籍信息如下:
Number: 1 2 3 4 5
Name: b1 b2 b3 b4 b5
Author: a1 a2 a2 a3 a3
Press: gfkd gfkd tsinghua tsinghua gfkd
Publication Date: 20150127 20150125 20140122 20130523 20150602
输入格式
第一步:输入以上书籍信息。
第二步:输入0,以结束信息录入
第三步:输入待查找作者姓名
输出格式
Number:1
Name:b1
Author:a1
Press:gfkd
Publication Date:20150127
效果如下:
输入:
1 b1 a1 gfkd 20150127
2 b2 a2 gfkd 20150125
3 b3 a2 tsinghua 20140122
4 b4 a3 tsinghua 20130523
5 b5 a3 gfkd 20150602
0
a2
输出:
Number:2
Name:b2
Author:a2
Press:gfkd
Publication Date:20150125
Number:3
Name:b3
Author:a2
Press:tsinghua
Publication Date:20140122
#include <iostream>
#include<cstring>
using namespace std;
struct book
{
int Number;
char Name[10];
char Author[10];
char Press[10];
int PublicationDate;
}book[100];
int main()
{
int i;
for( i=0;i<=99;i++)
{
cin>>book[i].Number;
if(book[i].Number==0)
{
break;
}
else
{
cin>>book[i].Name>>book[i].Author>>book[i].Press>>book[i].PublicationDate;
}
}
char au[10];
for( i=0;i<=99;i++)
{
cin>>au;
if (strcmp(au,book[i].Author)==0)
{
cout<<"Number:"<<book[i].Number<<endl;
cout<<"Name:"<<book[i].Name<<endl;
cout<<"Author:"<<book[i].Author<<endl;
cout<<"Press:"<<book[i].Press<<endl;
cout<<"Publication Date:"<<book[i].PublicationDate<<endl;
}
}
return 0;
}