版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计大作业--——-—项目名称简单车辆管理系统学院名称 专业班级__学生姓名 学 号 指导教师 完成时间:年月日1.系统简介该系统开发平台为Windows7,程序设计语言采用VisualC++6.0,程序运彳丁平台为WindowsXP程序通过调试运彳丁,初步实现了设计目标.利用C++语言实现简易车辆管理系统的程序设计;利用结构图和自丁定义的函数进丁相关数据及信息处理保存;管理系统能实现对车辆信息的储存,修改及提取。2.基本要求根据C++语言,将具体实现某个功能的函数设成车辆管理系统的公有函数成员,将数据利用自丁定义的函数进丁计算,并运用判断语句进丁功能选择性跳跃等使得系统能对数据库内有关车辆进丁添加、删除、提取及修改等。3。总体设计4。详细设计Car+name[20]:char+Id[20]:char+Distance:int+Property:int+num:int+Input():void+ReadFile(istream&in):void+Show():voidCarmassage+Carmassage()+〜Carmassage()+ShowMenu():void+Find();void+Save():void+Modifyltem():void+Removeltem():void+Swap(Car*,Car*): void+ListCount():int+Display():void+Addltem():void-*Head,*End一ifstreamin一ofstreamout一Car*Findltem(char*name)-Car*FindID(char*Id)关键技术说明类结构、选择判断结构、构造函数、析构函数、指针文件等的应用源代码#include<iostream>include<fstream〉include〈string。h>#includevconio。h〉〃用getchar();usingnamespacestd;〃 Car类classCar{public:
charname[20]9charId[20];//编号intDistance;//里程intProperty;//资产总额intnum;//驾驶员数量Car*Next;voidInput(){cout〈〈”\t\t请输入车辆型号:";cin〉>name;cout<〈"\t\t请输入车辆编号:";cin>〉Id;cout〈cout〈<”\t\t请输入车辆里程:”;cin〉>Distance;cout<<"\t\t请输入车辆资产总额:";cin>>Propertycout<<”\t\t请输入驾驶员数量:”;cin>>num;}voidReadFile(istream&in){in〉〉name>〉Id>〉Distance>〉Property>〉num;}voidShow(){cout<<"型号:"〈<name〈〈endl〈〈”编号:”〈<Id<<<〈”资产总额:"<<Property<〈endl〈〈”驾驶员数量:”<num〈〈endl〈〈endl<<endl;}};// Carmassage类classCarmassage{public:Carmassage();~Carmassage();voidShowMenu();voidFind();voidSave();voidModifyItem();voidRemoveItem();voidSwap(Car*,Car*);//voidUnpass();intListCount();//voidAverage();voidDisplay(){for(Car*p=Head—>Next;p!=End;p=p—>Next)p-〉Show();cout〈<”输入任意字符!继续 ";getchar();}voidAddItem(){End—>Input();End—>Next=newCar;End=End—〉Next;cout〈〈”添加成功!"<〈endl;cout〈〈"输入任意字符!继续 ”;getchar();}private:Car*Head,*End;ifstreamin;ofstreamout;Car*FindItem(char*name){for(Car*p=Head;p一〉Next!=End; p=p一>Next)〃匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p—>Next—〉name,name))returnp;returnNULL;}Car*FindID(char*Id){for(Car*p=Head;p->Next!=End;p=p一〉Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Id,Id))returnp;returnNULL;}};〃 构造函数Carmassage::Carmassage(){Head=newCar;Head-〉Next=newCar;End=Head->Next;in.open(”sort.txt");if(!in)cout<<”这是一个新系统,无车辆信息。请先输入.”<<endl;else{while(!in.eof())End—>ReadFile(in);if(End—>name[0]=='\0')break;End—〉Next=newCar;End=End—〉Next;}in。close();cout<<"\t\t读取车辆信息成功!”<〈endl;}}/ 析构函数Carmassage::〜Carmassage(){Save();for(Car*temp;Head一〉Next!=End;){temp=Head->Next;Head->Next=Head-〉Next-〉Next;deletetemp;}deleteHead,End;〃 菜单voidCarmassage::ShowMenu(){cout〈〈"〓〓〓〓〓〓〓〓〓〓☆车辆信息管理系统☆ ========== (<endl;coutvv”==:=====★★★★★ ★★★★★★★★★★★★======="<〈endl;cout<〈"=========★☆ 1。增加车辆信息 ☆ ★=========" 〈〈endl;cout<〈"=========★☆ 2.显示车辆信息★=========” 〈〈endl;cout<<”=========★☆ 3。查找车辆信息 ☆ ★=========” 〈〈endl;cout〈<”=========★☆ 4。删除车辆信息 ☆★=========”<<endl;cout〈〈”=========★☆ 5。修改车辆信息 ☆★=========”<<endl;cout〈〈"=========★☆ 0.安全退出系统★========="〈<endl;cout<<”\n\t\t\n\t\t请选择:";}voidCarmassage::Find(){charname[20],Id[10]intx;Car*p=NULL;cout〈<"\n\t\t*********************************\n";cout〈<"'但※1.按车辆型号查找\n\t\t探2.按车辆编号查找”cout〈<”\n\t\t*********************************\n请选择:";cin>〉x;switch(x){casel:{cout〈<”t\t请输入要查找的车辆型号:”cin〉〉name;if(p=FindItem(name)){p-〉Next—>Show();cout<〈"输入任意字符!继续 ";getchar();}else{cout 〈<"\t\t没有找到该型号的车辆!” 〈〈'\n'<〈endl;cout〈〈”输入任意字符!继续 ";getchar();cin>>cin>>Id;<<'\n'}break;case2:{cout〈<"\t\t请输入要查找的车辆编号:";if(p=FindID(Id)){p—〉Next-〉Show();cout〈<"输入任意字符!继续 ”;getchar();}else{cout〈<”\t\t没有找到该编号的车辆!〈<endl;cout<<”输入任意字符!继续 ";getchar();}}break;}}//修改信息voidCarmassage::ModifyItem(//修改信息{charname[20];Car*p=NULL;>name;〈endl;cout〈〈”\t\t请输入要修改的车辆的型号:”;>name;〈endl;if(p=FindItem(name)){cout<〈”\t\t已找到车辆的信息,请输入新的信息!p—〉Next-〉Input();cout<〈”修改成功!”<<endl;cout<〈”输入任意字符!继续 ";getchar();}else{cout<〈"\t\t没有找到!"<〈endl;cout〈<”输入任意字符!继续 ”;getchar();}}/ 删除信息charname[20];Car*p=NULL,*temp=NULL;name;cout<<"\t\t请输入要删除的车辆型号: 〈endl;cin>〉name;if(p=FindItem(name)){temp=p—〉Next;p-〉Next=p—>Next->Next;deletetemp;cout<<"\t\t删除成功!"<〈endl;cout〈"输入任意字符!继续 ”;getchar();}else{cout〈<”\t\t没有找到!"<<endl;cout〈”输入任意字符!继续—getchar();}}〃的数据域{Car*temp=newCar;strcpy(temp—>name,p1—>name);strcpy(temp—>Id,p1-〉Id);temp—〉Distance=p1-〉Distance;temp->Property=p1->Property;temp-〉num=p1->num;strcpy(p1-〉name,p2—〉name);strcpy(p1-〉Id,p2—>Id);p1-〉Distance=p2—>Distance;p1—>Property=p2—〉Property;p1->num=p2—〉num;strcpy(p2—>name,temp—>name);strcpy(p2-〉Id,temp->Id);p2—〉Distance=temp->Distance;p2—〉Property=temp—>Property;p2—〉num=temp-〉num;}If————————————数{if(!Head)return0;intn=0;for(Car*p=Head-〉Next;p!=End;p=p-〉Next){n++;}returnn;}/ 保存函数voidCarmassage::Save(){out。open("sort。txt");for(Car*p=Head—>Next;p!=End;p=p-〉Next)out<<p->name〈〈"\t"〈<p-〉Id〈〈”\t”〈<p—>Distance<<”\t”〈<p-〉Property〈<”\t"<〈p->num<<”\t”〈〈'\n';out.close();}〃 主函数intmain(){intx,i=0;boolquit=false;cout〈<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"〈〈endl;for(i=0;i<3;i++)cout<<”\t\t©\t\t\t\t\t\t◎”<〈endl;cout〈<”\t\t©****【欢迎进入车辆管理系统】★★★★◎"<<endl;for(i=0;i〈3;i++)cout<<"\t\2\t\t\t\t\t\t◎” <<endl;cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<〈endl;;CarmassageGrade;cout<<"按任意键开始……";getchar();while(!quit){system(”cl)s;"Grade.ShowMenu();cin〉〉x;switc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论