一个简单的C++应用,创建最基础的图书管理系统。(本人一个大二菜鸟,写的可能不太好。)参考了严蔚敏老师版本的数据结构教材。采用了顺序表和链表分别编写,下面是源码。
顺序表:
#include<iostream>
#include<string>
using namespace std;
#define ok 1
#define error 0
#define maxsize 100
#define overflow -2
typedef struct
{
string ID;
string name;
float price;
}book;
typedef struct
{
book* elem;
int length;
}sqlist;
int initlist(sqlist &l)//顺序表的初始化
{
l.elem = new book[maxsize];//给顺序表分配地址空间
if (!l.elem)exit(overflow);
l.length = 0;
return ok;
}
void menu()//菜单函数
{
cout << "1.输入图书信息" << endl;
cout << "2.查询图书信息(所有)" << endl;
cout << "3.按价格排序" << endl;
cout << "4.根据书名查询图书信息" << endl;
cout << "5.根据书名删除图书信息" << endl;
}
int input(sqlist &l)//输入图书信息
{
cout << "请输入图书的个数:" << endl;
int n;
cin >> n;
for (int i = l.length; i < l.length+n; i++)//便于后续输入图书信息
{
cout << "请输入第"<<i+1<<"本图书信息" << endl;
cout << "书号为:" << endl;
cin >> l.elem[i].ID;
cout << "书名为:" << endl;
cin >> l.elem[i].name;
cout << "价格为:" << endl;
cin >> l.elem[i].price;
}
l.length = l.length + n;
return ok;
}
int sort(sqlist& l)//按价格对图书进行排序(利用冒泡排序)
{
for (int i = 0; i < l.length - 1; i++)
{
for (int n = 0; n < l.length - 1 - i; n++)
{
if (l.elem[n]