#include<iostream>
#include<cstring>
#include<iomanip>
#define OVERFLOW
#define OK 1
using namespace std;
//图书结构体定义
#define MAXSIZE 10
struct Book
{
char no[20];
char name[50];
float price;
};
struct SqList
{
Book *elem;
int length;
};
int InitList(SqList &L)
{//构造一个空的顺序表L
L.elem=new Book[MAXSIZE];
if(!L.elem)exit(0);
L.length=0;
return OK;
}
//输入
int Input(SqList &L)
{
for(int i=0;i<MAXSIZE;i++)
{
cin>>L.elem[i].no>>L.elem[i].name>>L.elem[i].price;
if(strcmp(L.elem[i].no,"0")==0 && strcmp(L.elem[i].name,"0")==0 && L.elem[i].price==0)//保证输入格式
return OK;
else
++L.length;
}
return OK;
}
//输出
int Output(SqList L)
{
cout<<L.length<<endl;
for(int i=0;i<L.length;i++)
cout<<L.elem[i].no<<" "<<L.elem[i].name<<" "<<L.elem[i].price<<endl;
return OK;
}
int main()
{
SqList L;
InitList(L);
Input(L);
Output(L);
return 0;
}
#include<iostream>
#include<cstring>
#include<iomanip>
#define OVERFLOW
#define OK 1
using namespace std;
//图书结构体定义
#define MAXSIZE 10
struct Book
{
char no[20];
char name[50];
float price;
};
struct SqList
{
Book *elem;
int length;
};
int InitList(SqList &L)
{//构造一个空的顺序表L
L.elem=new Book[MAXSIZE];
if(!L.elem)exit(0);
L.length=0;
return OK;
}
//输入
int Input(SqList &L)
{
for(int i=0;i<MAXSIZE;i++)
{
cout << "Enter book #" << (i + 1) << " no: ";
cin >> L.elem[i].no;
cout << "Enter book #" << (i + 1) << " name: ";
cin >> L.elem[i].name;
cout << "Enter book #" << (i + 1) << " price: ";
cin >> L.elem[i].price;
++L.length;
}
return OK;
}
//输出
int Output(SqList L)
{
cout<<L.length<<endl;
for(int i=0;i<L.length;i++)
cout<<L.elem[i].no<<" "<<L.elem[i].name<<" "<<L.elem[i].price<<endl;
return OK;
}
int main()
{
SqList L;
InitList(L);
Input(L);
Output(L);
return 0;
}