struct date;
除了顺序问题外,结构体对象定义方法也不对,应该是Date date;
struct Book{
char name;
int ID;
int price;
struct date;
}; Book b[20];
struct Date{
int year;
int month;
int day;
};
把这两个结构体的定义位置调整一下,试一试!
//---------------------------------------------------------------------------
#include
#include
using namespace std;
int i=1;
struct Date{
int year;
int month;
int day;
};
struct Book{
char name[80]; /*注意这里*/
int ID;
int price;
struct Date date; /*注意这里*/
}; Book b[20];
void add()
{
cout<<"输入书的名字,ID,价格,出版日期。\n";
cin>> b[i].name>> b[i].ID>> b[i].price>> b[i].date.year>> b[i].date.month>> b[i].date.day;
}
void putdown()
{int k,j;char name[20];
cout<<"输入书的名字\n";
cin>>name;
for(j=1;j {if(strcmp(name,b[j].name)==0)
break;}
cout<<"把 "< for(k=j+1;k i--;
}
void search_the_highest()
{
int max=0; int j;
for(j=1;j<=i;j++){if (b[j].price>max) max=b[j].price;}
for(j=1;j<=i;j++)
{
if (b[j].price==max)
{cout<<"最贵的书是:\n"; cout<<"名字:"< b[j].date.year<<'-'< }
}
}
int search_the_total_money()
{int total=0;int j;
for(j=1;j<=i;j++){total+=b[j].price;}
return total;
}
int main()
{
int select;
while (1)
{
cout<<"1.添加一本书.\n";
cout<<"2.放下一本书.\n";
cout<<"3.查询最贵的书.\n";
cout<<"4.查询当前书篮中书的总价.\n";
cout<<"5.退出\n";
cin>>select;
switch(select)
{
case 1:add();i++;break;
case 2:putdown();break;
case 3:search_the_highest();break;
case 4:search_the_total_money();break;
case 5:return 0;
}
}
}
//---------------------------------------------------------------------------