声明
本文为B站的网课笔记(网课链接:C/C++经典项目开发:C++版花式编写旅游管理系统),up主为:跟无言学编程。
笔记对原代码做出了一定的修改,注释,添加,删减。
一、介绍
本项目生成一个旅游管理系统,可用于添加、浏览、删除、查找、修改游客基本信息(包括姓名、年龄、旅游路线与旅游团名称)。
二、代码
#include <iostream>
#include<string>
#include<list>
#pragma comment( lib, "ws2_32.lib " ) //添加本句可以使得编译结果在未安装VS的电脑上运行,要注意用release生成可执行文件
using namespace std;
//数据统计
struct travelinfo
{
string name;
int age;
string travelRoute; //旅游路线
string travelNature; //旅游性质
};
//运算符重载,方便打印
ostream& operator<< (ostream& out, travelinfo listIter)
{
cout << listIter.name << "\t\t" << listIter.age << "\t\t"
<< listIter.travelRoute << "\t" << listIter.travelNature << endl;
return out;
}
istream& operator>> (istream& in, travelinfo& listIter)
{
cin >> listIter.name >> listIter.age >> listIter.travelRoute >> listIter.travelNature;
return in;
}
//系统采用类封装
class TravelSystem
{
//类:对属性和行为的封装
public:
void InputInfo(travelinfo info); //输入操作
void PrintInfo(); //打印循环列表
void SearchInfo(int age); //通过年龄查找
void SearchInfo(string name); //通过姓名查找
void modifyInfoByname(string name); //通过姓名修改
int deleteInfoByname(string name); //通过姓名删除
void PrintStyle()
{
cout << "姓名\t\t年龄\t\t路线\t\t旅游团" << endl;
}
protected:
//用C++中的STL存储,使用容器为list 双向列表
list<travelinfo> travelList;
};
void TravelSystem::InputInfo(travelinfo info)
{
travelList.push_back(info); //录入信息
}
void TravelSystem::PrintInfo(