c++课程实践火车票管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言火车票管理系统”。
#include #include #include #include #include
using namespace std;
cla Bus_infor { int No;
static int Bus_No;char start[20];char end[20];int Bus_order;
int all_tickted;int tickted;int Hour_start,Minute_start,Hour_end,Minute_end;int Hour;int Minute;
public: Bus_infor *next;Bus_infor();~Bus_infor();int Get_no();int Get_all_tickted();int Get_tickted();int Get_bus_order();
char *Get_start();char *Get_end();void addr();
void Order_tickt(int n);void Unorder_tickt(int n);void GetTime_start();void GetTime_end();void ShowTime();void GetTime();void Show_infor();
void input(){
cout
cout
cin>>Bus_order;
cout
cin>>all_tickted;
GetTime_start();
GetTime_end();
addr();
char a;
cout
cin>>a;
if(a=='y')tickted=0;}
void input(ifstream & is)
{
is>>Bus_order>>start>>end>>all_tickted>>tickted>>Hour_start>>Minute_start>>Hour_end>>Minute_end;
is.get();
}
void output(){cout
void output(ofstream & os)
{
os
};
int Bus_infor::Bus_No=1;
void Bus_infor::GetTime_start(){ int NewH=0,NewM=0;cout>NewH>>NewM;Hour_start=NewH;Minute_start=NewM;}
void Bus_infor::GetTime_end(){ int NewH=0,NewM=0;cout>NewH>>NewM;Hour_end=NewH;Minute_end=NewM;}
void Bus_infor::GetTime(){ if(Minute_end>=Minute_start){Minute=(Minute_end-Minute_start);Hour=(Hour_end-Hour_start);}
else {Minute=(Minute_end-Minute_start+60);Hour=(Hour_end-Hour_start-1);} } void Bus_infor::ShowTime(){ cout
cout
tickted=0;} Bus_infor::~Bus_infor(){ Bus_No--;}
void Bus_infor::addr(){ cout
cin>>a;cin>>b;strcpy(start,a);strcpy(end,b);}
char *Bus_infor::Get_start(){ return start;}
char *Bus_infor::Get_end(){ return end;}
int Bus_infor::Get_no(){
return No;}
int Bus_infor::Get_all_tickted(){ return all_tickted;}
int Bus_infor::Get_tickted(){ return tickted;}
int Bus_infor::Get_bus_order(){ return Bus_order;}
void Bus_infor::Order_tickt(int n){ tickted=tickted+n;}
void Bus_infor::Unorder_tickt(int n){ tickted=tickted-n;};
cla Bus_link{ public: Bus_link(){head=new Bus_infor;head->next=NULL;key=0;}
void input();void mend();void del();int find(Bus_infor **p,int num,char *pn);
int find1(Bus_infor **p,int num,char *pn);
void found();void show();
void Order();
void Unorder();
void save();
void begin();
void clear();
char mainmenu();
int getkey(){ return key;}
void setkey(int k){ key=k;} private:
Bus_infor *head;
int key;};
void Bus_link::input(){ Bus_infor *p,*p2=NULL;p=head;
int n;while(p->next)
p=p->next;while(n){
p2=new Bus_infor;
p2->input();
p->next=p2;
p2->next=NULL;
p=p->next;
Bus_link::setkey(1);
cout
cin>>n;} }
void Bus_link::Order(){ Bus_infor *p;cout>X;if(X=='y'){
int num;
cout
cin>>num;
if(!find1(&p,num,“^”))
{
cout
return;
}
cout
int n;cin>>n;
p=p->next;
if((p->Get_tickted()+n)Get_all_tickted())
{p->Order_tickt(n);
cout
else cout
} else if(X=='n')cout
void Bus_link::Unorder(){ Bus_infor *p;cout>X;if(X=='y'){
int num;
cout
cin>>num;
if(!find1(&p,num,“^”))
{
cout
return;
}
cout
int n;cin>>n;
p=p->next;
if((p->Get_tickted()-n)>=0)
p->Unorder_tickt(n);
else cout
} else if(X=='n')cout
void Bus_link::found(){ Bus_infor *p;int num=-1,n=9;char name[20]=“^”;do {
cout
cin>>n;}while(n2);if(n==1){
cout
cin>>num;} if(n==2){
cout
cin>>name;} if(!find(&p,num,name)){
cout
return;} }
int Bus_link::find(Bus_infor **p1,int num,char *pn){ Bus_infor *p;
p=head;
int t=0;
while(p->next){
(*p1)=p;
if((p->next)->Get_bus_order()==num||!strcmp((p->next)->Get_end(),pn))
{
(p->next)->output();
t=1;
break;
}
p=p->next;} return t;}
int Bus_link::find1(Bus_infor **p1,int num,char *pn){ Bus_infor *p;p=head;int t=0;while(p->next){
(*p1)=p;
if((p->next)->Get_bus_order()==num||!strcmp((p->next)->Get_end(),pn))
{return 1;}
p=p->next;}
return 0;} void Bus_link::del(){ Bus_infor *p,*p2;int num;cout>num;
if(!find(&p,num,“^”)){
cout
return;} p2=p->next;p->next=p2->next;delete p2;Bus_link::setkey(1);}
void Bus_link::show(){ Bus_infor *p;p=head;while(p->next){
(p->next)->output();
p=p->next;} } void Bus_link::mend(){ Bus_infor *p;int num=-1;char name[20]=“^”;
cout>num;
if(!find1(&p,num,name)){
cout
return;}(p->next)->output();(p->next)->input();Bus_link::setkey(1);} void Bus_link::save(){ Bus_infor *p;p=head;ofstream os(“bus.txt”,ios::out);if(Bus_link::getkey()==1){
while(p->next)
{
(p->next)->output(os);
p=p->next;
} } cout
Bus_infor *p,*p2;p=head;clear();long t;ifstream is(“bus.txt”,ios::in);
if(!is){
ofstream os(“bus.txt”,ios::out);
os.close();
return;} int num=-1;while(1){
num=-1;
t=is.tellg();
is>>num;
is.seekg(t);
if(num
{
is.close();
return;
}
p2=new Bus_infor;
p2->input(is);
p->next=p2;
p2->next=NULL;
p=p->next;} }
void Bus_link::clear(){ Bus_infor *p,*p2;p=head->next;while(p){
p2=p;
p=p->next;
delete p2;} }
char Bus_link::mainmenu(){ char n[6];cout
---欢迎使用车票管理系统---“
制作人 刘强
”
物理学院
“
”
1.录入车票信息
2.浏览车票信息
3.查询车票信息
4.删除车票信息
5.修改车票信息
6.定购车票信息
7.退还车票信息
8.保存车票信息
0:
退出系统
请选择功能按钮: “;cin>>n;return n[0];}
int main(){
Bus_link pp;int k=1;char n;pp.begin();
while(k==1){
n=pp.mainmenu();
switch(n)
{
case '1':pp.input();break;
case '2':pp.show();break;
case '3':pp.found();break;
”
case '4':pp.del();break;
case '5':pp.mend();break;
case '6':pp.Order();break;
case '7':pp.Unorder();break;
case '8':pp.save();break;
case '0':
if(pp.getkey()==1)
{
cout
cin>>k;
if(k==1)
pp.save();
}
pp.clear();
k=0;
break;
} } return 0;}
黑龙江工程学院第一章 问题分析和任务定义1.1 问题分析问题: 编写一个通讯录管理系统。要求包括通讯录建立、增加号码、删除号码、查询号码(按姓名、按号码)、修改号码、号码......
XXXXXXXXXXXC/C++程序设计实训电话簿管理系统学生姓名 ×××× 学 号 ×××× 所在学院 ×××× 专业名称 ×××× 班 级 ×××× 指导教师XXXXXXXXXXXXXXXXXXX XXXXXX......
#include using namespace std; #include #include #include #include #include #include"01.h" cla University; void menu(University uni);//菜单函数声明cla Student/......
#include #include #include using namespace std; typedef struct/*定义结构体数组*/ {string roomnum;/*房间号*/ string stunum;/*学号*/ string name;/*姓名*/ }Stud......
火车票售票系统班级:S3SN131班姓名:王宁如今科技发展突飞猛进,交通发达迅速。而我要做的是让远在千里之外的你轻松购得回家的一票。火车站市场的管理和规范问题,是困扰我们多年......