C++杂志订阅管理系统方案
邮政业务营销高级100道多选题及答案

邮政业务营销员高级100道多选题及答案1. 下列选项属于书面形式合同的有()。
正确答案为:ABCDA. 合同书B. 信件C. 传真D. 电报2 . 以下关于客户接近法中的侧面接近法的表述正确的有()。
正确答案为:ABA. 侧面接近法也称迂回接近法B. 应用的基础是营销员需要掌握客户周围较亲密人群的大量信息,才能从中发现接近机会C. 是营销员接近客户的最好方法D. 多数情况下需要企业多个部门配合协作3. 以下关于馈赠消费心理的表述正确的有()。
正确答案为:ACDA. 馈赠产品的挑选和购买标准各不相同B. 馈赠产品的包装和外观不重要C. 馈赠产品的实用价值、质量很重要D. 消费者购买产品或服务的目的不是为了自己消费而是为了馈赠他人4 . 为了满足消费者习惯消费的心理,营销员要在工作中应做到()。
正确答案为:CDA. 主动为消费者提供各种实用性的解决方案B. 突出服务的迅速、准确、安全、方便等实用性的优点C. 针对老客户要精心地提供服务,以维护D. 针对新客户要通过不断的宣传、推介以及促销活动,他使用业务的消费习惯来吸引和培养其对业务的消费习惯5 . 下列选项中关于广告写作要求表述错误的有()。
正确答案为:BCA. 广告要构思新颖,在瞬间抓住消费者的注意B. 广告语言要以丰富的语句提供最全面的信息C. 广告不受时间和版面的限制D. 广告语言需要有强烈的艺术感染力9 . 邮政信息网主要包括()。
正确答案为:ADA. 邮政综合计算机网B. 邮政各业务管理信息系统C. 邮政组织管理系统D. 邮政金融计算机网7 . 下列选项中关于杂志广告特点表述正确的有()。
正确答案为:ACDA. 时效长B. 针对性不强C. 发行周期长D. 信息传播不及时8 . 河北的邮政编码中,省(自治区、直辖市)码为()。
正确答案为:BCDA. 4B. 5C. 6D. 79. 为了满足消费者的方便消费心理,营销员在工作中()正确答案为:ABCA. 要在宣传和介绍邮政服务时突出邮政便捷的优点B. 帮助消费者解决各种问题,节省消费者心理和体力上的成本C. 提供售前、售中和售后全方面的服务,让消费者D. 主动为消费者提供各种实用性的解决方案买的省心、用的方便10 . 以下关于服务描述正确的有()。
第三节 知网中国期刊全文库

知网数据库简介
《中国期刊全文数据库》(CJFD)是中 国知网即国家知识基础设施(National Knowledge Infrastructure,CNKI)的系列数 据库之一,国家知识基础设施(CNKI)的概 念,首先由世界银行于1998年提出,CNKI工 程是以实现全社会知识资源传播共享与增值利 用为目标的信息化建设项目,由清华大学、清 华同方发起,始建于1999年6月。该库是目前 世界上最大的连续动态更新的中国期刊全文数 据库。
《科学引文索引》索引系统
CIT (Y , Y 1) CIT (Y , Y 2) IF PUB(Y 1) PUB(Y 2)
例如,某刊 2000 年的影响因子为
CIT (20001999 CIT (20001998 , ) , ) IF (2000 ) PUB(1999 PUB(1998 ) )
1.简单检索
简单检索,主要由检索导航(左栏)和检索及 检索控制(右栏)两栏组成。检索导航栏在缺省状 态下为十大专辑,也可根据需要选择。
1.简单检索
简单检索只需输入单一检索词,点击检索按钮, 则系统将在默认的“主题”(题名、关键词、摘要) 项内进行检索,任一项中与检索条件匹配者均为命 中记录。检索项中的检索字段共有16项:主题、题 名、关键词、摘要、作者、第一作者、单位、刊名、 参考文献、全文、年、期、基金、中图分类号、 ISSN、统一刊号。
图4 简单检索界面
2.标准检索
多项单词逻辑组合检索:多项是指可选择多个 检索项,通过点击“逻辑”下方的“+” 增加一检索行;单词是指每个检索项中只可输入一 个词;逻辑是指每一检索项之间可使用逻辑与(并 且)、逻辑或(或者)、逻辑非(不包含)进行项 间组合。
杂志订阅管理系统

