博客文章管理系统设计大学毕设论文.docx

上传人:b****3 文档编号:7033674 上传时间:2023-05-11 格式:DOCX 页数:12 大小:33.49KB
下载 相关 举报
博客文章管理系统设计大学毕设论文.docx_第1页
第1页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第2页
第2页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第3页
第3页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第4页
第4页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第5页
第5页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第6页
第6页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第7页
第7页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第8页
第8页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第9页
第9页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第10页
第10页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第11页
第11页 / 共12页
博客文章管理系统设计大学毕设论文.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

博客文章管理系统设计大学毕设论文.docx

《博客文章管理系统设计大学毕设论文.docx》由会员分享,可在线阅读,更多相关《博客文章管理系统设计大学毕设论文.docx(12页珍藏版)》请在冰点文库上搜索。

博客文章管理系统设计大学毕设论文.docx

博客文章管理系统设计大学毕设论文

博客文章管理系统

一.需求分析

本次课程设计需要实现的是——博客文章管理系统。

经过初步研究调查,博客文章项目多种多样,有小说、散文、诗歌等。

各项研究的人员也是不同的,各项文章投入的内容各有差异。

所以初步设定文章的属性有编号、文章名和文章类别等等。

文章项目被不断的研究出来,所以系统需要实现录入与删除功能。

读者对文章研究项目需要进行选择,系统必须相应的实现查询与排序的功能。

最后,文章项目被确定以后,系统需要把数据从内存中写入硬盘,实现输入输出功能。

系统简单流程:

博客文章管理系统:

1.理顺和规范文章信息的查询和数据保存。

2.提供集成的信息系统,实现业务数据和资料的共享。

3.由于数据的处理由系统自动完成,准确性与及时性大大提高,分析手段更加规范和多样,不但减轻了工作强度,还将促进博客管理人员从繁琐的事务处理中解放出来,用更多的时间研究文章的分类和更高效的管理,研究并运用现代管理方法改进博客文章信息管理,促进现代管理方法在文章管理中的广泛应用。

博客文章系统各功能模块:

1、登记入录函数;2、输出显示函数;3、保存数据函数;4、删除函数;5修改函数;6、查询函数(内分:

按编号查询、按发布日期查询、按文章名查询、退出查询);7退出函数

2.系统设计和实现

a)系统研究项目类

系统研究项目类中,ID是文章编号,Name是文章名称,Time是发布日期等等。

研究项目整个类中包含一个输出函数。

所有数据成员与函数成员均为公有类型。

 

classcBlogarticle

+ID[BUFSIZE]:

char//文章编号

+Name[BUFSIZE]:

char//文章名称

+Time[BUFSIZE]:

char//发布日期

+Function[BUFSIZE]:

char//主要内容

+StayTime:

int//有效期

+Recommendedindex:

double//推荐指数

+flay:

bool//标志

+cBlogarticle()//构造函数初始化

 

b)设定的界面

博客文章管理系统

————————————————————————————

1:

文章信息添加

2:

文章信息显示

3:

文章信息保存

4:

文章信息删除

5:

文章信息修改

6:

文章信息查询

7:

退出系统

你选择

c)关键代码的分析

(1)读取数据库

voidReadData(tList*tListMedic)//读取数据库

{

charbuf[BUFSIZE];

ifstreamifile("Blogarticle.txt",ios_base:

:

in);//创建一个输出文件流对象

if(!

ifile)

{

cerr<<"读取时打开文件出错!

"<

}

cBlogarticleBlogarticle;

while(ifile.getline(buf,BUFSIZE))//遍历文本,读取数据

{

ifile.getline(buf,BUFSIZE);

strcpy(Blogarticle.ID,buf);//读取文章编号

memset(buf,0,BUFSIZE);

ifile.getline(buf,BUFSIZE);//读取文章名

strcpy(Blogarticle.Name,buf);

memset(buf,0,BUFSIZE);

ifile.getline(buf,BUFSIZE);//读取发布日期

strcpy(Blogarticle.Time,buf);

memset(buf,0,BUFSIZE);

ifile.getline(buf,BUFSIZE);//读取类别

strcpy(Blogarticle.Style,buf);

memset(buf,0,BUFSIZE);

file.getline(buf,BUFSIZE);//读取主要内容

strcpy(Blogarticle.Function,buf);

memset(buf,0,BUFSIZE);

ifile.getline(buf,BUFSIZE);//读取有效期

Blogarticle.StayTime=atoi(buf);

memset(buf,0,BUFSIZE);

ifile.getline(buf,BUFSIZE);//读取推荐指数

Blogarticle.Recommendedindex=atoi(buf);

memset(buf,0,BUFSIZE);

Blogarticle.flag=true;

tListMedic->Insert(Blogarticle);}

cout<<"读取数据成功!

\n\n";

ifile.close();//关闭文件

return;}

voidDisplay(tList*tListMedic)//显示链表

