1、哈尔滨理工大学软件学院课程实践报告课程设计 C+课程实践题 目 车辆信息管理班 级 软件15-7学 生 *学 号 * 指引教师 * 管理系统功能阐明1 存储数据描述2 概要设计阐明书3 源程序4 测试分析(顾客操作手册)5 总结报告1. 管理系统功能阐明车辆管理系统有五项功能:一. 增长车辆信息二. 浏览所有车辆信息三. 查询车辆信息(按车辆品牌和型号)四. 修改车辆信息(通过型号查找再修改)五. 退出系统2. 存储数据描述由于本学期c+关于类知识学不精,我定义是上学期学习构造体,并运用文献存储fopen与fclose产生一种名为informationtxt文献存储数据,以便程序读写。3. 概
2、要设计阐明书4.对相应地址信息进行修改相应地址信息进行输出输入查找内容,与相应信息类型内数据进行逐个比对,相似返回相应地址。3.对查找类型进行选取。1.运用指针将存储地址传给参数,储存数据2.浏览依次输出车辆信息5.退出对顾客规定做出反映:1. 浏览2. 增长3. 查找4. 修改5. 退出系统初始界面并初始化数据内存。4. 源程序 #include#include#include#includeusing namespace std;typedef struct car char Brand20; char Model20; char Manufacturar20;/manufacturer
3、厂家 char Price30 ; char Linkman20; struct car *next; car,*cheliang;int init(cheliang &s);void shuru(cheliang &s);void shuchu(cheliang &s);void find (cheliang &s);void findBrand(cheliang &s);void findModel(cheliang &s);void change(cheliang &s);void putfile(cheliang &s);void getfile(cheliang &s);void w
4、elcome();void PrintfSurface() cout *endl; cout * *endl; cout * Welcome To Use 车辆信息管理系统 *endl; cout * *endl; cout * By:软件15-7刘子墨 *endl; cout *endl; cout初始密码123456endl;int jud=0;void welcome() int b; char code7; cout请输入密码:code; b+; if(strcmp(code,123456)!=0) if(b!=3) cout密码错误,请重新输入:endl; continue; els
5、e jud=1; break; int main() system(color 1e); PrintfSurface(); welcome(); if (jud=0) return 0; system(cls); cheliang s; init(s); coutttt&endl; coutttt& &endl; coutttt& 车辆信息管理系统 &endl; coutttt& 软7 刘子墨 &endl; coutttt&endl; cout endl; coutendl; while(1) int i;mainint: cout请选取有关操作:endl1.建立车辆信息.endl2.浏览车辆
6、信息.endl; cout3.查询车辆信息.endl4.修改车辆信息.endl5.退出管理系统. endl请选取:i; if(i5) cout数字错误,请重新输入!endlendl; goto mainint; switch(i) case 1: shuru(s); break; case 2: shuchu(s); putfile(s); break; case 3: find(s); break; case 4: change(s); break; case 5: cout感谢使用next=NULL; return 0; else return -1;void shuru(cheliang
7、 &s) /insert coutendl; cheliang p,q; p=(cheliang)malloc(sizeof(car); cout请输入车辆信息:endl; coutp-Brand; coutendl; coutp-Model; coutendl; coutp-Manufacturar; coutendl; coutp-Price; coutendl; coutp-Linkman; coutnext=NULL)&(q-next-ModelModel) q=q-next; p-next=q-next; q-next=p;void shuchu(cheliang &s) int a
8、; a=0; cheliang p; p=s-next; cout品牌 型号 厂家 价格 联系人 endl; while(p) a+; coutBrand Model Manufacturar Price Linkman next; coutendl; if (a=0) cout还没有车辆信息!endlendl ;void find (cheliang &s)findl: cout请选取查找办法:endl1.按品牌查找.endl2.按型号查找.endl; coutk; if(k2) cout请输入对的数字endlnext; coutBrand; cout你要查找资料是:endl; cout品牌
9、 型号 厂家 价格 联系人 Brand,Brand)=0) coutBrand Model Manufacturar Price Linkman next; coutendl; if(j=0) cout厂家错误!endlnext; coutModel; cout你要查找资料是:endl; cout品牌 型号 厂家 价格 联系人 Model,Model)=0) coutBrand Model Manufacturar Price Linkman next; coutendl; if(j=0) cout对不起,没这车。endlnext; l=s; m=s; coutModel; cout品牌 型号
10、 厂家 价格 联系人 Model,Model)=0) cout你要修改信息是:endl; coutBrand Model Manufacturar Price Linkman endl; j+; p=(cheliang)malloc(sizeof(car); cout请输入新车辆信息:endl; coutp-Brand; coutendl; coutp-Model; coutendl; coutp-Manufacturar; coutendl; coutp-Price; coutendl; coutp-Linkman; cout修改完毕next=q-next; free(q); goto tt
11、; else l=q; q=q-next; coutendl; if (j=0) cout没找到你要数据!endlnext=NULL)&(m-next-ModelModel) m=m-next; p-next=m-next; m-next=p;void putfile(cheliang &s) cheliang p; p=s-next; FILE *fp; if(fp=fopen(information.txt,w)=NULL) exit(0); while(p) if(fwrite(p,sizeof(struct car),1,fp)!=1 ) return; p=p-next; fclos
12、e(fp) ;void getfile(cheliang &s) cheliang p,q; q=s; FILE *fp1 ; if(fp1=fopen(information.txt,r)=NULL) exit(0); cout品牌 型号 厂家 价格 联系人 endl; p=(cheliang)malloc(sizeof(car); while(fread(p,sizeof(struct car),1,fp1)!=0) coutBrand Model Manufacturar Price Linkman next=NULL)&(q-next-ModelModel) q=q-next; p-n
13、ext=q-next; q-next=p; p=(cheliang)malloc(sizeof(car); fclose(fp1); coutendl;5. 测试分析(顾客操作手册)进入开始界面输入密码进入系统界面 密码可输入三次输入对的密码进入初始界面输入1+回车键建立车辆信息输入2+回车键进行信息浏览 输入3+回车键进入信息查询选取界面 此时输入1+回车将按照品牌查找车辆 返回主程序后输入4+回车键进行车辆信息修改并通过输入型号查找修改车辆主程序中输入4+回车键将修改车辆信息主程序中输入5+回车键将退出系统6. 总结报告程序有一某些直接套用上学期程序,还向学长进行了请教,总算在规定期间内将程序写完,有诸多地方是照着书现看现打,总是浮现某些莫名其妙错误,日后也终于消除了基本上所有BUG,也感觉到了自己编程能力下降,总算是没有大毛病。总来说,这学期学习不甚满意,我需要好好看看类与对象尚有复制构造函数和析构函数。争取下次完全靠自己完毕。