欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++杂志订阅系统.doc

    • 资源ID:33471614       资源大小:189.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++杂志订阅系统.doc

    -作者xxxx-日期xxxxC+杂志订阅管理系统【精品文档】#include<iostream> /数据流输入输出#include<string>/字符串操作#include<fstream>/文件输入输出#include<time.h>/时间库函数#include<iomanip>/输入输出格式符using namespace std;/命名空间int year,month;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/class Order_inforstring 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;/*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:getname()return name;/*888888888888888888888888888888888888888888888888888888888888888888888888*/class Menu public:void about(); /关于 void mainmenu(); /主菜单函数bool land(); /管理员登陆;/*888888888888888888888888888888888888888888888888888888888888888888888888*/void Menu:about()cout<<""<<endl <<"t1."<<endl <<"t2."<<endl <<"t3."<<endl <<"t4."<<endl; cout<<""<<endl;/*88888888888888888888888888888888888888888888888888888888888888888888888888*/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; /返回错误/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Menu:mainmenu() system("cls");string s; cout<<"*"<<endl; cout<<" 欢迎使用杂志订阅管理软件 "<<endl; cout<<"*"<<endl; cout<<"tt0.退出程序 4.浏览订阅用户"<<endl;cout<<"tt1.增加新订户 5.查找用户信息"<<endl;cout<<"tt2.删除用户 6.修改用户信息"<<endl;cout<<"tt3.统计本期杂志订户数 7.保存信息 "<<endl;cout<<"请输入功能按钮:"cin>>s;switch(s0)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;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/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; /输入正确则跳出循环/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:input(ifstream & infile) /带参录入函数向链表输入 infile>>name>>sex>>addr>>tel>>mage>>price>>num>>y>>m; /输入至链表 /*888888888888888888888888888888888888888888888888888888888888888888888888888*/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; /*888888888888888888888888888888888888888888888888888888888888888888888888888*/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;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/bool Order_infor:comp(int y,int m) /判断是否超期if(year>y|(year=y&&month>m)/先比较年,若一样则比较月return true; /比较当前时间与限期,获得订阅的当前状况,返回表示订阅超期elsereturn 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能够指向未存放数据的内存,录入信息会存放在所有信息之后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<<"ttt按1继续,按0返回: " /控制变量控制循环cin>>n; /输入n/*888888888888888888888888888888888888888888888888888888888888888888888888888*/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<<setw(4)<<p->y<<"/"<<p->m<<endl; /调用next所指对象的输出信息函数,头结点未存放数据只是初始化了next/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:found() system("cls"); /清屏string n; /定义辅助变量cout<<"输入姓名: " /输出提示信息cin>>n; /输入选择if(!find(n) /调用find函数查找cout<<"tt找不到你要查找的内容!"<<endl; /找不到的话输出相应提示信息return; /函数调用结束/*888888888888888888888888888888888888888888888888888888888888888888888888888*/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;/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:mend() /修改函数 system("cls"); /清屏Order_infor *p; /定义信息类指针变量string n;cout<<"ttt输入姓名方便查找: " /输出提示信息cin>>n;p=find(n); /调用查找函数if(!p) /判断是否找到cout<<"tt找不到你要修改的内容!请利用程序查询功能确认!"<<endl; /输出提示信息return; /函数调用结束(p->next)->input(); /调用录入函数对目标结点数据再录入 Order_infor:setg(1);/*888888888888888888888888888888888888888888888888888888888888888888888888888*/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<<"输入错误!"/*888888888888888888888888888888888888888888888888888888888888888888888888888*/void Order_infor:del1() /删除车辆信息函数 system("cls"); /清屏Order_infor *p1,*p2,*p3; /定义两对象指针用于链表操作string n; cout<<"ttt输入姓名: " /输出提示信息cin>>n;p1=find(n); /调用查找函数if(!p1)

    注意事项

    本文(c++杂志订阅系统.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开