基于顺序存储结构的图书信息表的创建和输出
#include<iostream>
#include <string>
#include <iomanip>
using namespace std;
typedef struct Book{
string BookNo;
string name;
double price;
Book(){}
Book(string BookNo,string name,double price){
this->BookNo = BookNo;
this->name = name;
this->price = price;
}
}Book;
typedef struct{
Book books[30];
int length;
}BookList;
void InitBookList(BookList &L){
L.length = 0;
}
void InsertBook(BookList &L,Book book){
L.books[L.length].BookNo = book.BookNo;
L.books[L.length].name = book.name;
L.books[L.length].price = book.price;
L.length++;
}
void printBook(BookList L){
for(int i = 0;i<L.length;i++){
cout<<L.books[i].BookNo<<" "<<L.books[i].name<<" ";
cout<<fixed<<setprecision(2)<<L.books[i].price<<endl;
}
}
int main(){
string BookNo,name;
double price;
BookList L;
InitBookList(L);
while(1){
cin>>BookNo>>name>>price;
if(BookNo == "0" && name =="0" && price==0) break;
Book book = Book(BookNo,name,price);
InsertBook(L,book);
}
cout<<L.length<<endl;
printBook(L);
return 0;
}