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、细化有关的类,描述他们之间的相互关系,
1
2015大麦户官方同步最新版源码(运营版)带搜索大厅+批量发布功能新功能:015-02-05增加批量定时发布任务功能2015-01-30修复天猫链接验证的问题2015-01-05增加搜索大厅功能2014-12-8、修复职业客申请条件不起作用的BUG2014-11-14、修复同一个小号30天内只能够一个一任务一次的bug2014-10-30、修复不能绑定小号借助第三方获取小号信息的BUG2014-10-24、修复客服弹出页短时间显示的问题2014-10-20、修复收支明细详细内容的显示和计算结果2014-10-18、修复会员等级显示错误2014-10-14、修正发布任务麦点计算不正确的问题2014-10-13、新增QQ互联,一键登陆功能;
2014-10-1、更新至最新版首页(高端大气)
2023/12/23 21:22:04 2.51MB 大麦户源码
1
本文来自于个人图书馆,本文通过多端的B2B系统,简单介绍了系统的架构设计演进。
之前开发了一个包括多端(PC端,移动端,微信端,API)的B2B系统,分享一下系统的架构设计演进。
技术选型playframework无状态全栈(Hibernate,Netty,Groovy,Cache)Python运维支持,开发热加载AngularJS对象操作双向绑定模版这样的技术选型是基于低成本/小规模团队快速上线应用的需要。
选择playframework是它让我们从开发到运维都能省去很多成本,对于开发人员只要掌握一定的语法就可以直接关注业务逻辑,不用所有的人都特别深入的学习框架。
自动编译和重载:当编辑Java文件
2023/12/22 19:49:40 161KB 一个业务系统的架构设计
1
垃圾袋移除通知订阅关系赋值新的垃圾袋会让之前垃圾袋绑定的订阅关系释放用来给timer停止
2023/12/14 6:31:01 533KB swift RxSwift 垃圾袋 ios
1
主要功能:1.多用户注册各自使用,互不干予。
2.在自己的空间中创建多个相册,并上传多照片进行在线查看管理。
3.相册共享权限可设好友、所有人、指定人,并可指定共享类别、查看密码。
4.强大的相册及照片搜索功能,可按各种属性进行复合查找。
5.照片打印、设为封面、设为用户头像等多种操作。
6.在线大头贴拍照功能,并有数十种相框可供选择。
7.数码照片40多种属性EXIF信息显示。
8.照片可批量打包成ZIP文件下载。
9.对相册及照片添加文字简介功能。
10.强大的在线图片编辑功能(缩放,旋转,水印,裁剪)。
11.类似Windows中的图片缩略图预览模式,方便查看图片。
12.注册用户有二级域名空间可以让访客随时访问自己的空间进行查看及留言。
13.可自由设定相册中的照片排序方式或手动拖拽进行照片排序。
14.上传时用户可自己指定是否需要缩小大图到网页标准尺寸,以节省空间。
15.相册及照片标签输入方式,可按各类标签查看及搜索照片。
16.他人共享照片收藏功能,实时查看、评论、及其它操作。
17.对共享照片投票功能,可按投票数进行排序。
18.图片地址点击复制和短地址功能。
19.好友功能,可将他人加为好友,并查看对方的指定好友相册及发送短消息。
20.公共相册显示区,显示每个用户共享给所有人的相册和照片并可进行显示及评论。
21.用户可按等级权限自由绑定顶级域名代替外部空间地址,空间地址个性化。
22.界面样式自定义并可由用户在前台选择喜爱的空间风格。
23.用户空间个性化定义公告及标题显示,和对访客留言的查看及管理。
24.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。
25.网银、支付宝、财付通、快钱,PayNow(台湾)在线支付,空间自动续费升级,别人代充,充值卡使用管理。
26.用户积分功能,可积分兑换金币并可升级空间。
27.前台违法举报,实时对上传内容进行管理。
28.网站留言功能,用户可实时向管理员反馈信息,管理员后台回复。
29.自动过滤内容和禁传非法文件,防止不正当使用。
30.可针对不同等级,不同分组的用户设置进入时公告。
31.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。
32.后台实时查看及管理用户上传的所有照片和建立的相册。
33.强大的用户查找,根据有效期、最后登录时间,审核及锁定,等级查找。
34.用户等级制,可设每个等级的空间、上传大小、相册和照片个数及其它条数限制。
35.为每个等级设置开启外链、外链地址、开启二级域名及等级费用。
36.注册审核、邮件验证、防重复IP注册、时长注册功能。
37.来访IP限制设定和管理员可登录的IP设定。
38.后台管理员可进行管理权限划分并记录操作日志。
39.可直观设定相册、照片、用户、公告、留言的外部调用参数,支持模板调用。
40.可设置相册及照片的推荐,模板调用。
41.管理员在后台可统一设置用户上传照片后添加的水印。
42.可设置照片需审核后才能显示已共享的照片。
43.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。
44.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。
45.后台可指定原图被缩减的最大尺寸,以防巨大图片。
46.页面广告分区添加及管理。
47.随时在线整理硬盘和数据库中的数据,保持数据最优化。
48.前台模板标签调用,可组建自己的照片站页面。
49.上传照片路径可按日期建立目录,确保同一目录下图片不会过多。
50.完善的等级防盗链功能,支持链接排除、链接包含、个人独立设置可以链接的地址。
51.Flash上传模式支持一次选择多图片、进度显示上传。
上传完毕自动生成等比例缩略图。
52.可以同时下载多张网络图片到空间,并可设置水印等功能。
53.上传时可自由设置是否在照片上添加文字水印、图片水印或不添加水印。
54.用户分组设置,可分多组域名及多台服务器协同管理。
55.仅需为程序目录及用户存放目录设置写入及修改权限,系统更安全。
56.完美兼容firefox等其它非IE内核浏览器。
57.三层架构模式开发,扩充及调用更方便。
58.内含ajax文件操作技术,更加提高用户体验,提高系统运行效率。
59.分简体版、繁体版、英文版三种版本。
60.可以和《桃源网络硬盘.Net》用户完全整合。
61.全面的整合接口,支持注册、登录、修改资料及密码、添加、删除、审核、锁定用户,支持不同域名整合。
62.多种数据库支持:ACCESS、MSSQL、MySQL、Oracle。
2023/12/13 8:50:40 1.23MB .net 图片管理
1
该文档给出了c#线程实时更新图表及其他控件数据的完成代码,通过委托delegate和控件的BeginInvoke方法实现数据的绑定
2023/12/7 12:17:04 14KB c# thread delegate
1
服务器端流程:1、创建套接字(socket)。
2、将套接字绑定到一个本地地址和端口上(bind)。
3、将套接字设为监听模式,准备接收客户请求(listen)。
4、等待客户请求到来;
当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。
5、用返回的套接字和客户端进行通信(send/recv)。
(在线程中进行)6、返回,等待另一客户请求。
7、关闭套接字。
客户端流程:1、创建套接字(socket)。
2、向服务器发出连接请求(connect)。
3、和服务器端进行通信(send/recv)。
4、关闭套接字。
2023/12/4 7:18:12 5.22MB 服务器端 客户端
1
devexpress界面库,终于给出了schedulercontrol如何绑定数据库的方案:http://blog.csdn.net/haoyujie/article/details/41250031原始在这里:https://www.devexpress.com/Support/Center/Example/Details/E4176
2023/11/30 14:04:40 2.09MB devexpress scheduler label 数据库
1
etherscanAPI绑定到Etherscan.ioAPI,具有几乎完整的实现(帐户,交易,令牌,合同,块,统计信息),完整的网络支持(主网,Ropsten,Kovan,Rinkby,Tobalaba),并且仅取决于标准库。
:winking_face:用法创建一个API实例,然后就可以使用了。
:rocket:import( "github.com/nanmu42/etherscan-api" "fmt")funcmain(){ //createaAPIclientforspecifiedethereumnet //therearemanypre-definedne
2023/11/30 7:03:20 22KB go golang ethereum eth
1
这个demo的功能是:stm32f407+DP83848的硬件环境移植LWIP的无操作系统的TCP/IP的server例程。
这个例程不仅实现了TCP/IP的server功能,同时还绑定了多个端口,即一个IP地址,多个port。
压缩包里有详细介绍,有技术上问题可联系我:,欢迎大家相互探讨,相互学习。
2023/11/28 4:38:46 8.79MB STM32F407 LWIP DP83848 多端口服务器
1
共 326 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