主题:结构体的字符串判断问题
[size=5]现在我用结构体来编写图书信息管理程序,怎么[b]查询功能[/b]不能实现啊!诸位,帮帮忙![/size]
程序如下:
/*图书信息包括:图书的等。
试设计图书信息管理系统,使之能提供一下功能:
1 图书录入功能;
2 图书信息的删除和修改;
3 图书信息的浏览功能;
4 按书名、作者名查询 */
#include"iostream.h"
void main()
{
cout<<"欢迎进入图书信息管理系统"<<endl;
cout<<"0:录入功能"<<endl;
cout<<"1:浏览功能"<<endl;
cout<<"2:按书名、作者名查询功能"<<endl;
cout<<"3:删除,修改功能"<<endl;
int n=0;
struct book{
int denglu; //图书的登录号
char name[100]; // 书名
char zuozhe[100]; //作者名
int fenlei; //分类号
char pub[100]; //出版单位
int year,month,day; //出版时间(年、月、日)
float price; //价格
}book[100];
for(;;)
{
cout<<"请按编号选择功能:"<<endl;
int a;
cin>>a;
switch(a)
{
case 0: //录入功能
{
int i;int t;
i=n;
for(;;)
{
cout<<"输入要录入图书的登录号、书名、作者名、分类号、出版单位、出版时间(年、月、日)、价格:"<<endl;
cin>>book[i].denglu>>book[i].name>>book[i].zuozhe>>book[i].fenlei>>book[i].pub>>book[i].year>>book[i].month>>book[i].day>>book[i].price;cout<<endl;
i++;
cout<<"继续录入请按0,完毕请按1";
cin>>t;
if(t==1)break;
else continue;//if(t==0){n=i;}
}
n=i;
cout<<"idhsfiuhdufyheiufhisufh"<<n;//else if(t!=0){n=i;break;}}cout<<"n="<<n<<endl;
} break;
case 1: //图书信息的浏览功能;
{
cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
n=n-1;
for(int k=0;k<=n;k++)
{
cout<<book[k].denglu<<" "<<book[k].name<<" "<<book[k].zuozhe<<" "<<book[k].fenlei<<" "<<book[k].pub<<" "<<book[k].year<<" "<<book[k].month<<" "<<book[k].day<<" "<<book[k].price<<endl;
}
n++;
}break;
case 2: //按书名、作者名查询;
{
char x[100];char y[100];
cout<<"请输入要查询的书名以及作者名:"<<endl;
cin>>x>>y;int E=0;int g=0;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=100;j++)
{
if((book[i].name[j]==x[j])&&(book[i].zuozhe[j]==y[j]))
{
g++;
}
}
if(g==101)
{
cout<<"符合的信息有:"<<endl;
cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
cout<<book[i].denglu<<" "<<book[i].name<<" "<<book[i].zuozhe<<" "<<book[i].fenlei<<" "<<book[i].pub<<" "<<book[i].year<<" "<<book[i].month<<" "<<book[i].day<<" "<<book[i].price<<endl;
E++;
}
}
if(E=n+1) cout<<"没有符合要求的书籍"<<endl;
}break;
}
}
}
程序如下:
/*图书信息包括:图书的等。
试设计图书信息管理系统,使之能提供一下功能:
1 图书录入功能;
2 图书信息的删除和修改;
3 图书信息的浏览功能;
4 按书名、作者名查询 */
#include"iostream.h"
void main()
{
cout<<"欢迎进入图书信息管理系统"<<endl;
cout<<"0:录入功能"<<endl;
cout<<"1:浏览功能"<<endl;
cout<<"2:按书名、作者名查询功能"<<endl;
cout<<"3:删除,修改功能"<<endl;
int n=0;
struct book{
int denglu; //图书的登录号
char name[100]; // 书名
char zuozhe[100]; //作者名
int fenlei; //分类号
char pub[100]; //出版单位
int year,month,day; //出版时间(年、月、日)
float price; //价格
}book[100];
for(;;)
{
cout<<"请按编号选择功能:"<<endl;
int a;
cin>>a;
switch(a)
{
case 0: //录入功能
{
int i;int t;
i=n;
for(;;)
{
cout<<"输入要录入图书的登录号、书名、作者名、分类号、出版单位、出版时间(年、月、日)、价格:"<<endl;
cin>>book[i].denglu>>book[i].name>>book[i].zuozhe>>book[i].fenlei>>book[i].pub>>book[i].year>>book[i].month>>book[i].day>>book[i].price;cout<<endl;
i++;
cout<<"继续录入请按0,完毕请按1";
cin>>t;
if(t==1)break;
else continue;//if(t==0){n=i;}
}
n=i;
cout<<"idhsfiuhdufyheiufhisufh"<<n;//else if(t!=0){n=i;break;}}cout<<"n="<<n<<endl;
} break;
case 1: //图书信息的浏览功能;
{
cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
n=n-1;
for(int k=0;k<=n;k++)
{
cout<<book[k].denglu<<" "<<book[k].name<<" "<<book[k].zuozhe<<" "<<book[k].fenlei<<" "<<book[k].pub<<" "<<book[k].year<<" "<<book[k].month<<" "<<book[k].day<<" "<<book[k].price<<endl;
}
n++;
}break;
case 2: //按书名、作者名查询;
{
char x[100];char y[100];
cout<<"请输入要查询的书名以及作者名:"<<endl;
cin>>x>>y;int E=0;int g=0;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=100;j++)
{
if((book[i].name[j]==x[j])&&(book[i].zuozhe[j]==y[j]))
{
g++;
}
}
if(g==101)
{
cout<<"符合的信息有:"<<endl;
cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
cout<<book[i].denglu<<" "<<book[i].name<<" "<<book[i].zuozhe<<" "<<book[i].fenlei<<" "<<book[i].pub<<" "<<book[i].year<<" "<<book[i].month<<" "<<book[i].day<<" "<<book[i].price<<endl;
E++;
}
}
if(E=n+1) cout<<"没有符合要求的书籍"<<endl;
}break;
}
}
}