车辆信息管理系统实验报告新_车辆信息管理实验报告
车辆信息管理系统实验报告新由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“车辆信息管理实验报告”。
课程设计报告格式
面向对象程序设计I
课程设计报告
题目:车辆信息管理系统 学院:计算机科学与工程学院 专业:软件工程专业 班级: 学号: 姓名: 指导老师:
设计日期:2014.12.17-12.23
于文件的格式的实现。了解system函数对于命令行指令的调用,cls指令实现清屏及color指令改变控制台的前景色和背景。
还应用了左对齐setiosflags(ios::left),设置域宽setw()等函数。
3.链表这种数据结构相关增删改查基本功能实现相关知识。3.功能设计或算法设计
车辆信息管理系统由两个子系统构成,它的主要功能如下:.轿车信息管理系统 1.添加车辆信息
主要添加的车辆信息包括5各方面,分别是:桥车的车牌号(编号不唯一),车辆名字,车辆的价格,车辆的生产日期,车辆的生产地等。2.修改车辆信息 输入车辆的编号,就会显示全部车辆信息,然后根据提示写出修改信息,并会保存在相应的文件中。3.删除车辆信息 输入要删除的车辆编号,就会将此车辆信息从相应的文件中删除,示用户车辆信息已删除。并提
4.查询车辆信息 输入查询车辆的编号,就会从文件中调取记录,显示信息。5.显示所有车辆信息
显示文件中所有车辆信息。6.清除所有车辆信息 清除所有车辆信息。7.总的轿车车辆数 利用类中的变量count来计算车辆数,通过文件读取存入,也会在运用面向对象的思想,直接将问题抽象成对象,运用类的派生,实现了代码的复用,运用类的多态性生成多个实例,实现对同一事物的不同响应。功能结构图
类图
4.程序定义的类及函数说明
1.(主要部分)轿车信息管理系统:
将轿车信息定义为一个car类,在类中包含私有数据成员string name String number string price string date string place,分别表示车名,车辆编号,车辆价格,买车时间及车辆的价格。add_car(),modify_car(),delete_car(),search_car(),show_all(),clear_all(),save_all(),count_all(),分别用来添加车辆信息,修改车辆信息,删除车辆信息,查询车辆信息,显示车辆信息,清除所有车辆信息和统计总的轿车车辆数。
然后定义一个menu()菜单函数,使功能菜单显示在运行窗口以提
数据结构采用链表实现对类中数据的管理。
5.程序清单
#include #include #include #include #include #include using namespace std;static int count;/***********************************************************************赵庆玲/ cla car { public:
car();void add_car();void modify_car();void delete_car();void search_car();
112
} cin>>date;fflush(stdin);cout>place;fflush(stdin);save_car();//修改轿车车辆信息 void car::modify_car(){
ofstream outData(“temp.txt”,ios::out);ifstream inData(“littlecar.txt”,ios::in);if(!outData ||!inData){
} cout
}
} cout>price;fflush(stdin);cout>date;fflush(stdin);cout>place;fflush(stdin);save_car();flag=false;break;outData
}
} { } out.close();in.close();cout
ofstream out(“temp.txt”,ios::out);;ifstream in(“littlecar.txt”,ios::in);cout>s;fflush(stdin);string record;while(in>>number)
价格“
}
} { } out.close();in.close();ofstream out(”littlecar.txt“,ios::out);ifstream in(”temp.txt“,ios::in);if(!out ||!in){ } while(getline(in,record)){ } out.close();in.close();cout
0
价格”
} if(flag){
cout
cout
aa
} //计算轿车车辆总数 int car::count_car(){
} //轿车车辆信息登陆界面 void login_car(){
system(“color 0a”);system(“cls”);cout
-------------------------轿车管理信息FILE *fp = fopen(“count.txt”,“r”);int a;fscanf(fp,“%d”,&a);fclose(fp);return a;} aa.close();------------------------“
查询车
清除所
退出轿车车辆
} c1.add_car();c1.count=c1.count_car()+1;ofstream out(”count.txt“,ios::out);out
} else if(a==4){ } c1.search_car();c1.delete_car();c1.count=c1.count_car()-1;ofstream out(”count.txt",ios::out);out
}
} else if(a==8)break;/*************************************************/ //全局数据,对象
double Cge;//客车的基本维护费用 double Sge;//小轿车的基本维护费用 double Mge;//卡车的基本工资 int ID;//车辆编号(要保证唯一)cla Emcar //车辆种类 {
protected: int Num;//编号 char Pname[20];//车牌号 char Compa[10];//车辆公司 int Borntime;//买车时间 int Age;//车龄 int Duty;//车型
8{ private: double Wload;//耗油量
public: Pascar(char ID,char
*Ename,char
*Esex,int
Eborntime,int Eduty,double Eworkload):Emcar(ID,Ename,Esex,Eborntime,Eduty)
{ } double GetWload(){ } void SetWload(double Amount){ } void Calcge(){ Fee=Cge+Wload*2000;this->Wload=Amount;return Wload;this->Wload=Eworkload;
0
return Wload;} void SetWload(double Amount){
this->Wload=Amount;} void Calcge(){
Fee=Sge+Wload*20+1000;//20为油价
} void Output(){
Getage();
Calcge();cout
void Output(){ Getage();Calcge();
年cout
*Ename,char
*Esex,int
Eborntime,int Eduty):Emcar(ID,Ename,Esex,Eborntime,Eduty){}
void Calcge(){ } void Output(){ Getage();Calcge();
年Fee=2500;//火车的耗油量固定
cout
}
} p=p->next;delete Cker;Cker=p;Cker=0;double Awge();//计算平均费用
double Aage();//计算平均车龄
void Add();//增加车辆信息 void Modify();//修改车辆信息 void Delete();//删除车辆信息 void Query();//查询车辆信息 void Set();//基础数据设置 void Count();//简单统计信息
void Save();//数据存入磁盘(包括基础数据,车辆数据)void Load();//数据载入内存(包括基础数据,车辆数据)};void Company::Clear()//清除内存中车辆数据(内部使用){ Emcar *p=Cker;
cout>Pname;cout>Compa;cout>Borntime;cout>Duty;while(Duty!=1&&Duty!=2&&Duty!=3&&Duty!=4){
} if(Duty!=4){ }
//创建新汽车的结点 switch(Duty){ case 1:p=new Pascar(ID,Pname,Compa,Borntime,Duty,Wload);break;case 2:p=new Limou(ID,Pname,Compa,Borntime,Duty,Wload);break;cout>Wload;cout>Duty;} cout
void Company::Modify(){
int Num;//编号 char Pname[20];//车牌号 char Compa[10];//汽车制造公司 int Borntime;//买车时间 int Duty;//车型 double Wload;//耗油量
cout>Num;
//查找要修改的结点 Emcar *p1,*p2;p1=Cker;while(p1){
if(p1->Num==Num)break;else
0
//创建新汽车结点 Emcar *p3;switch(Duty){ case
1:p3=new Pascar(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case
2:p3=new Limou(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case
3:p3=new Truck(p1->Num,Pname,Compa,Borntime,Duty,Wload);break;case 4:p3=new Train(p1->Num,Pname,Compa,Borntime,Duty);break;
}
((Limou
((Truck
((Pascar
}
} } cout
int Num;cout>Num;//查找要删除的结点 Emcar *p1,*p2;p1=Cker;while(p1){ if(p1->Num==Num)
}
cout
{
cout
void Company::Query(){ int check,count(0);coutOutput();p=p->next;
}
}
} {
} else if(p4->Duty==4){
}((Train *)p4)->Output();count++;break;((Truck *)p4)->Output();count++;break;else { } p4=p4->next;if(count==0)cout
} } Averwge=sum1/Totalnum;//计算平均费用 cout
int Totalnum=0;//车辆总数
while(p){
} Average=sum2/Totalnum;//计算平均车龄 coutOutput();sum2+=p->Age;Totalnum++;p=p->next;
0-