{cNode*p;

p=tListMedic->head->next;while(p)

{if(p->data.flag)

{cout<<"\n\n文章编号:

"<<(p->data).ID<<"\t文章名:

"<<(p->data).Name<<"\n\t\t发布日期:

"<<(p->data).Time<<"\n\t\t类别:

"<<(p->data).Style;

cout<<"\n\t\t主要内容:

"<<(p->data).Function<<"\n\t\t有效期:

"<<(p->data).StayTime<<"\n\t\t推荐指数"<<(p->data).Recommendedindex;}

p=p->next;}

cout<

system("pause");system("cls");return;

}

(2)添加文章函数

voidAddTheBlogarticle(tList*tListMedic)//添加文章函数

{cin>>tempBlogarticle.Name;//读入文章名

cout<<"请输入文章发布日期:

";

cin>>tempBlogarticle.Time;//读入发布日期

cout<<"请输入文章类别:

";

cin>>tempBlogarticle.Style;//读入类别

cout<<"请输入文章主要内容:

";

cin>>tempBlogarticle.Function;//读入主要内容

cout<<"请输入文章有效期:

";

cin>>tempBlogarticle.StayTime;//读入有效期

cout<<"请输入推荐指数";

cin>>tempBlogarticle.Recommendedindex;//读入指数

tempBlogarticle.flag=true;

tListMedic->Insert(tempBlogarticle);

cout<<"添加成功!

\n";

system("pause");

system("cls");

}

(3)保存数据

voidSaveData(tList*tListMedic)//保存数据

{

inti=0;

ofstreamofile("Blogarticle.txt",ios_base:

:

out);//创建一个输入文件流对象

if(!

ofile)

{

cerr<<"保存时打开文件出错!

"<

}

cNode*p;

p=tListMedic->head->next;

while(p)

{

//从内存中读取数据,存到外盘

if(p->data.flag)

{ofile<<"\n";

ofile<<(p->data).ID<<"\n";

ofile<<(p->data).Name<<"\n";

ofile<<(p->data).Time<<"\n";

ofile<<(p->data).Style<<"\n";

ofile<<(p->data).Function<<"\n";

ofile<<(p->data).StayTime<<"\n";

ofile<<(p->data).Recommendedindex<<"\n";}p=p->next;}

cout<<"保存数据成功!

\n";ofile.close();system("pause");system("cls");return;

(4)查询函数

voidFindTheBlogarticleById(tList*tListMedic)//根据文章编号查找文章

{

charid[BUFSIZE];

cout<<"\n请输入你要查找的文章编号:

";

cin>>id;//读取文章编号

boolflag=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找到了,该文章的信息是:

\n";

cout<<"\n\n文章编号:

"<<(p->data).ID<<"\t文章名:

"<<(p->data).Name<<"\n\t\t发布日期:

"<<(p->data).Time<<"\n\t\t类别:

"<<(p->data).Style;

cout<<"\n\t\t主要内容:

"<<(p->data).Function<<"\n\t\t有效期:

"<<(p->data).StayTime<<"\n\t\t推荐指数"<<(p->data).Recommendedindex;

}

cout<

system("pause");

system("cls");

return;

}

(5)查找文章

voidFindTheBlogarticle(tList*tListMedic)//查找文章

{

system("cls");

while

(1)

{

cout<<"\n\n\n\n";

cout<<"1:

按文章编号查询\n\n";

cout<<"2:

按文章名查询\n\n";

cout<<"3:

按类别查询\n\n";

cout<<"4:

退出查询\n\n";

cout<<"你选择:

";

intchoose=0;

cin>>choose;

switch(choose)//根据用户选择

{

case1:

FindTheBlogarticleById(tListMedic);//按文章编号查询

break;

case2:

FindTheBlogarticleByName(tListMedic);//按文章名查询

break;

case3:

FindTheBlogarticleByStyle(tListMedic);//按类别查询

break;

case4:

system("cls");return;//退出查询

default:

break;

}

}

return;

}

(6)修改文章信息

voidModifyTheBlogarticle(tList*tListMedic)//修改文章信息

{

charid[BUFSIZE];

cout<<"\n请输入你要查找的文章编号:

";

cin>>id;//读取文章编号

boolflag=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";

cout<<"\n\n文章编号:

"<<(p->data).ID<<"\t文章名:

"<<(p->data).Name<<"\n\t\t发布日期:

"<<(p->data).Time<<"\n\t\t类别:

"<<(p->data).Style;

cout<<"\n\t\t主要内容:

"<<(p->data).Function<<"\n\t\t有效期:

"<<(p->data).StayTime<<"\n\t\t推荐指数"<<(p->data).Recommendedindex;

cout<<"\n下面开始修改该文章的信息:

\n";

cBlogarticletempBlogarticle;//定义临时文章

cout<<"请输入文章文章编号:

";

cin>>tempBlogarticle.ID;//读入文章编号

cout<<"请输入文章文章名:

";

cin>>tempBlogarticle.Name;//读入文章名

cout<<"请输入发布日期:

";

cin>>tempBlogarticle.Time;//读入发布日期

cout<<"请输入文章类别:

";

cin>>tempBlogarticle.Style;//读入类别

cout<<"请输入文章主要内容:

";

cin>>tempBlogarticle.Function;//读入主要内容

cout<<"请输入文章有效期:

";

cin>>tempBlogarticle.StayTime;//读入有效期

cout<<"请输入推荐指数:

";

cin>>tempBlogarticle.Recommendedindex;//读入指数

tempBlogarticle.flag=true;

p->data=tempBlogarticle;

cout<<"修改成功!

";

}

cout<

system("pause");

system("cls");

return;

}

(7)删除文章信息

voidDeleteTheBlogarticle(tList*tListMedic)//删除文章信息

{

charid[BUFSIZE];

cout<<"\n请输入你要查找的文章编号:

";

cin>>id;//读取文章编号

boolflag=false;

intcount=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->next}

if(flag==false)cout<<"对不起,没有你所查找的文章!

\n";//如果找不到

else//如果找到了

{count--;

cout<<"找到了,该文章的原始信息是:

\n";

cout<<"\n\n文章编号:

"<<(p->data).ID<<"\t文章名:

"<<(p->data).Name<<"\n\t\t发布日期:

"<<(p->data).Time<<"\n\t\t类别:

"<<(p->data).Style;cout<<"\n\t\t主要内容:

"<<(p->data).Function<<"\n\t\t有效期:

"<<(p->data).StayTime<<"\n\t\t推荐指数"<<(p->data).Recommendedindex;

cout<

(p->data).flag=false;

cout<<"该文章的信息删除成功!

\n";}

cout<

system("pause");

system("cls");

return;}

(8)主函数

intmain()

{tListtListMedic;

tListMedic.Create();//创建链表

ReadData(&tListMedic);

while

(1)

{cout<<"\n\n博客文章管理系统\n\n";

cout<<"-----------------------------\n\n";

cout<<"1:

文章信息添加\n\n";

cout<<"2:

文章信息显示\n\n";

cout<<"3:

文章信息保存\n\n";

cout<<"4:

文章信息删除\n\n";

cout<<"5:

文章信息修改\n\n";

cout<<"6:

文章信息查询\n\n";

cout<<"7:

退出系统\n\n";

cout<<"你选择:

";

intchoose=0;

scanf("%d",&choose);

switch(choose)//根据用户选择

{case1:

AddTheBlogarticle(&tListMedic);//文章基本信息录入break;

case2:

Display(&tListMedic);//文章基本信息显示break;

case3:

SaveData(&tListMedic);//文章基本信息保存break;

case4:

DeleteTheBlogarticle(&tListMedic);//文章基本信息删除break;

case5:

ModifyTheBlogarticle(&tListMedic);//文章基本信息修改break;

case6:

FindTheBlogarticle(&tListMedic);//文章基本信息查询break;

case7:

exit(0);//退出

default:

break;}

}

return0;

调试

编译成功后开始运行,信息录入后,不能在文档中正确可见,经Debug调试,发现,打开文件方式出现错误,改之,运行正确。

改动后的代码:

cout<<"请输入文章类别:

";

cin>>tempBlogarticle.Style;//读入类别

cout<<"请输入文章主要内容:

";

cin>>tempBlogarticle.Function;//读入主要内容

cout<<"请输入文章有效期:

";

cin>>tempBlogarticle.StayTime;//读入有效期

cout<<"请输入推荐指数:

";

cin>>tempBlogarticle.Recommendedindex;//改动之前打开方式为RecommendedIndex//就是大小写错误

tempBlogarticle.flag=true;

p->data=tempBlogarticle;

cout<<"修改成功!

";

四.总结

一、总结

经过这两周认真的学习后,我体会了很多,也学到很多东西。

利用设计科研项目管理系统的机会,我加强了对C++的认识,以前自己从来没清楚过的东西现在都有了一些基本的轮廓。

在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、程序模块设计等。

对MicrosoftVisualC++6.0又有了更深入的认识。

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,使我加强了灵活应用理论知识的能力及面向对象程序设计技能。

C++语言相对于C语言来说引入了两个大的新东西,一个就是面向对象(具体来将就是类),另外就是模板技术(模板编程或者叫泛型编程是进来非常流行的技术,在C#中虽然还没有对泛型编程的支持,但是相信在将来也一定会加入这一功能),模板是C++中比较复杂的部分,但是作为一个真正的C++程序员,这部分很重要。

尤其是对C++标准程序库的掌握尤为重要。

此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。

而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。

这些问题,并不是我们平时只靠课本,就可以轻易解决的。

所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。

总之,我们学习和掌握的知识,只有通过实际应用,才能真正的理解和掌握,才能更好的去应用。

以前只是在理论上对C++有一些了解,通过这次课程设计我还学会编写一些小程序。

让我对编程产生了兴趣。

这次收获颇丰,相信会为自己以后的学习和工作带来很大的好处。

整体地评价这次课程设计,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。

特别是学会了在VisualC++集成开发环境中如何调试程序的方法。

老师和同学的帮助也是不可忽视的。

理论要在实践中被验证,从而去更好的指导实践。

我们要运用理论去帮助我们解决现实生活遇到的问题。

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

当前位置:首页 > 小学教育 > 语文

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

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