开发阳光旅行网app中用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。
具体功能要求如下:(1)显示系统主菜单包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。
执行结果如图1所示。
图1主菜单(2)添加出行订单填写出行日期、联系人手机号码、循环录入出行人信息。
出行人信息包括:出行人类别:成人、儿童(1.2m以下)、老人(65岁以上)姓名年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”)如果是儿童,需确定是否占床每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。
定价如下:成人:2000元/人儿童:免费,如需占床另加30元老人:半价,即1000元/人当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括:出行日期联系人手机号码订单总金额(即所有出行人定单金额之和)最后显示主菜单。
执行效果如图2所示。
图2添加出行订单(3)查看我的出行订单信息查看我的出行订单:查看所录入的订单信息。
包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。
图3查看我的出行订单(4)修改行程信息可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。
图4手机号码不是11位正确修改后,显示修改后的信息,并提示“修改成功!”。
如图5所示。
图5修改订单成功(5)删除出行人填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。
如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。
图6删除出行人成功图7删除出行人失败(6)查看行程显示本次旅行行程信息。
即读取“旅游行程.txt”文件(素材提供),显示在控制台。
运行效果如图8所示。
图8查看行程(7)退出系统退出当前系统,显示“欢迎下次再来。
”如图9所示。
三、要求与实现步骤(一)不使用数据库,使用对象和集合存储数据(二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。
实体类至少包含但不局限于以上3个。
(三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。
(四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。
需使用到对象传参。
(五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。
(六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。
(七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。
(八)使用I/O技术实现文件的读取功能,将文本文件“行程信息.txt”中的内容显示到控制台。
(九)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。
2024/8/18 6:35:06 15KB 阳光旅行
1
直接输入所要爬虫图片的名称,能够循环遍历各个网站,并且下载所含关键字的名称图片
2024/8/18 3:55:58 3KB python
1
开发环境为eclipse+cdt插件,用消息与共享内存实现信号量的控制设计内容要求产生3个进程:1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;
申请返回,表示进入了临界区。
在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;
当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请;
当申请返回,显示:“进程x已退出临界区。
”2、一个进程作为原语的管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;
如果不允许进入,则进入循环等待,直到允许为止;
3、对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。
4、进程间通信可以采用信号、消息传递、管道或网络通信方式。
1
反向传播算法是人工神经网络训练时采用的一种通用方法,在现代深度学习中得到了大规模的应用。
全连接神经网络(多层感知器模型,MLP),卷积神经网络(CNN),循环神经网络(RNN)中都有它的实现版本。
算法从多元复合函数求导的链式法则导出,递推的计算神经网络每一层参数的梯度值。
算法名称中的“误差”是指损失函数对神经网络每一层临时输出值的梯度。
反向传播算法从神经网络的输出层开始,利用递推公式根据后一层的误差计算本层的误差,通过误差计算本层参数的梯度值,然后将差项传播到前一层
1
包含链表的基本操作,能够实现多数位的大整数计算,以及十进制数和二进制数的相互转换。
2024/8/9 16:11:28 3.31MB c++ 计算器 链表
1
项目描述: 主函数分为两部分:1.登录函数 2.主菜单功能函数 一、登录函数运用到坐标读取,bmp图片显示,文件读写等操作,其中,注册用户用到了文件的写入, 把注册的信息写入到用户信息文本。
登录时,用到文件的读,把存放用户信息的文本内容读取出来并存放在单向链表中, 登录时,通过字符串比较函数匹配账号密码时候正确 二、是主菜单功能函数,该函数主要有四部分功能函数组成,分别为音乐播放函数,视频播放函数,电子相册,2048小游戏函数组成 音乐播放函数:主要利用递归读取目录把读到的.mp3后缀名的文件的路径名用双向循环链表存放起来,利用madplay相关命令进行播放,暂停等操作。
视频播放函数:主要利用递归读取目录把读到的.mp4或者.avi后缀名的文件的路径名用双向循环链表存放起来,利用mplayer相关命令进行播放,暂停等操作。
电子相册:主要利用归读取目录把读到的.bmp后缀名的文件的路径名用双向循环链表存放起来,利用读取坐标判断点击或者滑动的相关操作进行图片显示 其中,进入电子相册,默认路径下的所有图片均按一定比例缩放在一定区域浏览,可通过滑动翻至另外预览图片页, 也可通过点击预览图片进入原始比例大小查看,在原始比例大小查看期间,可点击放大或者缩小,也可以通过滑动显示下一张图片的原始比例大小的查看。
在图片显示过程中,图片显示效果主要是由中间向两边扩散。
不足之处:图片缩放利用的是直接改变前54字节头结点的信息,当图片宽度w*3%4不等于0时 缩放图片变形(原因:bmp图片特点导致,利用该方法无法解决该缺点) 2048小游戏:利用二维数组表示每行每列的数字,通过方向键或者左右上下滑动来确定数字要移动的方向,通过左右移,上下移的函数算法,进行相应的逻辑处理 最后以图片显示和打印的结果显示。
在每一次改变后,把改变后的二维数组,以及剩余的空白格子数存放在栈式链中,利用栈的后进先出的逻辑实现 返回上一步的功能
2024/8/8 4:46:45 33KB 文件io 音视频 相册 2048小游戏
1
采用矩阵移位相加与相减,避免了多层for循环,大大加快了程序的运行速度,而且4邻域与8邻域的权值可以调整
2024/8/7 20:18:33 1KB 图像 邻域方差 加权
1
内科学(第9版)第三篇循环系统疾病第十一章心脏骤停与心脏性猝死.pptx
1
汽车工业已经成为我国工业第五大支柱产业,其产业链长、关联度高、消费拉动大,被业内人士公认为涉及面最广、技术复杂程度最高的领域之一,在国民经济和社会发展中发挥着重要作用。
而推动汽车行业发展的重点在于汽车物流的发展。
在由供应物流、生产物流和销售物流组成的汽车供应链体系中,汽车零部件物流是整个汽车供应链的源头、是最复杂的环节,涉及数百家零部件供应商和上万个零部件种类。
而提高供应物流运作效率的关键在于选择何种物流运作模式进行运输调度。
汽车零部件物流采用循环取货模式设计的车辆路径进行零部件配送,可以有效地降低运输费用和包装费用,从而降低整个供应链的成本。
循环取货车辆路径问题特点是取货车辆按照设计好的路径在规定的时间窗口内从供应商处将货物运送至汽车厂,同时将从汽车厂返回的空箱送回供应商处。
循环取货是小批量、多频次、及时的、闭环拉动式的取货模式,具有节省库存,提高送货质量和物流运作效率的优点,对降低整个汽车供应链的成本具有重要的作用。
基于以上分析,本文运用物流工程学、运筹学、计算机科学等方法,对汽车供应物流循环取货的关键问题—车辆路径问题进行研究。
首先结合所研究问题的背景和意义及国内外研究现状,提出了本文的研究重点及思路,并系统地阐述了汽车物流、循环取货、车辆路径问题及禁忌搜索算法的相关理论。
其次,建立了循环取货车辆路径问题的数学模型,并进行了拆分约束、重量约束和时间窗约束。
最后,对禁忌搜索法进行改进,同时对各个要素进行设计。
同时,结合本文给出循环取货的具体算例,用C#编程实现本文设计的算法进行算例求解对初始数据进行拆分和不拆分的判断,进行数据分析,证明本文所建立模型的合理性。
2024/8/2 21:39:45 2.18MB 循环取货 matlab
1
谭浩强-C++程序设计内容目录:第1篇基本知识第1章C++的初步知识*1.1从C到C++*1.2最简单的C++程序1.3C++程序的构成和书写形式1.4C++程序的编写和实现1.5关于C++上机实践第2章数据类型与表达式2.1C++的数据类型2.2常量2.3变量2.4C++的运算符2.5算术运算符与算术表达式2.6赋值运算符与赋值表达式2.7逗号运算符与逗号表达式第2篇面向过程的程序设计第3章程序设计初步3.1面向过程的程序设计和算法3.2C++程序和语句3.3赋值语句3.4C++的输入与输出3.5编写顺序结构的程序3.6关系运算和逻辑运算3.7选择结构和if语句3.8条件运算符和条件表达式3.9多分支选择结构和switch语句3.10编写选择结构的程序3.11循环结构和循环语句3.12循环的嵌套3.13break语句和continue语句3.14编写循环结构的程序第4章函数与预处理4.1概述4.2定义函数的一般形式4.3函数参数和函数的值4.4函数的调用*4.5内置函数*4.6函数的重载*4.7函数模板*4.8有默认参数的函数4.9函数的嵌套调用4.10函数的递归调用4.11局部变量和全局变量4.12变量的存储类别4.13变量属性小结4.14关于变量的声明和定义4.15内部函数和外部函数4.16预处理命令第5章数组5.1数组的概念5.2一维数组的定义和引用5.3二维数组的定义和引用5.4用数组名作函数参数5.5字符数组*5.6C++处理字符串的方法——字符串类与字符串变第6章指针6.1指针的概念6.2变量与指针6.3数组与指针6.4字符串与指针6.5函数与指针6.6返回指针值的函数6.7指针数组和指向指针的指针6.8有关指针的数据类型和指针运算的小结*6.9引用第7章自定义数据类型7.1结构体类型7.2共用体7.3枚举类型7.4用typedef声明类型第3篇基于对象的程序设计第8章类和对象8.1面向对象程序设计方法概述8.2类的声明和对象的定义8.3类的成员函数8.4对象成员的引用8.5类的封装性和信息隐蔽8.6类和对象的简单应用举例第9章关于类和对象的进一步讨论9.1构造函数9.2析构函数9.3调用构造函数和析构函数的顺序9.4对象数组9.5对象指针9.6共用数据的保护9.7对象的动态建立和释放9.8对象的赋值和复制9.9静态成员9.10友元9.11类模板第10章运算符重载10.1什么是运算符重载10.2运算符重载的方法10.3重载运算符的规则10.4运算符重载函数作为类成员函数和友元函数10.5重载双目运算符10.6重载单目运算符10.7重载流插入运算符和流提取运算符10.8不同类型数据间的转换第4篇面向对象的程序设计第11章继承与派生11.1继承与派生的概念11.2派生类的声明方式11.3派生类的构成11.4派生类成员的访问属性11.5派生类的构造函数和析构函数11.6多重继承11.7基类与派生类的转换11.8继承与组合11.9继承在软件开发中的重要意义第12章多态性与虚函数12.1多态性的概念12.2一个典型的例子12.3虚函数12.4纯虚函数与抽象类第13章输入输出流13.1C++的输入和输出13.2标准输出流13.3标准输入流13.4文件操作与文件流13.5字符串流
1
共 661 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