2018年软件学院C++课程设计课程设计目的:1、熟悉利用面向对象的方法以及C++的编程思想来完成系统的设计;
2、锻炼学生在设计的过程中,建立清晰的类层次,应用继承和多态等面向对象的编程思想;
3、通过本课程设计,加深对面向对象程序设计课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,深刻体会面向对象的编程思想,掌握使用面向对象程序设计语言C++,学会编写结构清晰、风格良好的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
课程设计题目:模拟即时通信系统实现一、题目描述基于社交的即时通信是腾*公司的主要业务,先后有QQ、微信、微博等服务,可能还将继续推出微商、微唱、微走、微笑等产品。
这些软件既可以独立提供服务,又互相辉映关联。
腾*公司希望对各系统进行整合形成统一的立体社交软件平台。
现请完成该平台的设计并实现。
要求如下:1、用户基本信息:号码ID,昵称,出生时间,T龄(号码申请时间)、所在地、好友列表、群列表。
微博与QQ共享ID,微信采用独立ID,但是可以与QQ号码绑定对应。
其他微X产品也分为这两种情况。
2、好友管理(1)实现各功能好友信息的添加、修改、删除、查询的功能。
(2)可以查询微X之间各自共同好友。
如微信可以添加QQ推荐好友。
3、群管理(1)设定每个微X功能已有1001、1002、1003、1004、1005、1006等群号。
(2)加入群、退出群、挨T、查询群成员等。
(3)不同微X之间群的理念不同,比如:QQ群可以申请加入,而微信群则只能推荐加入;
QQ群允许设置临时讨论组(子群),微信群则不允许;
QQ群有以群主为核心的管理员制度,而微信群仅有群主为特权账号。
4、开通管理用户可以选择自己开通该平台的N个微X服务。
5、登录管理各微X之间只要有一个服务登录,则其它服务简单确认后视为自动登录。
6、功能展示要求(main函数)(1)设计约定。
开通服务情况、群成员信息和好友信息可以预先保存到文件中,在系统启动时将这些信息加载到内存中;
(2)一个服务登录后,本人开通的其它所有服务均进入开通状态。
(3)服务之间可以依据本人开通的任意另外一个服务的好友添加好友。
(4)展示一个服务当前群的特色功能;
在群成员数据不受伤害的前提下,动态变换为其他类型群的管理特色。
(5)实现QQ的点对点的TCP通信的收发功能。
(选做)提示:a)需要加载ws2_32.lib静态库,打开头文件winsock.h。
b)百度IP地址、端口等概念;
c)百度socket编程,关注bind、listen、accept、connect、send、receive等函数用法。
二、技术层次要求及说明1、基本层次。
完成上述功能要求,所采用技术不限,比如采用纯面向过程思想实现;
2、支持对象层次。
正确完成了类的切割,利用对象技术实现。
(1)容器类主要包括:例如,微X成员管理。
(2)其它主要类包括:例如,微X信息、群信息、好友信息。
3、抽象、封装层次采用了继承或者组合实现复用,对数据成员提供了必要的接口保护;
(1)抽象出了基础类,并被其它功能复用;
(2)如好友维护、群信息维护等操作均应该提供接口形式;
4、面向对象层次支持多态功能,支持依据设计原则的优化。
好友管理、群管理等;
5、优化提高层次(1)提供简便菜单,以1、2等数字区分几类功能,并允许返回菜单;
(2)I/O操作支持。
基本功能中,已有设定信息,在初始化时候可以固化在程序代码中,也可以存放在文件中,每次容器实例化时读入,析构时写回文件中,以实现断电保存。
(3)可扩展性支持,需要考虑群、好友等与主要服务之间的关系;
(4)灵活性支持。
群的管理模式动态可变;
(5)程序有必要的注释;
(6)可以采用UML工具画出简单类图(7)为防止不诚信行为,要求类的设计均以独立文件存在,且所有的类名称后面应有自己的姓名缩写,如张三设计的QQ信息类名称:TencentZhS。
三、设计步骤(参考):在清楚上述系统功能要处理是什么的基础上,考虑用如下方式来设计1、确定所需的类及其相互间的关系。
(1)要从问题中归纳出一个概念或实体,从这些概念或实体出发建立相应的类。
(2)尽量使类小而简单,以使其看起来容易理解。
(3)充分利用封装以增加类的可靠性,以便使用时保证更加可靠。
(4)通过继承建立类族,以方便使用多态性。
2、确定每个类的实现。
(1)考虑类的对象应该如何构造和析构。
(2)考虑类的成员函数的建立。
(3)综合考虑各个类在命名和功能方面有哪些共性。
3、细化有关的类,描述他们之间的相互关系,即类关系和对象关系。
4、描述本系统的界面,通过分别定义成员的不同属性,为抽象和实现提供分离的接口。
四、设计工具1、
2023/6/4 19:12:21 1.17MB c++ course
1
一个简单的静态网页作业,适合学生期末HTML5+css作业参考,本着共享的心态分数设置的很低,但是系统自动调整到45分了,我修改还要我再编辑50个字。
我试试现在有50个字没
2023/6/4 9:20:03 12.05MB 静态网页
1
源码介绍:友价T5虚拟商城20190527,虚拟物品在线担保交易网站,6套模板+手机版+支付接口+升级(完美升级版)非常不错的一套虚拟物品在线交易平台,很多都在用,喜欢的拿去,可以搞成任何一类在线交易的网站平台,带最新的补丁更新到20190527,欢迎来下载使用!并且新版程序代码越来越高效,网站流畅度很好,以前经常出现卡死的现象也优化得很好了,非常不错,可以拿去做虚拟物品,教程资源,游戏道具等等的销售!安装说明:更新至:2019-05-27手机端:1、新增一套zhan_m模板2、商品详情页图片没有时,显示默认图片3、优化改进手机版商品详情编辑器4、商品或资讯详情页,修复图片太大时会撑开页面的BUG5、新增公告展示模块电脑端:6、QQ点击实现弹窗效果7、设置手机号码强制验证的开关(可实现网络实名制要求)8、开通IP黑名单功能(加入黑名单的IP,将禁止操作站内功能)9、开启限制功能(比如同个IP注册会员数量,发稿数量之类的)10、商品详情页的图片随滚动条滚动加载11、用户解除手机绑定,系统也会将之前的手机号码存档(仅管理员可见)12、手机短信登录时,号码不存在,则直接生成一个会员账号13、优化电脑端商品列表形式展示模板14、更多细节优化完善环境配置要求如下:1、PHP环境(PHP版本建议是5.3及以上,)2、Mysql数据库3、伪静态组件(有些主机商也称之为URL重写)4、php.ini的php_openssl.dll拓展开启5、php.ini的php_curl.dll拓展开启以上配置是符合主流的PHP环境配置的,不过我们还是建议虚拟主机用户在购买空间时,先跟主机商核对下以上配置。
最小配置要求:1、MYSQL不小于5MB2、空间不小于50MB推荐配置要求:1、MYSQL不小于50MB2、空间不小于1GB安装教程:将源码传到空间/服务器,解压至您的网站目录1、建立数据库,将data/data.sql导入到数据库2、打开config/config.php,根据提示配置好你的数据库连接信息3、进入后台:你的网址/yjadmin/默认帐号和密码均为admin4、进入后台后点击左侧的基本设置,把网址改成你的当前网址就行了,记得要加上反斜杠/,特别说明:这里的网址必须是你的域名,5、再点下全局设置,会有升级提示,升级下就行了。
6、配置伪静态,根据服务器环境选择(默认是根目录下的.htaccess如需其他格式,请通过工具转换下)7、至此,安装结束
2023/6/3 9:10:32 39.44MB 虚拟商城
1
医院管理系统静态页面,使用技术有:HTML、CSS、JAVASCRIPT、AJAX、JQUERY。
包含数据库,需求分析文档。
2023/6/2 10:40:34 3.64MB 静态页面 医院管理系统
1
本文仅仅为本人课程要求而设计的方案,本文仅仅使用RIP动态路由协议,HSRP协议,浮动路由,静态路由,等价路由,DHCP地址分配,NAT技术,VLAN划分。
如有问题请大佬们在博客https://blog.csdn.net/dragon_18/article/details/86033510下留言
2023/6/1 17:06:07 302KB 校园网规划 校园网设计
1
vs2010win7下编译的openssl-1.0.2n静态库libeay32.lib、ssleay32.lib包含编译出的所有文件,release版本。
2023/5/30 11:46:38 7.04MB openssl libeay32 ssleay32 vs2010
1
zbar静态库,libzbar.a,支持armv7,armv7s,arm64,i386,欢迎大家下载
2023/5/28 22:35:20 6.29MB zbar 二维码 静态库 armv7s
1
前端导师-常见问题手风琴卡欢迎!:waving_hand:感谢您检查此前端编码挑战。
挑战使您可以提高现实工作流程中的技能。
为了应对这一挑战,您需要对HTML,CSS和JavaScript有基本的了解。
挑战您面临的挑战是构建此FAQ手风琴卡,并使它看起来与设计尽可能接近。
您可以使用任何喜欢的工具来帮助您完成挑战。
因此,如果您有想要练习的东西,请随时尝试。
您的用户应该能够:根据组件的设备屏幕尺寸查看组件的最佳布局查看页面上所有互动元素的悬停状态单击问题时隐藏/显示问题的答案需要挑战方面的支持吗?并在#help频道中提问。
在哪里找到所有东西您的任务是将项目扩展到/design文件夹中的/design。
您会发现该设计的移动版和桌面版均可使用。
设计为JPG静态格式。
这意味着您需要对诸如font-size,padding和margin等样式使用最佳判断。
这应该有
2023/5/17 22:37:28 298KB SCSS
1
静态个人网站模板,很不错的风格设计和布局
2023/5/16 21:42:54 59KB 网页 静态
1
Tomcat也可以作为独立的web服务器来运行。
但Tomcat也是应用(java)服务器,它只是一个Servlet容器。
由于Apache解释静态页面要比tomcat快速而且稳定, 基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;
并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面;
2023/5/15 16:15:34 8.88MB APACHE tomcat
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