杂志订阅管理系统1. 简介随着数字化时代的到来,杂志订阅方式也在发生改变。
如今,越来越多的人选择在网上订阅杂志。
建立一个杂志订阅管理系统可以方便管理订阅者信息,提高管理效率,为用户提供更好的服务。
本文档将介绍该系统的设计与实现。
2. 功能该系统主要包括以下功能: - 注册和登录 - 杂志分类和浏览 - 订阅管理 - 支付 - 搜索2.1 注册和登录用户需要注册账号才能使用杂志订阅管理系统。
在注册页面,用户需要提供用户名、密码和邮箱等信息。
系统将向用户提供的邮箱发送一份验证邮件,用户需要通过验证才能登录系统。
2.2 杂志分类和浏览杂志被分成不同的分类,用户可以通过分类浏览杂志。
每个杂志都有详细的介绍和封面图片,用户可以点击查看更多信息。
2.3 订阅管理用户可以通过系统订阅自己喜欢的杂志。
在订阅管理页面,用户可以取消已订阅的杂志或者开启自动续订。
2.4 支付用户订阅杂志时,需要支付相应的费用。
系统支持多种支付方式,如支付宝、微信等。
2.5 搜索用户可以通过系统搜索自己喜欢的杂志。
系统支持关键词搜索和分类搜索两种方式。
3. 技术实现该系统主要采用前后端分离的开发方式。
前端页面使用Vue.js框架实现,后端使用Python的Flask框架实现。
具体技术实现如下:3.1 前端前端页面使用Vue.js框架实现,主要包括登录、注册、首页、订阅管理、支付、用户中心等页面。
页面样式使用Bootstrap框架实现,增加了响应式设计,适应各种设备大小。
3.2 后端后端使用Python的Flask框架实现,主要包括用户管理、杂志管理、订阅管理、支付管理等模块。
使用MySQL数据库存储系统数据。
用户信息、杂志信息和订单信息等都存储在不同的表中。
对于支付功能,系统使用第三方支付平台的API实现。
4. 系统流程系统流程图如下:graph TDA[注册] -->|验证| B[登录]B --> C{浏览}C -->|订阅| D[订阅管理]D -->|取消订阅| E[取消订阅]D -->|开启自动续订| F[开启自动续订]D -->|关闭自动续订| G[关闭自动续订]D -->|支付| H[支付]5.杂志订阅管理系统是一个非常实用的系统,可以方便管理订阅者信息,提高管理效率,为用户提供更好的服务。
第3章 电子商务模式

(二)按交易的平台运作模式来分类
• 1.拍卖平台运作模式 • 这种模式下,电子商务企业为买卖双方搭建网络
拍卖平台,按比例收取交易费用。在拍卖平台上, 商品所有者或某些权益所有人可以独立开展竞价、 议价、在线交易等。 • 2.店铺平台运作模式 • 这种模式下,C2C电子商务企业提供平台,以方 便个人在其上面开设店铺,以会员制的方式收费, 也可以通过广告或提供其他服务收取费用。
• 通俗地说,就是指进行电子商务交易的供需双方都是商家, 它们使用互联网技术或各种网络商务平台,完成商务交易活 动中的供求信息发布、商务洽谈、订货及确认订货、合同签 订、货款支付、票据的签发及传送和接收、货物的配送及监 控等过程的全部或部分。
(二)B2B电子商务的特点
• 交易额较大 • 交易操作规范 • 交易过程复杂 • 交易对象广泛
优劣势。
• (9)商业模式带来的竞争优势,包括定价优势和销售优势。 • (10)企业可能发生的变化,以及阻碍变化的因素。 • (11)预期经营收入、预期成本、融资渠道、营利能力。
二、电子商务模式的分类
1.网上订阅模式 2.广告支持模式 3.网上赠予模式
1.独立B2C网站 (1)新生网上商店 (2)传统商店自办网上商店 (3)开展直销业务的厂商 2.B2C电子化交易市场
在一起撮合形成交易。如:阿里巴巴
• (二)根据平台模式的不同
内 贸 型 B2B 电子商务
指国内供应者与采购者进行交易服务为主 的电子商务市场,交易的主体和行业范围 主要在同一国家内进行。
外贸型B2B 电子商务
指提供国内与国外供应者与采购者交易服 务为主的电子商务市场。
图5.1 内贸型 B2B、外贸型 B2B与垂直类、 综合类的关系
• 比较复杂的商务模式包括以下11个要素。 • (1)客户的特征、与企业的关系、客户的价值诉求,以及
杂志订阅工作总结

