校友录系统中留言管理的设计与实现.docx
- 文档编号:9392689
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:114.61KB
校友录系统中留言管理的设计与实现.docx
《校友录系统中留言管理的设计与实现.docx》由会员分享,可在线阅读,更多相关《校友录系统中留言管理的设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。
校友录系统中留言管理的设计与实现
目录
一问题描述2
二实验目的2
三功能分析2
3.1系统需求分析2
3.2系统可行性分析4
四系统设计5
4.1内存数据结构设计5
4.2留言函数设计5
4.3界面函数设计5
4.4处理过程设计6
4.5输入输出设计8
五测试用例9
六结果显示9
七设计的特点、不足、收获与体会12
一问题描述
题目:
校友录系统中留言管理的设计与实现
校友录系统中的留言管理就是对登陆界面的用户的留言和回复进行存储,显示,删除等操作,它是校友录系统不可缺少的部分,它的功能对于校友录系统的管理者和使用者来说都至关重要。
编写程序主要实现以下功能:
1,对留言进行存储;2,对留言进行显示;3,留言可删除;4,留言可查询;5,对留言的回复可同样进行上述操作。
二实验目的
1.强化和巩固理论基础,掌握编程技巧,为后续的专业课学习打下良好的基础;
2.要求用C/C++语言及VisualC++开发环境,实现一个小型完整程序的设计与开发;
3.巩固深化所学课程的知识,培养学生运用知识,分析和解决实际问题的能力。
三功能分析
3.1系统需求分析
(1)数据需求。
该系统的数据来自登陆界面的使用者的输入和操作,包括留言,显示,查询和删除。
(2)功能需求。
实现对留言的存储,显示,删除和查询。
1主菜单
1.我要留言
输入留言内容
对留言的存储
2.显示留言
用户点选择模块,有留言内容
对留言的显示
3.删除留言
用户点选择模块,有留言内容
对留言的删除
4.回复留言
用户点选择模块,有留言内容
对留言的回复
5.查询留言
用户点选择模块,有留言内容
对留言的查询
6.返回菜单
用户点选择模块
返回主菜单
2我要留言
执行过程
数据需求
实现功能
请输入您的姓名
用户输入内容
存储姓名,为留言标志
请输入留言内容
用户输入内容
存储留言
3显示留言
执行过程
数据需求
实现功能
选择此模块
有留言内容
对留言的显示
4删除留言
执行过程
数据需求
实现功能
全部删除
有留言内容
对留言全部删除
单个删除
有留言内容
对留言单个删除
返回上级
无
返回上一级
5回复留言
执行过程
数据需求
实现功能
选择回复记录号
有留言内容
确定回复对象
输入回复内容
选择完回复对象
对留言回复
6查询留言
执行过程
数据需求
实现功能
按留言者
有留言内容
显示该留言者的留言信息
按回复者
有回复内容
显示该回复者的留言信息
留言类型
有留言内容或回复内容
显示全部留言或回复
返回上级
无
返回上一级
3.2系统可行性分析
要完成这个题目,主要是解决留言者和留言内容的存储以及从txt文本中存取这些信息,解决的方法是建立一个带头结点的单链表,用于存储留言的信息如:
留言人,留言内容,留言编号。
解决了这个问题后就是判断当前操作人了,我们可以使用姓名来一一对应操作人。
最重要的问题是在TXT文本中读入和输出留言人的信息,将信息存储起来,信息的存储结构显得尤为重要,分割符需采用留言信息中使用不上的一串字符来分割,以免出现误读现象。
解决了这几个问题,剩下的工作就是设计一个图形化的操作界面供操作人员使用以及使用对链表的操作来实现程序的功能。
所以,该系统可用c++完成。
而对于界面设计,由于不是实验重点,所以可以从简。
而对于操作者而言,简化的操作程序也是一种客观要求。
四系统设计
4.1内存数据结构设计
typedefstructliuyannode
{intnum;
charbiaoji;
stringname;
stringcontent;
structliuyannode*next;
}liuyannode,*liuyanlink;
4.2留言函数设计
voidinsertliuyan()
{stringadd,name,content;
fstreamfile;
charbiaoji='!
';
cout<<"欢迎添加留言!
"< cout<<"请输入您的姓名: "; cin>>name; cout<<"请输入留言内容: "; cin>>content; file.open("liuyan.txt",ios: : app|ios: : out); name=name+'#'; content=content+'$'; add=biaoji+name+content; file< file<<"\n"; file.close(); cout<<"添加成功! "< } 4.3界面函数设计 voidjiemian() {for(inti=0;i<15;i++) {cout<<"";} for(i=0;i<50;i++) {cout<<"*";} cout< for(i=0;i<15;i++) {cout<<"";} cout<<"※"<<"1.我要留言"<<""<<"2.显示留言"<<""<<"3.删除留言"<<"※"< for(i=0;i<15;i++) {cout<<"";} cout<<"※※"< for(i=0;i<15;i++) {cout<<"";} cout<<"※"<<"4.回复留言"<<""<<"5.查询留言"<<""<<"6.返回菜单"<<"※"< for(i=0;i<15;i++) {cout<<"";} for(i=0;i<50;i++) {cout<<"*";}cout< 4.4处理过程设计 voidcaozuo() { intchoice1,choice2; liuyanlinkhead; cout<<"请选择你要进行的操作: "; cin>>choice1; while(choice1<=0||choice1>=7) {cout<<"输入错误请重新输入! "< cout<<"请选择你要进行的操作: "; cin>>choice1; } switch(choice1) {case1: insertliuyan();break; case2: readliuyan(head,1);break; case3: deleteliuyan();break; case4: backliuyan();break; case5: searchliuyan();break; case6: jiemian();caozuo();break; } for(inti=0;i<35;i++) {cout<<"*";} cout< cout<<"※1.继续操作2.退出操作※"< for(i=0;i<35;i++) {cout<<"*";} cout< cout<<"是否继续操作: "; cin>>choice2; while(choice2! =1&&choice2! =2) {cout<<"输入错误请重新输入! "< cout<<"是否继续操作: "; cin>>choice2; } if(choice2==1) {jiemian(); caozuo();} elseif(choice2==2) { cout<<"欢迎再次使用! "< return; }} 开始 单次流程图为: 否 是 查询留言 是否返回菜单 输入选择模块 回复留言 显示留言 我要留言 删除留言 注销 4.5输入输出设计 输入: file.open("liuyan.txt",ios: : app|ios: : out); biaoji='@'; name=p->name+'#'; content=content+'$'; add=biaoji+name+content; file< file<<"\n"; file.close(); cout<<"添加成功! "< 输出: file.open("liuyan.txt",ios: : binary|ios: : in); cout<<"显示留言"< file>>ch; while(! file.eof()) { p=newliuyannode; p->next=NULL; p->num=i; p->biaoji=ch; file>>ch; while (1) { if(ch=='#') {break;} p->name=p->name+ch; file>>ch; } file>>ch; while (1) { if(ch=='$') {break;} p->content=p->content+ch; file>>ch; } q->next=p; q=p; i++; file>>ch; } file.close(); print(head,biao); } cout<<"读取完毕! "< 五测试用例 (1)输入张三留言: 六点回家吃饭。 (2)输入李四留言: 明天期末考试。 (3)输入对李四的回复: 做好充分准备,早早休息。 (4)查询张三留言。 (5)删除张三留言。 (6)显示留言。 六结果显示 (1) (2) (3) (4) (5) (6) 七设计的特点、不足、收获与体会 (1)特点: 这次实验难度较大,要充分运用C++链表,文件流等相关知识。 设计一直追求简洁明了,易于操作。 (2)不足: 本次实验不够严谨,没有设置用户登录和密码系统。 任何人均可修改或删除留言,不符合实际情况。 没有设置时间系统,也没有留言提示,比较简陋。 (3)收获: 通过查询网络和图书资料,我总算马马虎虎地完成了校友录的留言管理系统。 我又温习了用C/C++语言及VisualC++开发环境,实现一个小型完整程序的设计与开发。 从而巩固深化了所学课程的知识,培养了运用知识,分析和解决实际问题的能力。 理论基础得到了强化和巩固,为后续的专业课学习打下良好的基础。 (4)体会: 通过本次实验,我对C++有了更深层次的认识,对编程思想有了更多的了解。 我发现将课上所学运用到实际中去是很难的,课上听懂和实际操作是两回事。 这种跨越需要不断地进行实际操作,需要亲自编程才能获得的第一手经验。 只要多了解,多操作,多总结,程序编辑总会变好的。 所以,在未来的学习和生活中,我会更加注重实际操作和经验总结,会不断吸取更多的编程思想和方法,努力将课上所学运用到实际案例中,争取更大进步。 本科生课程设计成绩评定表 班级: 计科0907班 姓名: 张驰 学号: 0120910340703 序号 评分项目 满分 实得分 1 学习态度认真、遵守纪律 20 2 报告分析合理性 30 3 报告观点正确性,专业认识深刻程度 30 4 设计报告的规范性 20 总得分/等级 评语: 注: 最终成绩以五级分制记。 优(90-100分)、良(80-89分)、中(70-79分)、 及格(60-69分)、60分以下为不及格 指导教师签名: 2011年07月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校友录 系统 留言 管理 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)