|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class Flight
{
public:
Flight(){}
void setFlight_num(int flight_num) { this->flight_num=flight_num;}
int showFlight_num () const {return flight_num;}
void setMax_num_of_passengers(int max_num_of_passengers)
{
this->max_num_of_passengers = max_num_of_passengers;
}
int showMax_num_of_passengers () const {return max_num_of_passengers;}
void setTake_off_place(string &t_off_place) { take_off_place=t_off_place;}
string& showTake_off_place() {return take_off_place;}
void setTake_off_time(string &t_off_time) {take_off_time=t_off_time;}
string& showTake_off_time() {return take_off_time;}
void setLanding_place(string &l_place) {landing_place=l_place;}
string& showLanding_place() {return landing_place;}
void setLanging_time(string &l_time) {langing_time=l_time;}
string& showLanging_time() {return langing_time;}
void setPrice(double price) {this->price=price;}
double showPrice()const {return price;}
private:
int flight_num;
int max_num_of_passengers;
string take_off_place;
string take_off_time;
string landing_place;
string langing_time;
double price;
};
void Input(int n)
{
Flight flight;
int flight_num,max_num,i=0;
string take_off_place,take_off_time,landing_place,langing_time;
double price;
ofstream fout("航班信息",ios::app|ios::binary);
if(!fout)
{
cout<<"不能打开文件!"<<endl;
}
while(i<n)
{
i++;
cout<<"请输入:航班号 最大载客数 起飞地点 起飞时间 降落地点 降落时间 单价\n";
cin>>flight_num;
cin>>max_num;
cin>>take_off_place;
cin>>take_off_time;
cin>>landing_place;
cin>>langing_time;
cin>>price;
flight.setFlight_num(flight_num);
flight.setMax_num_of_passengers(max_num);
flight.setTake_off_place(take_off_place);
flight.setTake_off_time(take_off_time);
flight.setLanding_place(landing_place);
flight.setLanging_time(langing_time);
flight.setPrice(price);
fout.write((char*)&flight,sizeof flight);
}
fout.close();
cout<<"所有航班记录输入结束!"<<endl;
}
int main()
{
int n;
Flight flight1;
cout<<"输入现有航班总数:";
cin>>n;
Input(n);
ifstream fin("航班信息",ios::in|ios::binary);
if(!fin)
{
cout<<"不能打开文件!"<<endl;
}
for(int i=0;i<n;i++)
{
fin.read((char*)&flight1,sizeof flight1);
cout<<flight1.showLanging_time()<<endl;
cout<<flight1.showTake_off_place()<<endl;
cout<<flight1.showFlight_num()<<endl;
}
fin.close();
return 0;
}
为什么会有乱码输出? |
|