class Base {
public:
virtual void read()=0; virtual void add()=0;
virtual void modify(int)=0; virtual void del(int)=0; virtual void save()=0; virtual void search()=0; };
3.2 小轿车类的实现 Car.h
class Car:public Base {
public:
double carFee; char carID[20]; char carName[20]; void read(); void add(); void modify(int); void del(int); void save(); void search(); };
Car.cpp
void Car::read() {
ifstream carfile;
carfile.open (\轿车信息.txt\
carfile>>car[count_car].carID>>car[count_car].carName>>car[count_car].carFee; while(!carfile.eof()) {
count_car++;
carfile>>car[count_car].carID>>car[count_car].carName>>car[count_car].carFee; }
carfile.close(); }
void Car::add() {
//存入对象数组中
strcpy(car[count_car].carID,carID); strcpy(car[count_car].carName,carName); car[count_car].carFee=carFee;
count_car++; }
void Car::modify(int index) { strcpy(car[index-1].carID,carID);
strcpy(car[index-1].carName,carName); car[index-1].carFee=carFee; }
void Car::del(int index) {
//前移其后记录
for(int i=index;i<=count_car-1;i++) {
strcpy(car[i-1].carID,car[i].carID); strcpy(car[i-1].carName,car[i].carName); car[i-1].carFee=car[i].carFee; }
count_car--; }
void Car::search() {
for(int i=0;i if(strcmp(car[i].carID,carID)==0||strcmp(car[i].carName,carName)==0) { cout<<\轿车车牌号 \轿车品牌 \轿车油耗费用\ cout< cout<<\无此轿车数据!\ } } void Car::save() { ofstream carfile; carfile.open(\轿车信息.txt\ for(int i=0;i<=count_car-1;i++) carfile< 3.3 卡车类的实现 Truck.h class Truck:public Base { public: char truckID[20]; char truckName[20]; int truckNum; void read(); void add(); void modify(int); void del(int); void save(); void search(); }; Truck.cpp void Truck::read() { ifstream truckfile; truckfile.open(\卡车信息.txt\ truckfile>>truck[count_truck].truckID>>truck[count_truck].truckName>>truck[count_truck].truckNum; while(!truckfile.eof()) { count_truck++; truckfile>>truck[count_truck].truckID>>truck[count_truck].truckName>>truck[count_truck].truckNum; } truckfile.close(); } void Truck::add() { //存入对象数组中 strcpy(truck[count_truck].truckName,truckName); strcpy(truck[count_truck].truckID,truckID); truck[count_truck].truckNum=truckNum; count_truck++; } void Truck::modify(int index) { strcpy(truck[index-1].truckID,truckID); strcpy(truck[index-1].truckName,truckName); truck[index-1].truckNum=truckNum; } void Truck::del(int index) { //前移其后记录 for(int i=index;i<=count_truck-1;i++) { strcpy(truck[i-1].truckID,truckID); strcpy(truck[i-1].truckName,truckName); truck[i-1].truckNum=truckNum; } count_truck--; } void Truck::search() { for(int i=0;i if(strcmp(truck[i].truckID,truckID)==0) { cout<<\卡车车牌号 \卡车品牌\卡车载重数(吨)\ cout< cout<<\无此卡车数据!\ } } void Truck::save() { ofstream truckfile; truckfile.open(\卡车信息.txt\ for(int i=0;i<=count_truck-1;i++) truckfile< 3.4大客车类的实现
相关推荐: