博客文章管理系统设计.doc_第1页
博客文章管理系统设计.doc_第2页
博客文章管理系统设计.doc_第3页
博客文章管理系统设计.doc_第4页
博客文章管理系统设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

博客文章管理系统一 需求分析本次课程设计需要实现的是博客文章管理系统。经过初步研究调查,博客文章项目多种多样,有小说、散文、诗歌等。各项研究的人员也是不同的,各项文章投入的内容各有差异。所以初步设定文章的属性有编号、文章名和文章类别等等。文章项目被不断的研究出来,所以系统需要实现录入与删除功能。读者对文章研究项目需要进行选择,系统必须相应的实现查询与排序的功能。最后,文章项目被确定以后,系统需要把数据从内存中写入硬盘,实现输入输出功能。系统简单流程: 开始 退出删除显示保存修改查询添加项目选择博客文章管理系统:1.理顺和规范文章信息的查询和数据保存。2.提供集成的信息系统,实现业务数据和资料的共享。3.由于数据的处理由系统自动完成,准确性与及时性大大提高,分析手段更加规范和多样,不但减轻了工作强度,还将促进博客管理人员从繁琐的事务处理中解放出来,用更多的时间研究文章的分类和更高效的管理,研究并运用现代管理方法改进博客文章信息管理,促进现代管理方法在文章管理中的广泛应用。博客文章系统各功能模块 :1、登记入录函数;2、输出显示函数;3、保存数据函数;4、删除函数;5修改函数;6、查询函数(内分:按编号查询、按发布日期查询、按文章名查询、退出查询);7退出函数2 系统设计和实现a)系统研究项目类 系统研究项目类中,ID是文章编号,Name是文章名称,Time是发布日期等等。研究项目整个类中包含一个输出函数。所有数据成员与函数成员均为公有类型。class cBlogarticle+ IDBUFSIZE:char/ 文章编号+ NameBUFSIZE:char/文章名称+ TimeBUFSIZE:char/发布日期+ FunctionBUFSIZE:char/主要内容+StayTime :int/有效期+Recommendedindex:double/推荐指数+ flay :bool/标志+ cBlogarticle()/构造函数初始化b)设定的界面 博客文章管理系统 1:文章信息添加 2:文章信息显示 3:文章信息保存 4:文章信息删除 5:文章信息修改 6:文章信息查询 7:退 出 系 统 你选择c)关键代码的分析(1) 读取数据库void ReadData(tList *tListMedic)/读取数据库char bufBUFSIZE; ifstream ifile(Blogarticle.txt,ios_base:in);/创建一个输出文件流对象if (!ifile) cerr 读取时打开文件出错! Insert(Blogarticle);cout读取数据成功!nn;ifile.close();/关闭文件return;void Display(tList *tListMedic) /显示链表 cNode *p;p=tListMedic-head-next;while(p) if(p-data.flag) coutnn文章编号:data).IDt文章名:data).Namentt发布日期:data).Timentt类别:data).Style;coutntt主要内容:data).Functionntt有效期:data).StayTimentt推荐指数data).Recommendedindex;p=p-next;coutendl;system(pause);system(cls);return;(2)添加文章函数void AddTheBlogarticle(tList *tListMedic)/添加文章函数 cintempBlogarticle.Name;/读入文章名couttempBlogarticle.Time;/读入发布日期couttempBlogarticle.Style;/读入类别couttempBlogarticle.Function;/读入主要内容couttempBlogarticle.StayTime;/读入有效期couttempBlogarticle.Recommendedindex;/读入指数tempBlogarticle.flag=true;tListMedic-Insert(tempBlogarticle);cout添加成功!n;system(pause);system(cls);(3) 保存数据void SaveData(tList *tListMedic)/保存数据int i=0;ofstream ofile(Blogarticle.txt,ios_base:out);/创建一个输入文件流对象if (!ofile) cerr 保存时打开文件出错! endl; cNode *p;p=tListMedic-head-next;while(p)/从内存中读取数据,存到外盘if(p-data.flag) ofilen;ofiledata).IDn;ofiledata).Namen;ofiledata).Timen;ofiledata).Stylen;ofiledata).Functionn;ofiledata).StayTimen;ofiledata).Recommendedindexnext;cout保存数据成功!n;ofile.close();system(pause);system(cls);return;(4) 查询函数void FindTheBlogarticleById(tList *tListMedic)/根据文章编号查找文章char idBUFSIZE;coutid;/读取文章编号bool flag=false; cNode *p;p=tListMedic-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)flag=true;break;p=p-next;if(flag=false) cout对不起,没有你所查找的文章!n;/如果找不到else /如果找到了/显示屏幕coutn找到了,该文章的信息是:n;coutnn文章编号:data).IDt文章名:data).Namentt发布日期:data).Timentt类别:data).Style;coutntt主要内容:data).Functionntt有效期:data).StayTimentt推荐指数data).Recommendedindex; coutendl;system(pause);system(cls);return;(5) 查找文章void FindTheBlogarticle(tList *tListMedic)/查找文章system(cls);while(1)coutnnnn;cout 1:按文章编号查询nn;cout 2:按文章名查询nn;cout 3:按类别查询nn;cout 4:退出查询nn;coutchoose;switch(choose)/根据用户选择case 1:FindTheBlogarticleById(tListMedic);/按文章编号查询break;case 2:FindTheBlogarticleByName(tListMedic);/按文章名查询break;case 3:FindTheBlogarticleByStyle(tListMedic); /按类别查询break;case 4:system(cls);return;/退出查询default:break;return;(6)修改文章信息void ModifyTheBlogarticle(tList *tListMedic)/修改文章信息char idBUFSIZE;coutid;/读取文章编号bool flag=false; cNode *p;p=tListMedic-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)flag=true;break;p=p-next;if(flag=false) cout对不起,没有你所查找的文章!n;/如果找不到else /如果找到了/显示屏幕cout找到了,该文章的原始信息是:n;coutnn文章编号:data).IDt文章名:data).Namentt发布日期:data).Timentt类别:data).Style;coutntt主要内容:data).Functionntt有效期:data).StayTimentt推荐指数data).Recommendedindex;coutn下面开始修改该文章的信息:n;cBlogarticle tempBlogarticle; /定义临时文章couttempBlogarticle.ID;/读入文章编号couttempBlogarticle.Name;/读入文章名couttempBlogarticle.Time;/读入发布日期couttempBlogarticle.Style;/读入类别couttempBlogarticle.Function;/读入主要内容couttempBlogarticle.StayTime;/读入有效期couttempBlogarticle.Recommendedindex;/读入指数tempBlogarticle.flag=true;p-data=tempBlogarticle;cout修改成功!; coutendl;system(pause);system(cls);return;(7)删除文章信息void DeleteTheBlogarticle(tList *tListMedic)/删除文章信息char idBUFSIZE;coutid;/读取文章编号bool flag=false;int count=0; cNode *p;p=tListMedic-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)count+;flag=true;break;p=p-nextif(flag=false) cout对不起,没有你所查找的文章!n;/如果找不到else /如果找到了 count-;cout找到了,该文章的原始信息是:n;coutnn文章编号:data).IDt文章名:data).Namentt发布日期:data).Timentt类别:data).Style;coutntt主要内容:data).Functionntt有效期:data).StayTimentt推荐指数data).Recommendedindex;coutdata).flag=false;cout该文章的信息删除成功!n; coutendl;system(pause);system(cls);return;(8)主函数int main() tList tListMedic;tListMedic.Create(); /创建链表ReadData(&tListMedic);while(1) coutnn 博 客 文 章 管 理 系 统 nn;cout -nn;cout 1:文章信息添加nn;cout 2:文章信息显示nn;cout 3:文章信息保存nn;cout 4:文章信息删除nn;cout 5:文章信息修改nn;cout 6:文章信息查询nn;cout 7:退 出 系 统 nn;cout你选择:;int choose=0;scanf(%d,&choose);switch(choose)/根据用户选择case 1:AddTheBlogarticle(&tListMedic);/文章基本信息录入break;case 2:Display(&tListMedic);/文章基本信息显示break;case 3:SaveData(&tListMedic); /文章基本信息保存break;case 4:DeleteTheBlogarticle(&tListMedic);/文章基本信息删除break;case 5:ModifyTheBlogarticle(&tListMedic);/文章基本信息修改break;case 6:FindTheBlogarticle(&tListMedic);/文章基本信息查询break;case 7:exit(0);/退出default:break;return 0; 调试编译成功后开始运行,信息录入后,不能在文档中正确可见,经Debug调试,发现,打开文件方式出现错误,改之,运行正确。改动后的代码: couttempBlogarticle.Style;/读入类别couttempBlogarticle.Function;/读入主要内容couttempBlogarticle.StayTime;/读入有效期couttempBlogarticle.Recommendedindex;/改动之前打开方式为RecommendedIndex/就是大小写错误tempBlogarticle.flag=true;p-data=tempBlogarticle;cout修改成功!; 四.总结一、 总结经过这两周认真的学习后,我体会了很多,也学到很多东西。利用设计科研项目管理系统的机会,我加强了对C+的认识,以前自己从来没清楚过的东西现在都有了一些基本的轮廓。 在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、程序模块设计等。对Microsoft Visual C+ 6.0又有了更深入的认识。面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论