版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+淘宝管理系统及课程设计面向对象程序设计(C+ )课程设计题目:我的淘宝购物系统系别:专业(含班级):学号:姓名指导教师职称填表日期:年月日选题的依据及意义:随着电脑的越来越普及, 人们已经不满足于往常的店铺购物, 现在大多数人都喜欢网络购物, 网络购物的方便, 快捷,给我们带来了许许多多的惊喜,因此我选择如今越来越多人喜欢在淘宝上购买自己喜爱的东西,设计了一个简单的网上购物系统。本课程设计内容使用系统实现达到增加信息, 输出信息,修改信息,删除信息的功能。然后用到淘宝的购物系统。研究目标对 C+的课程设计进行初步的了解,设计出一个自己独立未完成的系统,来检验自己的对 C+面向对象的了解更加
2、深刻,从而提高自己的学习激情,对 C+的应用了解更加的多。C+ 面向对象程序设计实现方案一、项目要求1项目描述储存,查询,修改,宝贝信息,主要信息为宝贝编号、 买家姓名、发货时间、收货地址、预定详情。2. 运行界面3功能说明我要淘宝:逐步显示涛宝信息如宝贝编号, 购买者姓名, 发货时间,收获地址,预订性情,各数据间用” t ”格式分隔输出购买信息:逐步输出宝贝编号,购买信息等。修改订单信息: 从键盘上读取要修改的数据类型, 基本信息都可以进行修改,修改以后交易信息的数目会自动进行统计, 这主要采用的是静态成员函数实现的。删除订单信息 : 可以对订单信息进行修改,然后在文件夹里面进行空格删除的方
3、式,使需要删除的信息进行消失处理。推出我的淘宝信息:结束程序。二、设计分析1. 首先做的这个系统是没有自带文件夹的,但系统进行运行以后, 都会产生相应的文件夹, 文件夹里面会存储每次操作以后的数据,数据主要是宝贝编号,购买者姓名,发货时间,收获地址,预订性情等五项基本信息,这五项基本信息都存储在文件的同一行,这样可以存储多行数据信息。2. 定义每条信息的为 : class Yagepublic:void getdetail();/获取信息void print();/输出单个订单信息void display();/显示初始化化信息char*getnumber();/获取作为号使用指针void s
4、etorder();/修改订单信息void setdelete();/static void statistics();private:删除订单信息char number20;/宝贝编号char name40;/购买者姓名char time20;/发货时间char address40;/收货地点char statue;/预定详情static int sum;3. 每个公有成员函数都在类的定义中有所提及,并在后面都有备注,每行代码几乎都有备注,这样有利于函数的可读性操作。具体设计1. 我要淘宝信息用getdetail()的设计获取信息的方式是逐步提示下操作的,这样有利于操作的方便性,逐步是在 请
5、输入您要预定的宝贝编号: 请输入您的姓名: ;请输入您要发货时间: 请输入收货地点: 您确定要预定吗?(f/t): 这五个单独信息构成的, 最后一步才是是否要订购,这样不会造成纠纷,使购买者赶到迷惑的设计要求。2. 输出购买信息是用 print() 设计首先调用函数 display(); 显示出 宝贝编号 购买者姓名 发货时间 收获地点 预定详情 ; 这五个基本的购物信息, 然后使用指针分别找出已经在文件夹里面的信息, 然后逐一输出, 再每组数据输出完以后,再调用静态成员函数统计函数, 对本次次操作的交易数目进行动态全局的输出,这样使得函数的使用记录的是每次操作的准确数据。3. 想修宝贝信息是
6、调用 setorder ()函数,即重新已经存储的数据进行动态修改。首先使用采用动态数据查找到所需修改数据的宝贝编号, 然后询问用户是不是要确定修改订单信息, 如果用户确定要修改订单信息, 则使用“请选择要修改的内容: 如果想修改宝贝编号,请按 1 如果想修购买者姓名,请按 2 如果想修改发货时间,请按 3 如果想修改收获地点,请按 4 如果想修改预定详情,请按 5选定需要修改的信息, 并按数字键来确定, 然后再输入需要修改的内容,最后在返回函数, 现在函数采用二进制编码进行读写, 让后关闭文件,这样就就可以实现文件信息的查找,修改,与存储了。4. 使用 setdelete ()函数进行数据删
7、除操作 .这个函数的使用非常简单, 只是将其他的数据替换掉不能显示的数据,在屏幕中是不能显示的。这个函数和setorder ()函数的内容调用差不多,在这里我就不重复的说了。5. 就是退出系统,使用 exit(0);就可以实现退出系统的功能了。C+ 面向对象程序设计课程设计小结这个课程设计的主题都是自己逐步调试功能并运行出来的,开始想到这个系统时是借用了老师的飞机售票系统,然后有联想到淘宝的购物,最后决定写一个淘宝的购物系统。在最开始的时候就要整体的布局,系统有那几个功能, 需要那些函数的使用。我初步确定的是五个操作大体,每个购物信息包含五个子信息。五个主体操作是 1.) 我要淘宝信息 、 2
8、.) 输出购买信息 、 3.) 修改订单信息 、 4.) 删除订单信息 、 5.) 退出雅阁淘宝 。首先我想到的是对数据的输出操作, 感觉这个应该会比较简单, 然后在做的时候发现了很多问题,字符串的读取开始准备用 string 实现的,但用的时候发现了很多问题, 最后没办法,只有选择用字符串数组来实现数据的处理。 在前面的主题布局完场以后, 现在开始实现每一个比较小的共能模板块,我要淘宝信息这个板块比较简单, 很快就做好,输出信息这个模板块是使用指针实现的, 在后面基本上是把飞机售票系统的一些类容拿来借鉴使用的,定位,查找,这些都比较难,然后都是借鉴的, 在修改信息的时候就用到了定位, 查找功
9、能的函数, 这个只是对内容的修改, 这个最后完成的还是比较快的。 主要是灾后一个删除信息的, 因为我在开始用的是指针定位, 与查找,但在用到删除信息的时候, 就不知道该怎么用了。 然后又把原来的师生管理系统拿来看,因为里面有删除师生,看时候发现里面是用数组进行存储,然后再删除的时候,数组下标实现前移,这样就掩盖了要删除的信息,这样的方法让我没办法, 我最后准备将所有的数据进行数组存储的时候,发现了很多不能修改的问题,没办法,就在网上找资料,看有什么好的办法是删除文件夹的数据的, 最后还是没找到, 最后,在实在没办法的时候, 就想到了替换, 将那些要删除的信息。 这就是这个课程设计最大的缺憾,
10、因为时间用了很长, 十多个小时就为了这个系统的设计。不过最后的整体功能还是实现了,基本的要求也达到了。实施方案包括:一、项目要求1项目描述(描述项目的主要内容)2交互效果(键盘输入前的提示,及输入后的效果等,可以用截图)3功能说明(每个功能区的作用)二、设计分析(标题是什么设计就写什么设计,内容是主要设计部分的说明,特别要分析数据的存储。 )三、具体设计(能写多少就多少,可直接附上 VC 项目文件(夹)成绩确定基本分 60 分(各项约 10 分):能进行文件的输入和输出,有一定的功能,对数据能查询、添加、删除、更改,有必须的文档资料。项目必须可以运行(不可运行的项目总分0 分)。知识运用分:类
11、、对象、构造函数、string 类、继承派生、多态性、运算符重载、模板、异常处理等各加5 分。设计分满分 10 分:有实际意义,有良好的交互性。其它 10 分:学习积极性、上课表现、文档资料的写作情况等。源代码#include#include#include#includeiomanip#includeusing namespace std;class Yagepublic:void getdetail();/ 获取信息void print();/ 输出单个订单信息 void display();/ 显示初始化化信息 char*getnumber();/ 获取作为号使用指针void setor
12、der();/ 修改订单信息 void setdelete();/ 删除订单信息 static void statistics();private:char number20;/ 宝贝编号 char name40;/ 购买者姓名 char time20;/ 发货时间 char address40;/ 收货地点 char statue;/ 预定详情static int sum;int Yage:sum=0;void Yage:statistics()cout本 次 操 作 需 要 交 易 数 目 :sumendl;void Yage:getdetail()/ 接受预定信息cout 请输入您要预定
13、的宝贝编号:;cin.ignore();cin.getline(number,20,n);/ 宝贝编号 cout 请输入您的姓名: ;cin.getline(name,40,n); cout 请输入您要发货时间 : ;cin.getline(time,20,n);/ 发货时间 cout 请输入收货地点: ;cin.getline(address,40,n);coutstatue;if(statue=t)sum+;void Yage:display()/ 显示初始化化信息cout 宝 贝 编 号 t 购 买 者 姓 名 t 发 货 时 间 t 收 获 地 点t预定详情 endl;void Yag
14、e:print()/ 输出预定信息coutnumberttnametttim ettaddressttstatueendl; char *Yage:getnumber()/ 获取作为号使用指针return number;void Yage:setorder()/ 取消订单信息char c;int n;char xinxi20;char t;coutc;if(c=y|c=Y)cout 请选择要修改的内容: endl; cout 如果想修改宝贝编号, 请按 1endl; cout 如果想修购买者姓名, 请按 2endl; cout 如果想修改发货时间, 请按 3endl; cout 如果想修改收获
15、地点, 请按 4endl;cout 如果想修改预定详情, 请按 5n;cout 请输入修改后的类容:xinxi;strcpy(number,xinxi); if(n=2) cinxinxi;strcpy(name,xinxi); if(n=3) cinxinxi;strcpy(time,xinxi); if(n=4) cinxinxi;strcpy(address,xinxi); if(n=5)cint;if(statue=f&t=t)sum+;if(stat ue=t&t=f)sum-;statue=t;void Yage:setdelete()char c;char xinxi20=t;c
16、outc;if(c=y|c=Y)strcpy(number,xinxi);strcpy(name,xinxi);strcpy(time,xinxi);strcpy(address,xinxi);statue= ;sum-;void main()int choice;while(true) Yage baobei; coutendl;cout* 请 让 输 入 真 确 的 操 作 :*endl;cout*雅 阁 淘 宝 欢 迎 您*endl;cout-endl;cout1.)我要淘宝信息 endl;cout2.)输出购买信息 endl;cout3.)修改订单信息 endl;cout4.)删除订单
17、信息 endl;cout5.)退出雅阁淘宝 endl;coutchoice;switch(choice)case 1:/定义对象ofstreamout(cilent.dat,ios:app);/以输入方式打开, 写入的数据添加到文件的尾部 baobei.getdetail();/ 调用获取详细信息的函数out.write(char*)&baobei,sizeof(baobei);/ 用二进制的方式写入文本文件out.close();/关闭文件夹break;case 2:ifstream in(cilent.dat);/读取信息baobei.display();/ 调用显示初始化化信息函数whi
18、le(in.read(char*)&baobei,sizeof(baobei)/采用循环二进制读取数据,将每组储存的数据都进行读取baobei.print();/ 输出宝贝预定信息Yage:statistics();in.close();/ 关闭文件夹break;case 3:char number120;coutnumber1;cin.ignore();fstreamfs(cilent.dat,ios:in|ios:out);/ 输入输出都包含的函数,进行数据的修改while(fs.read(char*)&baobei,sizeof(baobei)/采用循环二进制读取数据,将每组储存的数据都进行读取int p=fs.tellg(); /返回输入文件读指针的当前位置if(strcmp(number1,baobei.getnumber()=0)/ 输入的宝贝编号与文件中的编号相同fs.seekg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国食品工业果葡糖浆行业现状供需研究及投资评估规划指导报告
- 2026汽车零部件制造行业市场现状与投资策略深度分析报告
- 2026汽车发动机系统制造企业市场竞争格局与产品创新分析报告
- 2026中国智能农业无人机应用现状调研及产业投资发展方向报告
- 2026汽车运输行业市场立体深入优化及运输体系与效率管理过程分析报告
- 2026中国边缘AI推理芯片能效比优化与场景落地研究报告
- 2026中国新生儿遗传病筛查覆盖率提升策略与成本效益研究
- 2026中国医药工业生物制药行业市场现状供需分析及投资评估规划分析研究报告
- 2026煤炭加工业市场供需分析及投资评估规划分析研究报告
- 2026中国智能环保设备创新研发行业市场供需分析及投资评估规划分析研究报告
- GB/T 3672.1-2025橡胶制品的公差第1部分:尺寸公差
- T/CAQI 40-2018直饮水水站安全技术要求
- 智慧城市建设项目管理合作框架协议
- 家庭教育概论 课件 第1-5章 家庭与家庭教育- 亲子关系:家庭教育的起点与结果
- 涉密文件印制协议书
- 肺性脑病护理查房
- GB/T 25820-2025包装用钢带
- 2024消防设施检测方案
- DB45T 2321-2021 汁汽阀技术规范
- 西藏自治区多雄藏布帕孜水利枢纽及配套灌区工程环评
- 著作权共同所有权声明
评论
0/150
提交评论