杂志订阅工作总结
杂志订阅工作是一项重要的工作,它不仅能够帮助杂志出版社了解读者的需求,还可以为读者提供更好的阅读体验。
在过去的一年里,我们在杂志订阅工作上取得了一些成绩,也遇到了一些困难和挑战。
在这篇文章中,我将对我们的工作进行总结,分析存在的问题,并提出改进的建议。
首先,我们的订阅工作取得了一些进展。
通过市场调研和推广活动,我们成功
吸引了更多的读者订阅我们的杂志。
我们还建立了一个完善的订阅管理系统,能够及时处理读者的订阅请求,并提供个性化的订阅服务。
这些工作为我们的杂志销售和读者服务带来了一定的改善。
然而,我们也面临一些问题。
首先,订阅工作的推广力度还不够大,我们需要
更多的宣传和推广活动来吸引更多的读者。
其次,订阅管理系统还存在一些不足,需要进一步完善和优化。
最后,我们的订阅服务还可以更加个性化,满足不同读者的需求。
针对这些问题,我提出以下改进建议。
首先,加大订阅工作的推广力度,可以
通过线上线下结合的方式,开展更多的宣传和推广活动,吸引更多的读者订阅我们的杂志。
其次,我们需要进一步完善订阅管理系统,提高处理订阅请求的效率和准确性。
最后,我们可以通过数据分析和个性化推荐等方式,提供更加个性化的订阅服务,满足不同读者的需求。
总的来说,我们在杂志订阅工作上取得了一些成绩,但也面临一些问题和挑战。
通过进一步完善和优化我们的订阅工作,相信我们可以为读者提供更好的阅读体验,也为杂志出版社带来更多的收益。
希望在新的一年里,我们可以继续努力,取得更好的成绩。
杂志订阅管理系统

