C++模拟网上购书的结账功能程序设计源码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

成绩:课程设计设计课程名称:面向对象程序设计C++题目:模拟网上购书的结账功能学号:学生姓名:专业班级:指导教师:设计时间:年月日年月日模拟网上购书的结帐功能一、课程设计目的本课程设计是计算机专业重要的实践性环节之一,是在学习完《面向对象程序设计语言(C++)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1.巩固和加深学生对C++语言课程的基本知识的理解和掌握2.掌握C++语言编程和程序调试的基本技能3.利用C++语言进行面向对象的软件设计方法4.掌握书写程序设计说明文档的能力5.提高运用C++语言解决实际问题的能力二、需求分析用C++语言完成一个模拟网上购书结账功能,数据保存在文件中。C++语言全面兼容C语言,它比C语言更加安全、可读性更好、代码结构更合理。所以C++是的该程序开发更加容易。模拟网上购书结账功能可以方便卖书人员更加快速地获取并充分了解自己销售书籍的订单信息,十分有用。模拟网上购书系统需要实现的功能:(1)发票信息录入;(2)发票信息删除;(3)根据发票号查询发票信息;(4)根据买家ID查询发票信息;(5)显示所有发票信息。三、总体设计1.模拟网上购书系统功能总体设计如下:图3.1功能模块图2.数据存储在文件中模拟网上购书系统发票信息录入发票信息删除根据发票号查询发票信息根据买家ID查询发票信息显示所有发票信息1)Book.txt:存储书籍信息,包括书籍编号、书名、作者、出版社、单价;2)Buyer.txt:存储购书者信息,包括买家ID、姓名、地址、身份(0代表普通人,1代表会员,2代表贵宾);3)Orde.txt:存储订单信息,包括订单号、买家ID;4)Receipt.txt:存储发票信息,包括订单号、书籍编号、数量;3.开发软件:VisualStudio20104.操作系统:windows7四、各功能设计1、在类Book中主要定义了,书籍的编号、书名、作者、出版社、和价格。还定义了书籍信息的显示函数classBook{public:Book();Book(stringbi,stringbn,stringau,stringpu,doublepr);//构造函数voiddisplay();//显示函数private:stringbookID;//编号stringbookName;//书名stringauthor;//作者stringpublish;//出版社doubleprice;//价格};2、在Buyer.h中主要定义了Buyer这个基类,并对它进行派生,共3个派生类:People、Member和VipclassBuyer{public:Buyer();Buyer(stringid,stringna,stringad);//构造函数virtualvoiddisplay();//显示函数(虚函数)protected:stringbuyerID;//买家IDstringname;//姓名stringaddress;//地址};//普通人类classPeople:publicBuyer{public:People(stringid,stringna,stringad):Buyer(id,na,ad){}voiddisplay();};//会员类classMember:publicBuyer{public:Member(stringid,stringna,stringad,doubledc):Buyer(id,na,ad){discount_member=dc;}voiddisplay();private:doublediscount_member;//折扣率};//贵宾类classVip:publicBuyer{public:Vip(stringid,stringna,stringad,doubledc):Buyer(id,na,ad){discount_vip=dc;}voiddisplay();private:doublediscount_vip;//折扣率};3、在Order中主要定义了订单的发票号和买家ID两个属性。还定义了添加订单信息、删除订单信息等函数。classOrder{public:Order();Order(intre,stringbu);//构造函数intgetLine();//获取Order.txt中的行数voidreadOrder(Ordero[]);//从Order.txt中读取数据放入Receipt对象数组中intJudge(intreceiptID);//判断Order.txt中是否存在该订单号,若存在返回该订单的行号,不存在返回-1voidaddOrder(intreceiptID,stringbuyerID);//添加订单信息voiddeleteOrder(intreceiptID);//删除订单信息private:intreceiptID;//发票号stringbuyerID;//买家ID};4、在Receipt中主要定义了发票的订单号、书籍编号、数量、总价等属性。还定义了添加删除发票信息、查找发票、显示发票等函数。classReceipt{public:Receipt();Receipt(intre,stringbo,intnu);//构造函数intgetBookLine();//获取Book.txt中的行数voidreadBook(stringbookID[],stringbookName[],stringauthor[],stringpublish[],stringprice[]);//从Book.txt中读取数据放入数组中intgetBuyerLine();//获取Buyer.txt的行数voidreadBuyer(stringbuyerID[],stringname[],stringaddress[],stringtype[]);//从Buyer.txt中读取数据放入数组中voidreadOrder(stringreceiptID[],stringbuyerIDs[]);//从Order.txt中,读取数据,放入数组中intgetReceiptLine();//获取Receipt.txt的行数voidreadReceipt(Receiptreceipt[]);//从Receipt.txt中读取数据放入Receipt对象数组中returnLsJudge(intreceiptID);//判断Receipt.txt中是否存在用户要求的发票编号,如果存在,返回行号数组类voidaddReceipt();//添加发票voiddeleteReceipt();//删除发票voidselectReceiptByRI();//根据订单号查找发票voidselectReceiptByBI();//更具买家ID查找发票voidprint();//打印发票private:intreceiptID;//发票编号stringbookID;//图书编号intnum;//购书数量doublepay;//支付总金额};五、系统实现与系统调试1、登入模拟网上购书系统,看到欢迎界面,用户可根据主界面提示的操作,输入1-5任一编号,选择所需操作。2、发票信息录入,先输入买家ID,再输入所需的书籍编号和数量(可输入多本书籍编号和数量,输入书籍编号为0时停止录入),录入完成可选择再录入信息或返回上级目录或退出。3、输入发票号,选择删除订单。若存在订单号,则显示删除成功;若不存在显示数据库中没有此订单,完成该操作可选择再删除信息或返回上级目录或退出。4、根据发票号查找发票信息,用户输入发票号,若存在该发票号则显示发票信息,若不存在显示不存在该订单。操作完成后可选择继续查询发票信息或返回上级目录,或退出。5、根据买家ID查找发票信息,用户输入买家ID,若存在显示该买家的所有发票信息;6、若不存在显示该卖家没有。操作完成后可选择继续查询发票信息或返回上级目录,或退出。7、打印所有发票信息,操作结束后可选择返回上级目录或退出系统。六、软件使用说明1、登入模拟网上购书系统,看到欢迎界面,用户可根据主界面提示的操作,输入1-5任一编号(输入0,退出),选择所需操作。2、输入‘1’,可进行发票信息录入录入。先输入买家ID,再输入所需的书籍编号和数量(可输入多本书籍编号和数量,输入书籍编号为0时停止录入),录入完成可输入‘1’选择再录入信息,输入‘2’返回上级目录,输入‘0’退出。3、输入‘2’,可进行发票号信息删除。输入发票号,若存在订单号,则显示删除成功;若不存在显示数据库中没有此订单,完成该操作可输入‘1’选择再删除发票信息,输入‘2’返回上级目录,输入‘0’退出。4、输入‘3’,可进行根据发票号查找发票信息。输入发票号,若存在该发票号则显示发票信息,若不存在显示不存在该订单。操作完成后可输入‘1’选择根据发票号查找发票信息,输入‘2’选择根据买家ID查找发票信息,输入‘3’返回上级目录,输入‘0’退出。5、输入‘4’,可进行根据买家ID查找发票信息。输入买家ID,若存在显示买家所有发票信息,若不存在买家没有订单。操作完成后可输入‘1’选择根据发票号查找发票信息,输入‘2’选择根据买家ID查找发票信息,输入‘3’返回上级目录,输入‘0’退出。七、课程设计心得与体会这次实训让我对本学期所学的C++进行有了更深一步的了解,并可以使用C++初步完成一个简单的系统。训练了我综合运用所学习的各项知识,完成此系统的操作。实训过程中,我遇到了很多问题,例如C++中string和int类型之间的转换,如何返回int数组等问题,但通过上网搜索或询问老师同学以后都得到了解决,也掌握了这些方法。在设计网上模拟购书系统的过程中,我使用的是文件存储数据,所以在调用的时候要考虑很多循环和关联,这锻炼了我的思维模式。这些都让我获益匪浅。在这个过程中,我进一步巩固了所学习的知识,同时了解到自己还有很多没学到的知识,学无止境,在以后的日子中,我一定的更加严格要求自己,积极进取,奋发向上,不断努力发展自己。这次的系统设计让我学会了综合运用C++所学的知识,对我今后对使用C++语言编程开发有着重要的作用。附录1.Book.h#pragmaonce#includeiostream#includestringusingnamespacestd;classBook{public:Book();Book(stringbi,stringbn,stringau,stringpu,doublepr);//构造函数voiddisplay();//显示函数private:stringbookID;//编号stringbookName;//书名stringauthor;//作者stringpublish;//出版社doubleprice;//价格};2.Book.cpp#includeBook.h#includeiostream#includeiomanip#includefstream#includestringusingnamespacestd;Book::Book(){bookID=;bookName=;author=;publish=;price=0;}Book::Book(stringbi,stringbn,stringau,stringpu,doublepr){bookID=bi;bookName=bn;author=au;publish=pu;price=pr;}voidBook::display(){cout书号:bookID\t;cout书名:bookName\t;cout作者:author\t;cout出版社:publish\t;cout价格:price\t;}3.Buyer.h#pragmaonce#includestringusingnamespacestd;//购书者类classBuyer{public:Buyer();Buyer(

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功