C++杂志订阅管理系统Word下载.docx

上传人:b****1 文档编号:3913688 上传时间:2023-05-02 格式:DOCX 页数:24 大小:19.53KB
下载 相关 举报
C++杂志订阅管理系统Word下载.docx_第1页
第1页 / 共24页
C++杂志订阅管理系统Word下载.docx_第2页
第2页 / 共24页
C++杂志订阅管理系统Word下载.docx_第3页
第3页 / 共24页
C++杂志订阅管理系统Word下载.docx_第4页
第4页 / 共24页
C++杂志订阅管理系统Word下载.docx_第5页
第5页 / 共24页
C++杂志订阅管理系统Word下载.docx_第6页
第6页 / 共24页
C++杂志订阅管理系统Word下载.docx_第7页
第7页 / 共24页
C++杂志订阅管理系统Word下载.docx_第8页
第8页 / 共24页
C++杂志订阅管理系统Word下载.docx_第9页
第9页 / 共24页
C++杂志订阅管理系统Word下载.docx_第10页
第10页 / 共24页
C++杂志订阅管理系统Word下载.docx_第11页
第11页 / 共24页
C++杂志订阅管理系统Word下载.docx_第12页
第12页 / 共24页
C++杂志订阅管理系统Word下载.docx_第13页
第13页 / 共24页
C++杂志订阅管理系统Word下载.docx_第14页
第14页 / 共24页
C++杂志订阅管理系统Word下载.docx_第15页
第15页 / 共24页
C++杂志订阅管理系统Word下载.docx_第16页
第16页 / 共24页
C++杂志订阅管理系统Word下载.docx_第17页
第17页 / 共24页
C++杂志订阅管理系统Word下载.docx_第18页
第18页 / 共24页
C++杂志订阅管理系统Word下载.docx_第19页
第19页 / 共24页
C++杂志订阅管理系统Word下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++杂志订阅管理系统Word下载.docx

《C++杂志订阅管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++杂志订阅管理系统Word下载.docx(24页珍藏版)》请在冰点文库上搜索。

C++杂志订阅管理系统Word下载.docx

voidoutput();

//输出函数

voidoutput(ofstream&

outfile);

//写入函数

floatgetprice();

intgetnum();

intgetyear();

//获取期限时间函数

intgetmonth();

stringgetname();

voidorder();

//录入信息

voidmend();

//修改信息

voiddel_select();

voiddel1();

//删除信息

voiddel2();

voidfound();

Order_infor*find(stringn);

boolfind(inty,intm);

voidstatistic();

voidshow();

//显示信息

boolcomp(inty,intm);

//判断当前订阅状况函数

voidsave();

//保存信息

voidbegin();

//初始信息

voidclear();

//清除函数

voidsetg(intk){g=k;

}//设置系统修改标志

intgetg(){returng;

}//返回系统修改标志

}d;

floatOrder_infor:

:

getprice()

returnprice;

}

intOrder_infor:

getnum()

returnnum;

getyear()

returny;

getmonth()

returnm;

stringOrder_infor:

getname()

returnname;

/*888888888888888888888888888888888888888888888888888888888888888888888888*/

classMenu

{

public:

voidabout();

//关于

voidmainmenu();

//主菜单函数

boolland();

//管理员登陆

};

voidMenu:

about()

cout<

<

"

┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅"

endl

<

\t1."

\t2."

\t3."

\t4."

endl;

┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅"

/*88888888888888888888888888888888888888888888888888888888888888888888888888*/

boolMenu:

land()

Menub;

//定义菜单类对象

b.about();

//输出系统说明

strings;

inti=0;

//计数变量

请输入管理员密码:

//输出提示信息

while

(1)

{

cin>

>

s;

if(s=="

123456"

)//输入正确

returntrue;

//返回正确

else//输错了

输入密码错误,请重新输入:

;

i++;

//计数变量自加

if(i>

=3)//连输三次错误

break;

//跳出循环

}

输入错误三次!

系统自动退出!

//提示将退出登录

system("

pause"

);

//显示暂停

returnfalse;

//返回错误

mainmenu()

cls"

********************************************************************************"

欢迎使用杂志订阅管理软件"

\t\t0.退出程序4.浏览订阅用户"

\t\t1.增加新订户5.查找用户信息"

\t\t2.删除用户6.修改用户信息"

\t\t3.统计本期杂志订户数7.保存信息"

请输入功能按钮:

switch(s[0])

case'

1'

d.order();

break;

2'

d.del_select();

3'

d.statistic();

4'

d.show();

5'

d.found();

6'

d.mend();

7'

d.save();

default:

return;

voidOrder_infor:

input()

cout<

请输入姓名:

"

while

(1)

{

cin>

name;

//输入姓名

if(cin.fail())//判断输入的数据类型是否有错

{

cout<

\n姓名输入错误,请重新输入:

cin.clear();

//清除错误状态

cin.get();

//重输

}

elsebreak;

//输入正确则跳出循环

}

cout<

请输入性别:

sex;

//输入性别

\n性别输入错误,请重新输入:

