记事本软件.docx
- 文档编号:6191216
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:69
- 大小:149.13KB
记事本软件.docx
《记事本软件.docx》由会员分享,可在线阅读,更多相关《记事本软件.docx(69页珍藏版)》请在冰豆网上搜索。
记事本软件
东莞理工学院
课程设计报告
课程名称《面向对象程序设计Ⅱ》课程设计
题目记事本软件
院系名称计算机学院
专业班级计算机科学与技术1班
学生学号201441402143
学生姓名丁东伟
指导教师肖捷老师
完成时间2015年7月29日至2015年8月9日
目录
1、系统分析…………………………………………………………………………………………………………
1.1功能需求分析………………………………………………………………………………………………
1.2数据需求分析………………………………………………………………………………………………
2、系统设计…………………………………………………………………………………………………………
2.1系统功能模块设计…………………………………………………………………………………………
2.2类的抽象与类间关系………………………………………………………………………………………
2.3类的设计……………………………………………………………………………………………………
3、系统编码…………………………………………………………………………………………………………
3.1程序文件模块划分…………………………………………………………………………………………
3.2程序代码……………………………………………………………………………………………………
4、系统运行结果…………………………………………………………………………………………
5、总结………………………………………………………………………………………………………………
5.1自我评价及收获……………………………………………………………………………………………
5.2有待解决的问题及进一步完善的思路……………………………………………………………………
6、参考文献…………………………………………………………………………………………………………
1.系统分析
1.1功能需要分析
记事本软件
该软件用于记录工作、学习、娱乐、生活以及保密事件,事件信息包括:
创建时间、序号、访问次数、标签、正文、截止时间、工作种类、学习科目、娱乐项目、访问密码等。
1.2数据需要分析
该软件用于记录工作、学习、娱乐、生活以及保密事件,事件信息包括:
创建时间、序号、访问次数、标签、正文、截止时间、工作种类、学习科目、娱乐项目、访问密码等,各数据项含义如下:
创建时间:
表示事件的创建时间,包含年、月、日。
序号:
表示每个事件的序号。
访问次数:
表示事件的访问次数。
标签:
表示事件的摘要信息。
正文:
表示事件的文本信息。
截止时间:
表示事件的截止时间,包含年、月、日。
工作种类:
表示工作类事件的工作种类。
学习科目:
表示学习类事件的学习科目。
娱乐项目:
表示娱乐类事件的娱乐项目。
访问密码:
表示保密类事件的访问密码。
2.系统设计
2.1系统功能模块设计
“记事本”系统模块结构图。
2.2类的抽象与类间关系
●work类:
工作事件类。
●study类:
学习事件类。
●amuse类:
娱乐事件类。
●life类:
生活事件类。
●caffer类:
保密事件类。
●bace类:
工作、学习、娱乐事件的基类。
类间关系——继承关系如图
2.3类设计
“记事本”系统的类设计。
2.3.1基类bace
classbace
{
protected:
intyear1;/创建年
intmonth1;//创建月
intday1;//创建日
intnum;//序号
intvisit;//访问次数
stringlaber;//标签
stringtask;//事件
public:
intgetvisit();//获取访问次数
intgetnum();//获取序号
intgetyear1();//获取创建年
intgetmonth1();//获取创建月
intgetday1();//获取创建日
stringgetlaber();//获取标签
stringgettask();//获取事件
voidvisitup();//访问次数加1
};
2.3.2工作类work
classwork:
publicvirtualbace
{
protected:
intyear2;//截止年
intmonth2;//截止月
intday2;//截止日
stringtype;//工作种类
public:
work()//构造函数
{
visit=0;
}
work(intn)
{
visit=0;
num=n;
}
work(inty1,intm1,intd1,stringlab,stringt,inty2,intm2,intd2,stringty,intn,intv)
{
year1=y1;
month1=m1;
day1=d1;
year2=y2;
month2=m2;
day2=d2;
num=n;
visit=v;
type=ty;
laber=lab;
task=t;
}
intgetyear2();//获取截止年
intgetmonth2();//获取截止月
intgetday2();//获取截止日
stringgettype();//获取工作种类
voidreinput(stringlab,stringt,inty2,intm2,intd2,stringty);
booloperator<(work&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,work&);//友元函数重载输入运算符
};
2.3.3学习类study
classstudy:
publicvirtualbace
{
protected:
stringsubject;//学习科目
public:
study()//构造函数
{visit=0;}
study(intn)
{
visit=0;
num=n;
}
study(inty1,intm1,intd1,stringlab,stringt,strings,intn,intv)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
num=n;
visit=v;
laber=lab;
task=t;
subject=s;
}
stringgetsubject();
voidreinput(stringlab,stringt,strings);//修改函数
booloperator<(study&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,study&);//友元函数重载输入运算符
};
2.3.4娱乐类amuse
classamuse:
publicvirtualbace
{
protected:
stringstyle;//娱乐项目
public:
amuse()//构造函数
{visit=0;}
amuse(intn)//构造函数
{
visit=0;
num=n;
}
amuse(inty1,intm1,intd1,intn,intv,stringlab,stringt,stringst)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
num=n;
visit=v;
laber=lab;
task=t;
style=st;
}
stringgetstyle();//获取娱乐项目
voidreinput(stringlab,stringt,stringst);//修改函数
booloperator<(amuse&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,amuse&);//友元函数重载输入运算符
};
2.3.5生活类life
classlife:
publicwork,publicstudy,publicamuse
{
public:
life()//构造函数
{visit=0;}
life(intn)//构造函数
{
visit=0;
num=n;
}
life(inty1,intm1,intd1,intn,intv,stringlab,stringt,inty2,intm2,intd2,stringty,strings,stringst)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
year2=y2;
month2=m2;
day2=d2;
num=n;
visit=v;
type=ty;
laber=lab;
task=t;
subject=s;
style=st;
}
voidreinput(stringlab,stringt,inty2,intm2,intd2,stringty,strings,stringst);
booloperator<(life&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,life&);//友元函数重载输入运算符
};
2.3.6保密类caffer
classcaffer
{
protected:
stringpassword;
stringtask;
public:
caffer()//构造函数
{}
caffer(stringp,stringt)//构造函数
{
password=p;
task=t;
}
stringgetpassword();
stringgettask();
voidreinput(stringt);
friendistream&operator>>(istream&in,caffer&);//友元函数重载输入运算符
};
3.系统编码
3.1程序文件模块划分
“记事本”系统的程序文件模块的划分。
head1.h:
实体类定义文件,定义bace、work、study、amuse、life、caffer六个类的结构。
head1.cpp:
实体类实现文件,定义bace、work、study、amuse、life、caffer六个类的成员函数的具体实现。
interface.h:
界面类定义文件,定义interface类的结构。
interface.cpp:
界面类实现文件,定义interface类的成员函数的具体实现。
main.cpp:
主控模块,程序入口,用于调用interface类的相关功能。
3.2程序代码
“记事本”系统的程序代码。
3.2.1实体类定义文件head1.h
#include
#include
usingnamespacestd;
classbace
{
protected:
intyear1;//创建年
intmonth1;//创建月
intday1;//创建日
intnum;//序号
intvisit;//访问次数
stringlaber;//标签
stringtask;//事件
public:
intgetvisit();//获取访问次数
intgetnum();//获取序号
intgetyear1();//获取创建年
intgetmonth1();//获取创建月
intgetday1();//获取创建日
stringgetlaber();//获取标签
stringgettask();//获取事件
voidvisitup();//访问次数加1
};
classwork:
publicvirtualbace
{
protected:
intyear2;//截止年
intmonth2;//截止月
intday2;//截止日
stringtype;//工作种类
public:
work()//构造函数
{
visit=0;
}
work(intn)//构造函数
{
visit=0;
num=n;
}
work(inty1,intm1,intd1,stringlab,stringt,inty2,intm2,intd2,stringty,intn,intv)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
year2=y2;
month2=m2;
day2=d2;
num=n;
visit=v;
type=ty;
laber=lab;
task=t;
}
intgetyear2();//获取截止年
intgetmonth2();//获取截止月
intgetday2();//获取截止日
stringgettype();//获取工作种类
voidreinput(stringlab,stringt,inty2,intm2,intd2,stringty);
booloperator<(work&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,work&);//友元函数重载输入运算符
};
classstudy:
publicvirtualbace
{
protected:
stringsubject;//学习科目
public:
study()//构造函数
{visit=0;}
study(intn)
{
visit=0;
num=n;
}
study(inty1,intm1,intd1,stringlab,stringt,strings,intn,intv)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
num=n;
visit=v;
laber=lab;
task=t;
subject=s;
}
stringgetsubject();
voidreinput(stringlab,stringt,strings);//修改函数
booloperator<(study&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,study&);//友元函数重载输入运算符
};
classamuse:
publicvirtualbace
{
protected:
stringstyle;//娱乐项目
public:
amuse()//构造函数
{visit=0;}
amuse(intn)//构造函数
{
visit=0;
num=n;
}
amuse(inty1,intm1,intd1,intn,intv,stringlab,stringt,stringst)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
num=n;
visit=v;
laber=lab;
task=t;
style=st;
}
stringgetstyle();//获取娱乐项目
voidreinput(stringlab,stringt,stringst);//修改函数
booloperator<(amuse&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,amuse&);//友元函数重载输入运算符
};
classlife:
publicwork,publicstudy,publicamuse
{
public:
life()//构造函数
{visit=0;}
life(intn)//构造函数
{
visit=0;
num=n;
}
life(inty1,intm1,intd1,intn,intv,stringlab,stringt,inty2,intm2,intd2,stringty,strings,stringst)//构造函数
{
year1=y1;
month1=m1;
day1=d1;
year2=y2;
month2=m2;
day2=d2;
num=n;
visit=v;
type=ty;
laber=lab;
task=t;
subject=s;
style=st;
}
voidreinput(stringlab,stringt,inty2,intm2,intd2,stringty,strings,stringst);
booloperator<(life&m)
{
returngetvisit()>m.getvisit();
}
friendistream&operator>>(istream&in,life&);//友元函数重载输入运算符
};
classcaffer
{
protected:
stringpassword;
stringtask;
public:
caffer()//构造函数
{}
caffer(stringp,stringt)//构造函数
{
password=p;
task=t;
}
stringgetpassword();
stringgettask();
voidreinput(stringt);
friendistream&operator>>(istream&in,caffer&);//友元函数重载输入运算符
};
3.2.2实体类实现文件head1.cpp
#include"head1.h"
intbace:
:
getvisit()
{
returnvisit;
}
intbace:
:
getnum()
{
returnnum;
}
intbace:
:
getyear1()
{
returnyear1;
}
intbace:
:
getmonth1()
{
returnmonth1;
}
intbace:
:
getday1()
{
returnday1;
}
stringbace:
:
getlaber()
{
returnlaber;
}
stringbace:
:
gettask()
{
returntask;
}
voidbace:
:
visitup()
{
visit++;
}
intwork:
:
getyear2()
{
returnyear2;
}
intwork:
:
getmonth2()
{
returnmonth2;
}
intwork:
:
getday2()
{
returnday2;
}
voidwork:
:
reinput(stringlab,stringt,inty2,intm2,intd2,stringty)
{
year2=y2;
month2=m2;
day2=d2;
type=ty;
laber=lab;
task=t;
}
stringwork:
:
gettype()
{
returntype;
}
stringstudy:
:
getsubject()
{
returnsubject;
}
voidstudy:
:
reinput(stringlab,stringt,strings)
{
laber=lab;
task=t;
subject=s;
}
stringamuse:
:
getstyle()
{
returnstyle;
}
voidamuse:
:
reinput(stringlab,stringt,stringst)
{
laber=lab;
task=t;
style=st;
}
voidlife:
:
reinput(stringlab,stringt,inty2,intm2,intd2,stringty,strings,stringst)
{
year2=y2;
month2=m2;
day2=d2;
type=ty;
laber=lab;
task=t;
subject=s;
style=st;
}
stringcaffer:
:
getpassword()
{
returnpassword;
}
stringcaffer:
:
gettask()
{
returntask;
}
voidcaffer:
:
reinput(stringt)
{
task=t;
}
istream&operator>>(istream&in,work&w)//友元函数重载输入运算符
{
cout<<"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 记事本 软件
![提示](https://static.bdocx.com/images/bang_tan.gif)