车辆信息管理程序的设计与实现
小弟今年刚上大一。40学时C++就讲完了。现在期末复习阶段又来了两周的课程设计。复习时间都给挤没了。本人对计算机非常着迷。所以选择了计算机专业。但大学的课程安排不是很合理。不管怎么说,还是自己不够努力。还是说正题吧。
这个问题可能有些麻烦,如果哪位前辈有时间给小弟指点一下就好。
一、问题描述
某公司需要开发一个车辆管理程序,其所管理的车辆主要有客车,小轿车,卡车。每种车辆具有车辆编号,汽车号牌,车辆制造公司,车辆购买时间,车辆型号,耗油量/公里,基本维护费,累积总费用等信息。客车还具有座位数量等信息。
每台车辆当月总费用=油价*耗油量/公里+基本维护费
基本维护费:客车为2000元/月,小轿车为级别系数*1000元/月,卡车为1500元/月。
二、系统设计要求:
1、 根据问题描述进行类的设计
抽象出基类,确定基类的数据成员和成员函数;确定派生类数据成员和成员函数。实现各构造函数和析构函数,达到初始化和清理目的。实现各成员函数,实现对各数据成员的读取和设置。
2、 通过文件储存各种车辆信息。
3、 车辆编号在生成车辆信息时同时生成,每输入一个新车辆信息编号自动顺序加1。
4、 能按照车辆编号查找,添加,删除,更新,显示各车辆的信息
5、 可以设置和统计每台车辆的月平均费用等。
6、 程序有简单的菜单功能。
小弟写的程序如下:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<string.h>
#include"pinfo.h"
void main()
{
char Info;
cout<<"=================添加车辆信息请输入P================="<<endl;
cout<<"=================删除车辆信息请输入D================="<<endl;
cout<<"=================查找车辆信息请输入S================="<<endl;
cout<<"=================更新车辆信息请输入U================="<<endl;
cout<<"=================显示车辆信息请输入V================="<<endl;
cout<<"=================输入菜单项目请输入M================="<<endl;
cin>>Info;
if(Info=='M'){ //显示菜单
fstream outfile;
outfile.open("file1.txt",ios::in|ios::out|ios::ate);
if(!outfile)
{
cout<<"file1.txt can't open.\n";
abort();
}
outfile<<" ┌────────────┐"<<endl;
outfile<<" │ │"<<endl;
outfile<<" │ 车辆信息管理系统 │"<<endl;
outfile<<" │ │"<<endl;
outfile<<" └────────────┘"<<endl;
outfile<<"车种 "<<"车辆编号 "<<"汽车号牌 "<<"制造公司 "<<"购买时间 "<<"车辆型号 "<<endl;
outfile.close();
}
else if(Info=='P')
PInfo();
else if(Info=='D'){ //删除信息
fstream infile;
infile.open("file1.txt",ios::in);
if(!infile){
cout<<"file1.txt can't open.\n";
abort();
}
char s[150];
while(!infile.eof()){
infile.getline(s,sizeof(s));
cout<<s<<endl;
}
Machine Number;
int d1,d2;
// d2=Number.get();
cout<<"请输入要删除汽车的编号:";
cin>>d1;
if(d1==d2)
cout<<"OK!!!!!!:";
else
cout<<"error\n";
}
else if(Info=='S'){ //查找信息
fstream infile;
infile.open("file1.txt",ios::in);
if(!infile){
cout<<"file1.txt can't open.\n";
abort();
}
char s[80];
while(!infile.eof()){
infile.getline(s,sizeof(s));
cout<<s<<endl;
}
infile.close();
char s1;
cout<<"请输入要查找汽车的编号:";
cin>>s1;
char * index(char *s,char s1);
if(s1=='s')
cout<<"YES!!!!!!:";
else
cout<<"error\n";
}
else if(Info=='U') //更新信息
PInfo();
else if(Info=='V'){ //显示信息
fstream infile;
infile.open("file1.txt",ios::in);
if(!infile){
cout<<"file1.txt can't open.\n";
abort();
}
char s[150];
while(!infile.eof()){
infile.getline(s,sizeof(s));
cout<<s<<endl;
}
infile.close();
}
else
cout<<"error!\n";
}