请输入地址:

//设置地址

addr;

//输入地址

\n地址输入错误,请重新输入:

请输入电话号码:

//设置电话号码

tel;

//输入电话号码

\n号码输入错误,请重新输入:

请输入杂志单位:

//设置杂志单位

mage;

//输入杂志单位

\n杂志单位输入错误,请重新输入:

请输入单价:

//设置单价

price;

//输入单价

\n单价输入错误,请重新输入:

请输入订阅数:

//设置订阅数

num;

//输入订阅数

\n订阅数输入错误,请重新输入:

请输入订阅限期(年月):

//设置期限

y>

m;

//输入期限

\n订阅限期输入错误,请重新输入:

input(ifstream&

infile)//带参录入函数向链表输入

infile>

name>

sex>

addr>

tel>

mage>

price>

num>

//输入至链表

output()//信息输出函数向显示屏输出

setw(8)<

name<

setw(4)<

sex<

setw(10)<

addr<

setw(13)<

tel<

mage<

setw(6)<

price<

num<

setw

(2)<

y<

/"

m<

output(ofstream&

outfile)//向文件输出信息

outfile<

name//setw()设置输出宽度

<

sex

addr

setw(12)<

tel

mage

price

num

y

m

boolOrder_infor:

comp(inty,intm)//判断是否超期

if(year>

y||(year==y&

&

month>

m))//先比较年,若一样则比较月

returntrue;

//比较当前时间与限期,获得订阅的当前状况,返回表示订阅超期

else

returnfalse;

//返回表示订阅未超期

order()//向链表尾部录入订阅信息

//清屏

Order_infor*p1,*p2=NULL;

//定义对象指针

p1=head;

//将头指针赋给p1

intn=1;

//定义循环控制变量

while(p1->

next)//当头结点后有数据时执行循环,头结点为空也不会执行循环

p1=p1->

next;

//使p能够指向未存放数据的内存,录入信息会存放在所有信息之后

while(n)//此循环执行在链表尾部插入录入的信息

{//通过循环不断开辟新空间录入新的数据

p2=newOrder_infor;

//开辟存储空间,返回地址给p2

p2->

input();

//调用录入函数,为p2所指结点数据赋值

p1->

next=p2;

//p1的next指向新开辟空间,连接了p1和p2

next=NULL;

//p2的next变为空指针

//p1指向新开辟的空间,p1紧随p2之后

Order_infor:

setg

(1);

//标记为修改

\t\t\t按1继续,按0返回:

//控制变量控制循环

n;

//输入n

show()

cout.setf(ios:

left);

订阅基本信息如下:

endl//显示所有订阅信息

姓名"

性别"

地址"

电话"

单位"

单价"

定阅数"

期限"

Order_infor*p;

//定义订阅信息类对象指针

p=head;

//指向链表头部,启用链表信息

while(p->

next)//只要下一结点不为空则执行循环

{//此循环功能在于输出所有订阅信息

p=p->

//P指向下一节点

p->

<

//调用next所指对象的输出信息函数,头结点未存放数据只是初始化了next

found()

stringn;

//定义辅助变量

输入姓名:

cin>

//输入选择

if(!

find(n))//调用find函数查找

\t\t找不到你要查找的内容!

//找不到的话输出相应提示信息

return;

//函数调用结束

Order_infor*Order_infor:

find(stringn)

//定义辅助指针

//指向链表头结点

next)//当链表未至尾部时执行循环

{

if((p->

next)->

getname()==n)//班次匹配上则输出所查到的订阅信息

{

cout.setf(ios:

endl//输出信息

姓名性别地址电话单位单价定阅数期限"

(p->

output();

//调用输出函数

returnp;

//表示找到,返回的是目标结点的前一结点

}

//指向下一节点

returnNULL;

mend()//修改函数

Order_infor*p;

//定义信息类指针变量

stringn;

\t\t\t输入姓名方便查找:

p=find(n);

//调用查找函数

p)//判断是否找到

\t\t找不到你要修改的内容!

请利用程序查询功能确认!

return;

(p->

//调用录入函数对目标结点数据再录入

Order_infor:

del_select()

请选择删除选项:

1.删除过期用户;

2.删除指定用户"

intc;

c;

switch(c)

case1:

d.del2();

case2:

d.del1();

cout<

输入错误!

del1()//删除车辆信息函数

Order_infor*p1,*p2,*p3;

//定义两对象指针用于链表操作

\t\t\t输入姓名:

p1=find(n);

p1)//判断函数返回值是否为NULL

\t\t找不到你要删除的内容!

//输出没找到的提示

}

\n\t\t\t确定删除(y/n)?

//显示将要删除数据信息供用户核对

chara;

a;

//输入指示

if(a=='

y'

||a=='

Y'

{//因为头结点为空仅有next域所以只要考虑被删结点是中间结点和尾结点情况

if((p1->

next==NULL)//目标结点为尾结点时

p2=p1->

//p2指向目标结点

p1->

//p1连接目标结点的next域重新赋值为空指针

deletep2;

//释放目

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2