C 语言课程设计题目:图书信息管理系统设计者:所属院系:工程学院专业:安全工程班级:055101学号:指导教师:吴湘宁C语言课程设计报告一.题目要求杂志订阅管理软件[要求]使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多订户不超过10人,每个订户的信息包括:姓名,性别,位置,电话号码,杂志单价,订阅数,订阅的期限(至XX年XX月).现在要求用菜单选择并完成下述的功能:(1)增加新订户,即将订户的全部信息输入到文件中;(2)根据当天的日期对订户文件进行查询,删除已经到期的订户记录;(3)统计本期杂志的订户数并打印运算结果;本期订户信息表:订户名订阅数单价金额李平 2 5.5 11.0黄海 1 5.5 5.5合计 3 1.0 16.5二.需求分析根据题目要求,由于杂志的订户信息要用文件存储,所以要提供文件的输入输出操作;提供文件的添加操作增加新订户;对订户文件的查阅,提供文件的查找操作;通过文件的删除操作删除已经到期的订户记录;提供统计和显示操作统计本期杂志订户数并打印运算结果;另外还要提供键盘式选择菜单以实现功能选择.三.总体设计经过分析整个系统,根据上面的需求分析,可以将整个系统的设计分为如下三大模块:增加新订户,查询,统计.四.1.主函数.主函数只提供输入,处理和输出部分的函数调用.每个功能模块用菜单方式选择.设置一个menu()函数,再用主函数调用menu()函数,使系统执行完每部分功能模块后能够方便返回到系统界面.[流程图]N[程序]void main(){FILE *fp;fp=fopen("record.txt","w"); /*建立一个"record.txt"记事本*/fclose(fp);menu();}void menu(){int n,w; /*n表示菜单选择数字*/do{printf("\t\t ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ \n\n\n");printf("\t\t 欢迎来到杂志订阅系统!\n\n\n");printf("\t\t ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ \n");printf("\n\n\t\t ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ \n\n");printf("\t\t 1:订户信息添加\n");printf("\t\t 2:订户信息浏览\n");printf("\t\t 3:订户信息统计\n");printf("\t\t ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ \n\n");printf("选择您的操作(1-3):[ ]\b\b");scanf("%d",&n);if(n<1||n>3){w=1;getchar();}else w=0;}While(w==1); /*选择功能*/switch(n){case 1:add();break; /*增加新订户记录*/case 2:search();break; /*查找过期的订户记录并删除*/ case3:statistic();break; /*统计*/case4:exit(); /*退出*/}}2.各功能模块设计(1)增加新订户模块[数据结构]单独看各个信息,姓名,性别和位置是字符型的,电话号码,订阅数和订阅期限是整型的,杂志单价是实数型的.数据信息以文件的形式存放,一条记录对应一个订户.由于信息有整型,实数型和字符型,所以应采用结构体数组来存放信息.如下:struct magazine{char name[6];char sex[2];char addr[13];char phone_number[11];char unit_price[5];char amount[4];char time_limit[8];}由于题目中明确订户最多不超过10人,所以这里定义reader[10]就够了.使用宏定义(#define N 2)方便改变每次要输入新订户的个数.[流程图]【程序】void add(){int t,i,m;t=load_record();printf("您希望添加几组订户的信息?\n");printf("请输入数字:[ ]\b\b\b");scanf("%d",&m);for(i=0;i<m;i++){printf("\n请输入第%d组订户记录!\n",i+1);input(t+i); /*调用输入函数*/}save(t+m); /*调用保存函数,保t+m组数据*/menu(); /*返回登陆界面*/}void input(int i){printf("请输入:\n姓名性别位置电话号码杂志单价订阅数订阅期限\n");scanf("%s%s%s%s%s%s%s",&order[i].name,&order[i].sex,&ord er[i].addr,&order[i].phone_number,&order[i].unit_price,&ord er[i].amount,&order[i].time_limit);}(2)查询订户信息模块【需求分析】需要根据现在日期删除已经过期订户的信息。
Koha图书馆系统使用

1. 使用无线电波式图书安全系统,取代原有的电磁波式图书安全系统。 2. 避免电磁波对人体健康的危害。
所需设备:
1. 无线电波式防盗侦测门(单信道、双信道)-侦测馆藏中的RFID芯片卷标中的安全码设定状况。 2. 柜台安全处理工作站-设定或解除馆藏中的RFID芯片卷标中的安全码设定。 3. RFID芯片卷标
条码 纸或物质表面 小 只读 光电扫描转换
受制约 无 无 很严重 全部失效 很小 低(~4s) 近 较短 有 最低
光字符 物质表面 小 只读 光电转换
简单容易 无 无 很严重 全部失效 很小 低(~3s) 很近 较短 无 ?
磁卡 磁条 较小 读/写 磁电转换
不可能 一般 无 可能 — ? ? 接触 短 有 低
附加资料:
KOHA图书馆员手册 Directory of Z39.50 and SRU Targets
Q&A
目前使用之相关软硬体设备
KOHA 与伺服器:
硬体设备
硬體設備
补充说明:自动识别技术比较与RFID
射频识别(RFID)是自动识别技术之一,但与其它自动识别技 术如条码、光字符识别、磁卡、IC卡等识别技术相比,有其突 出的特点。以下是几种自动识别技术比较。
信息载体 信息量 读写性 读取方式
人工识读性 保密性 智能化 受污染/潮湿影响 光遮盖 受方向和位置影响 识读速度 识读距离 使用寿命 国际标准 价格
- 线上续借、预约、馆藏查询 馆员:可在校内任何角落利用电脑/手机连接上KOHA操作界面,进行馆藏续借 、预约、查询等事项。 读者、公众:可随时连接图书馆网站查阅馆藏目录,读者可登录自己的张号查 阅自己的借阅状态、续借及预约本馆馆藏。
Serials
三维适形放疗患者应用热塑膜面罩的护理

1 2 方 法 1 5例均行 头 颈部 肿瘤 3 - RT, 疗前 . 6 DC 放 制 作个 体 化 面 罩 , 采 用 国产 医 用 L 一 均 TS1型 热 塑 材 料 。本 组患 者 治疗 体 位 皆 为仰 卧位 , 垫 专 用 枕 ( 头 头 颈 肩 面罩及 体架 , 州科 莱瑞 迪 医疗 器 材有 限公 司生 广 产 ) 卧于模 拟 定位 机 床面 , 仰 双手 自然 平放 身 体 两侧 , 颈 部尽 量伸 直 , 颌 骨 正 中联 合 部 平 行 床 面 , 激 光 下 用
疗时间; 由于肿瘤 干 细胞 的加速 再增 殖 和不 能 给予 致 死剂量 限制 了普 通 放 疗 疗 效 。3 - RT 通 过 C 定 DC T 位 , S治 疗计 划系 统设计 治疗 方案 , 多角度 、 共 TP 从 非 面照射 肿瘤 , 剂 量 分 布 与肿 瘤 靶 区高 度 适 形 , 大 使 大
所在 科 室 、 号 、 名 、 别 , 免 每次 放 疗 时 拿 错 面 床 姓 性 以 罩; 面罩 放置 于 温 度适 宜 的地 方 , 避免 放 置 在 温 度 过 高 的地 方 , 暖气 、 调 旁 , 如 空 以免 变 形 ; 导 患 者 放 疗 指 前保 持 颜面 部及 颈部 的清 洁干燥 , 随身 携 带柔 软 的 毛 巾或手 帕 以及 时擦 干 汗 液 或 分 泌 物 , 免 面 罩 被 沾 避 污 。如果 面罩 上有 污渍 , 时用清 洁 的湿 毛 巾擦 洗 干 及 净 , 保持 面罩 上 的字迹 清晰 。放 置 面罩 房 间统 一用 并 紫外 线空 气消 毒 , 每周 1次 , 每次 6 n 0mi 。 2 3 应用 面罩 时 的护理 患者 每次 放 疗 时先 摆好 体 . 位, 再将 面罩轻扣在患 者 的头颈 部 , 面罩 的形状 与患 使 者 的面部皮肤 贴 合 , 指导 患 者躺 在 治疗 床 上不 要 自 并 行移动 。位置 固定好 后 , 导患 者平静 地 呼吸 , 能更 指 不 换体位 , 有不适 可以用手来 示 意 , 若 咳嗽 难 以控制 的患 者应在 治疗 前服 用 镇 咳剂 。患者 每 次 放疗 结 束后 , 轻 轻脱下 面罩 。如患 者使 用 面 罩 时感觉 呼 吸不适 , 可在
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<iostream> //数据流输入输出#include<string> //字符串操作#include<fstream> //文件输入输出#include<time.h> //时间库函数#include<iomanip> //输入输出格式符using namespace std; //命名空间int year,month;/*8888888*/class Order_infor{string name; //用户string sex; //用户性别string addr; //用户地址string tel; //用户string mage; //杂志单位float price; //杂志单价int num; //订阅数目int y,m; //订阅限期int g;public:Order_infor* head; //信息类头指针Order_infor* next; //信息类next 域void input(); //录入函数void input(ifstream & infile); //读取函数void output(); //输出函数void output(ofstream & outfile); //写入函数float getprice();int getnum();int getyear(); //获取期限时间函数int getmonth();string getname();void order(); //录入信息void mend(); //修改信息void del_select();void del1(); //删除信息void del2();void found();Order_infor*find(string n);bool find(int y,int m);void statistic();void show(); //显示信息bool comp(int y,int m); //判断当前订阅状况函数void save(); //保存信息 void begin(); //初始信息 void clear(); //清除函数 void setg(int k){ g=k; } //设置系统修改标志int getg(){ return g;} //返回系统修改标志}d;/*8888888*/float Order_infor::getprice(){return price;}int Order_infor::getnum(){return num;}int Order_infor::getyear(){return y;}int Order_infor::getmonth(){return m;}string Order_infor::getname(){return name;}/*8888*/class Menu{public:void about(); //关于void mainmenu(); //主菜单函数bool land(); //管理员登陆};/*8888*/void Menu::about(){cout<<"┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅"<<endl <<"\t1."<<endl<<"\t2."<<endl<<"\t3."<<endl<<"\t4."<<endl;cout<<"┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅"<<endl;}/*888888*/bool Menu::land(){Menu b; //定义菜单类对象b.about(); //输出系统说明string s;int i=0; //计数变量cout<<"请输入管理员密码:"<<endl; //输出提示信息while(1){cin>>s;if(s=="123456") //输入正确return true; //返回正确else //输错了{cout<<"输入密码错误,请重新输入:"; //输出提示信息i++; //计数变量自加if(i>=3) //连输三次错误 break; //跳出循环}}cout<<"输入错误三次!系统自动退出!"<<endl; //提示将退出登录system("pause"); //显示暂停return false; //返回错误}/*8888888*/void Menu::mainmenu(){system("cls");string s;cout<<"******************************************************************** ************"<<endl;cout<<" 欢迎使用杂志订阅管理软件"<<endl;cout<<"********************************************************************************"<<endl;cout<<"\t\t0.退出程序 4.浏览订阅用户"<<endl;cout<<"\t\t1.增加新订户 5.查找用户信息"<<endl;cout<<"\t\t2.删除用户 6.修改用户信息"<<endl;cout<<"\t\t3.统计本期杂志订户数 7.保存信息 "<<endl;cout<<"请输入功能按钮:";cin>>s;switch(s[0]){case'1':d.order();break;case'2':d.del_select();break;case'3':d.statistic();break;case'4':d.show();break;case'5':d.found();break;case'6':d.mend();break;case'7':d.save();break;default:return;}}/*8888888*/void Order_infor::input(){cout<<"请输入: ";while(1){cin>>name; //输入if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入性别: ";while(1){cin>>sex; //输入性别if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n性别输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入地址: "; //设置地址while(1){cin>>addr; //输入地址if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n地址输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入: "; //设置while(1){cin>>tel; //输入if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入杂志单位: "; //设置杂志单位while(1){cin>>mage; //输入杂志单位if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n杂志单位输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入单价: "; //设置单价while(1){cin>>price; //输入单价if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n单价输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入订阅数: "; //设置订阅数while(1){cin>>num; //输入订阅数if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n订阅数输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}cout<<"请输入订阅限期(年月): "; //设置期限while(1){cin>>y>>m; //输入期限if (cin.fail()) //判断输入的数据类型是否有错{cout <<"\n订阅限期输入错误,请重新输入:";cin.clear(); //清除错误状态cin.get(); //重输}else break; //输入正确则跳出循环}}/*8888888*/void Order_infor::input(ifstream & infile) //带参录入函数向链表输入{infile>>name>>sex>>addr>>tel>>mage>>price>>num>>y>>m; //输入至链表}/*8888888*/void Order_infor::output() //信息输出函数向显示屏输出{cout<<setw(8)<<name<<setw(4)<<sex<<setw(10)<<addr<<setw(13)<<tel<<setw(10)<<mage<<setw(6)<<price<<setw(4)<<num<<setw(2)<<y<<"/"<<m<<endl;}/*8888888*/void Order_infor::output(ofstream & outfile) //向文件输出信息{outfile<<setw(10)<<name //setw()设置输出宽度<<setw(10)<<sex<<setw(10)<<addr<<setw(12)<<tel<<setw(10)<<mage<<setw(10)<<price<<setw(10)<<num<<setw(10)<<y<<setw(10)<<m<<endl;}/*8888888*/bool Order_infor::comp(int y,int m) //判断是否超期{if(year>y||(year==y&&month>m))//先比较年,若一样则比较月return true; //比较当前时间与限期,获得订阅的当前状况,返回表示订阅超期elsereturn false; //返回表示订阅未超期}/*8888888*/void Order_infor::order() //向链表尾部录入订阅信息{system("cls"); //清屏Order_infor *p1,*p2=NULL; //定义对象指针p1=head; //将头指针赋给p1int n=1; //定义循环控制变量while(p1->next) //当头结点后有数据时执行循环,头结点为空也不会执行循环p1=p1->next; //使p能够指向未存放数据的存,录入信息会存放在所有信息之后while(n) //此循环执行在链表尾部插入录入的信息{ //通过循环不断开辟新空间录入新的数据p2=new Order_infor; //开辟存储空间,返回地址给p2p2->input(); //调用录入函数,为p2所指结点数据赋值p1->next=p2; //p1的next 指向新开辟空间,连接了p1和p2p2->next=NULL; //p2的next 变为空指针p1=p1->next; //p1指向新开辟的空间,p1紧随p2之后Order_infor::setg(1); //标记为修改cout<<"\t\t\t按1继续,按0返回: "; //控制变量控制循环cin>>n; //输入n }}/*8888888*/void Order_infor::show(){system("cls"); //清屏cout.setf(ios::left);cout<<"订阅基本信息如下:"<<endl //显示所有订阅信息<<setw(8)<<""<<setw(8)<<"性别"<<setw(8)<<"地址"<<setw(13)<<""<<setw(8)<<"单位"<<setw(8)<<"单价"<<setw(8)<<"定阅数"<<setw(8)<<"期限"<<endl;Order_infor *p; //定义订阅信息类对象指针p=head; //指向链表头部,启用链表信息while(p->next) //只要下一结点不为空则执行循环{ //此循环功能在于输出所有订阅信息p=p->next; //P指向下一节点cout<<setw(8)<<p->name<<setw(8)<<p->sex<<setw(8)<<p->addr<<setw(13)<<p->tel<<setw(8)<<p->mage<<setw(8)<<p->price<<setw(8)<<p->num<<s etw(4)<<p->y<<"/"<<p->m<<endl; //调用next所指对象的输出信息函数,头结点未存放数据只是初始化了next }}/*8888888*/void Order_infor::found(){system("cls"); //清屏string n; //定义辅助变量cout<<"输入: "; //输出提示信息cin>>n; //输入选择if(!find(n)) //调用find函数查找{cout<<"\t\t找不到你要查找的容!"<<endl; //找不到的话输出相应提示信息return; //函数调用结束}}/*8888888*/Order_infor* Order_infor::find(string n){system("cls"); //清屏Order_infor *p; //定义辅助指针p=head; //指向链表头结点while(p->next) //当链表未至尾部时执行循环{if( (p->next)->getname()==n ) //班次匹配上则输出所查到的订阅信息{cout.setf(ios::left);cout<<"订阅基本信息如下:"<<endl //输出信息<< " 性别地址单位单价定阅数期限"<<endl;(p->next)->output(); //调用输出函数return p; //表示找到,返回的是目标结点的前一结点}p=p->next; //指向下一节点}return NULL;}/*8888888*/void Order_infor::mend() //修改函数{system("cls"); //清屏Order_infor *p; //定义信息类指针变量string n;cout<<"\t\t\t输入方便查找: "; //输出提示信息cin>>n;p=find(n); //调用查找函数if(!p) //判断是否找到{cout<<"\t\t找不到你要修改的容!请利用程序查询功能确认!"<<endl; //输出提示信息return; //函数调用结束}(p->next)->input(); //调用录入函数对目标结点数据再录入Order_infor::setg(1);}/*8888888*/void Order_infor::del_select(){cout<<"请选择删除选项:"<<endl;cout<<"1.删除过期用户;2.删除指定用户"<<endl;int c;cin>>c;switch(c){case 1:d.del2();break;case 2:d.del1();break;default:cout<<"输入错误!";}}/*8888888*/void Order_infor::del1() //删除车辆信息函数{system("cls"); //清屏Order_infor *p1,*p2,*p3; //定义两对象指针用于链表操作string n;cout<<"\t\t\t输入: "; //输出提示信息cin>>n;p1=find(n); //调用查找函数if(!p1) //判断函数返回值是否为NULL{cout<<"\t\t找不到你要删除的容!"<<endl; //输出没找到的提示return; //函数调用结束}cout<<"\n\t\t\t确定删除(y/n)?"; //显示将要删除数据信息供用户核对char a;cin>>a; //输入指示if(a=='y'||a=='Y'){ //因为头结点为空仅有next域所以只要考虑被删结点是中间结点和尾结点情况if((p1->next)->next==NULL) //目标结点为尾结点时{p2=p1->next; //p2指向目标结点p1->next=NULL; //p1连接目标结点的next域重新赋值为空指针delete p2; //释放目标空间}else{ //目标结点为中间节点时p2=p1->next; //p2指向目标结点p3=(p1->next)->next; //p3指向目标结点下一结点p1->next=p3; //连接目标结点前后结点delete p2; //释放目标结点}Order_infor::setg(1); //标记为修改}}/*8888888*/void Order_infor::del2(){system("cls"); //清屏Order_infor *p1,*p2,*p3; //定义两对象指针用于链表操作int n;char c;p1=head;while(p1->next){n=p((p1->next)->y,(p1->next)->m);if(n){system("cls");cout<<"订阅基本信息如下:"<<endl //输出信息<< " 性别地址单位单价定阅数期限"<<endl;(p1->next)->output();cout<<"是否删除(y/n)";cin>>c;if(c=='y'||c=='Y'){ //因为头结点为空仅有next域所以只要考虑被删结点是中间结点和尾结点情况if((p1->next)->next==NULL)//目标结点为尾结点时{p2=p1->next;//p2指向目标结点p1->next=NULL;//p1连接目标结点的next域重新赋值为空指针delete p2; //释放目标空间return;}else{ //目标结点为中间节点时p2=p1->next;//p2指向目标结点p3=(p1->next)->next;//p3指向目标结点下一结点p1->next=p3;//连接目标结点前后结点delete p2; //释放目标结点}Order_infor::setg(1);//标记为修改}}p1=p1->next;}}/*8888888*/void Order_infor::statistic(){Order_infor *p;int n=0;int sum=0;p=head;cout<<"本期订阅信息"<<endl;cout<<"用户名订阅数单价全额"<<endl;while(p->next){cout<<(p->next)->getname()<<"\t"<<(p->next)->getnum()<<"\t"<<(p->next)->getprice()<<"\t"<<((p->next)->getnum()*(p->next)->getprice())<<endl;n=n+((p->next)->getnum());sum+=((p->next)->getnum()*(p->next)->getprice());p=p->next;}cout<<"合计"<<"\t"<<n <<"\t\t"<<sum<<endl;}/*8888888*/void Order_infor::begin(){Order_infor *p,*p2;p=head;ifstream infile("杂志订阅.txt",ios::in);if(!infile){ofstream outfile("杂志订阅.txt",ios::out);outfile.close();return ;}while(!infile.eof()) {p2=new Order_infor;p2->input(infile);p->next=p2;p2->next=NULL;p=p->next;}infile.close();p=head;while(p->next){p2=p;p=p->next;}p2->next=NULL;}/*8888888*/void Order_infor::save(){Order_infor *p;p=head;ofstream outfile("杂志订阅.txt",ios::out);while(p->next){(p->next)->output(outfile);p=p->next;}cout<<"\t\t\t文件已保存! "<<endl;Order_infor::g=0; }/*8888888*/void Order_infor::clear(){Order_infor *p,*p2;p=head->next;while(p){p2=p;p=p->next;delete p2;}}/*8888888*/int main(){d.head=new Order_infor;d.head->next=NULL;Menu menu;int k=nd(); //调用登录函数返回值赋给K int n=1,m;d.begin();cout<<"请输入限期(年月)";cin>>year>>month;while(k&&n){menu.mainmenu();cout<<"是否继续 1——是,0——否";cin>>n;}if(d.getg()==1) //若信息被修改过,则提醒是否保存{cout<<"\t\t\t是否保存? 1┄保存0┄不保存: ";cin>>m;if(m==1)d.save();}d.clear();return 0;}//细节自己补充。