C杂志订阅管理系统.doc

上传人:美****子 文档编号:58014375 上传时间:2022-11-06 格式:DOC 页数:15 大小:59KB
返回 下载 相关 举报
C杂志订阅管理系统.doc_第1页
第1页 / 共15页
C杂志订阅管理系统.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《C杂志订阅管理系统.doc》由会员分享,可在线阅读,更多相关《C杂志订阅管理系统.doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、#include /数据流输入输出#include/字符串操作#include/文件输入输出#include/时间库函数#include/输入输出格式符using namespace std;/命名空间int year,month;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/class Order_inforstring name; /用户姓名string sex; /用户性别string addr; /用户地址string tel; /用户号码string mage; /杂志单位

2、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();s

3、tring 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

4、setg(int k) g=k; /设置系统修改标志int getg() return g; /返回系统修改标志d;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/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

5、:getname()return name;/*888888888888888888888888888888888888888888888888888888888888888888888888*/class Menu public:void about(); /关于 void mainmenu(); /主菜单函数bool land(); /管理员登陆;/*888888888888888888888888888888888888888888888888888888888888888888888888*/void Menu:about()coutendl t1.endl t2.endl t3.en

6、dl t4.endl; coutendl;/*88888888888888888888888888888888888888888888888888888888888888888888888888*/bool Menu:land()Menu b; /定义菜单类对象 b.about(); /输出系统说明string s; int i=0; /计数变量cout请输入管理员密码:s;if(s=123456) /输入正确return true; /返回正确else /输错了 cout=3) /连输三次错误 break; /跳出循环cout输入错误三次!系统自动退出!endl; /提示将退出登录syste

7、m(pause); /显示暂停return false; /返回错误/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Menu:mainmenu() system(cls);string s; cout*endl; cout 欢送使用杂志订阅管理软件 endl; cout*endl; couttt0.退出程序 4.浏览订阅用户endl;couttt1.增加新订户 5.查找用户信息endl;couttt2.删除用户 6.修改用户信息endl;couttt3.统计本期杂志订户数 7

8、.保存信息 endl;couts;switch(s0)case1:d.order();break;case2:d.del_select();break;case3:d.statistic();break;case4:d.show();break;case5:d.found();break;case6:d.mend();break;case7:d.save();break;default:return;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:in

9、put()coutname; /输入姓名if (cin.fail() /判断输入的数据类型是否有错cout n姓名输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环coutsex; /输入性别if (cin.fail() /判断输入的数据类型是否有错cout n性别输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环coutaddr; /输入地址if (cin.fail() /判断输入的数据类型是否有错cout n地址输入

10、错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环couttel; /输入 号码if (cin.fail() /判断输入的数据类型是否有错cout n号码输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环coutmage; /输入杂志单位if (cin.fail() /判断输入的数据类型是否有错cout n杂志单位输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break

11、; /输入正确那么跳出循环coutprice; /输入单价if (cin.fail() /判断输入的数据类型是否有错cout n单价输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环coutnum; /输入订阅数if (cin.fail() /判断输入的数据类型是否有错cout n订阅数输入错误,请重新输入:;cin.clear(); /去除错误状态cin.get(); /重输else break; /输入正确那么跳出循环coutym; /输入期限if (cin.fail() /判断输入的数据类型是否有错c

12、out namesexaddrtelmagepricenumym; /输入至链表 /*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:output() /信息输出函数向显示屏输出coutsetw(8)namesetw(4)sexsetw(10)addrsetw(13)telsetw(10)magesetw(6)pricesetw(4)numsetw(2)y/mendl; /*88888888888888888888888888888888888888888

13、8888888888888888888888888888888888*/void Order_infor:output(ofstream & outfile) /向文件输出信息 outfilesetw(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 y|(year=y&monthm)/先比拟年,假设一样那么比拟月return true; /比拟当前时间与限期,获得订阅的当前状况,返回表示订阅超期elseret

14、urn false; /返回表示订阅未超期/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:order() /向链表尾部录入订阅信息 system(cls); /清屏 Order_infor *p1,*p2=NULL; /定义对象指针p1=head; /将头指针赋给p1int n=1; /定义循环控制变量while(p1-next) /当头结点后有数据时执行循环,头结点为空也不会执行循环p1=p1-next; /使p能够指向未存放数据的内存,录入信息会存

15、放在所有信息之后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); /标记为修改coutn; /输入n/*88888888888888888888888888888888888888888888

16、8888888888888888888888888888888*/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)期限next) /只要下一结点不为空那么执行循环 /此循环功能在于输出所有订阅信息p=p-next; /P指向下一节点 coutsetw(8)namesetw(8)sexsetw(8)addrsetw(13)telset

17、w(8)magesetw(8)pricesetw(8)numsetw(4)y/mendl; /调用next所指对象的输出信息函数,头结点未存放数据只是初始化了next/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:found() system(cls); /清屏string n; /定义辅助变量coutn; /输入选择if(!find(n) /调用find函数查找couttt找不到你要查找的内容!next) /当链表未至尾部时执行循环if( (p-ne

18、xt)-getname()=n ) /班次匹配上那么输出所查到的订阅信息cout.setf(ios:left);cout订阅根本信息如下:endl /输出信息 姓名 性别 地址 单位 单价 定阅数 期限next)-output(); /调用输出函数return p; /表示找到,返回的是目标结点的前一结点p=p-next; /指向下一节点return NULL;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:mend() /修改函数 system(cl

19、s); /清屏Order_infor *p; /定义信息类指针变量string n;coutn;p=find(n); /调用查找函数if(!p) /判断是否找到couttt找不到你要修改的内容!请利用程序查询功能确认!next)-input(); /调用录入函数对目标结点数据再录入 Order_infor:setg(1);/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:del_select()cout请选择删除选项:endl;cout1.删除过期用户;

20、2.删除指定用户c;switch(c)case 1:d.del2();break;case 2:d.del1();break;default:cout输入错误!;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:del1() /删除车辆信息函数 system(cls); /清屏Order_infor *p1,*p2,*p3; /定义两对象指针用于链表操作string n; coutn;p1=find(n); /调用查找函数if(!p1) /判断函数返回值是否为NULL couttt找不到你要删除的内容!endl; /输出没找到的提示re

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com