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
SSCOM4。
2最好用的串口调试工具,让您爱不释手的专业串口调试软件,使用完全免费!本软件可以在Win95/98、Win2000、WinNT、WinXP等下面运行.软件功能主要为:1.接收从串口进来的数据并在窗口显示.显示流畅,可以保持接收大量数据不死机.2.所接收到的数据数据显示方式可以选择为字符方式或者HEX方式4.中文显示无乱码,且不影响速度5.串口波特率可以选择为110bps-256000bps.(波特率>115200时需要硬件支持)6.可以即时显示存在的串口号.如果您增加了usb转串口等设备,串口号也会在列表中出现.7.可以选择“5、6、7、8”四种数据长度.8.可以选择为“1、1.5、2”三种停止位.(1.5停止位需要硬件支持)8.可以自由选择校验方式.9.可以自由选择流控方式.(某些计算机不能选择硬流控)10.串口设置和字符串操作等设置在程序关闭时自动保存,打开时自动载入.11.可以在接收窗口按键即发送该键值.12.可以在字符串输入框输入您想发送的字符串,并发送.13.可以在字符串输入框输入您想发送的HEX数据串,数据的值从00到FF,没有任何限制.14.可以定时重复发送数据,并可以设置发送时间间隔.15.可以在发送字符串时选择发送新行,即自动加上回车换行.16.可以显示当前串口的CTS、DSR、RLSL(CD)信号线的状态.17.可以自由控制当前串口的DTR、RTS信号线的输出状态.18.可以打开一个文本文件或者一个二进制文件预览其内容,查看方式可以是文本或者HEX方式.19.可以打开一个文本文件或者一个二进制文件并以当前波特率发送到串口.20.可以保存串口接收到的内容到文件,文件名取自当前时间,保存在当前目录.21.可以即时显示发送的字节数和接收到的字节数,按清除窗口将会清零.22.带有功能强大的扩展功能:多条字符串发送预先定义,并自动保存.23.可以定义最多32条预备发送的字符串,每条字符串可以定义为HEX数据串或者字符串方式.在每一条数据的左边打勾就表示这是一条hex数据串.24.点击字符串右边的标号即可以发送这条定义好的字符串.25.可以设置为循环发送你定义过的多条字符串,并且可以设置发送时间间隔.25.可以同时打开多次软件,进行不同的串口的调试.26.在产品信息栏可以从网上自动获得现时最新的产品信息.27.这是个绿色软件,单个文件即可执行,不会给您的机器增加任何负担.28.发送字符串时选择'发送新行',可以加发回车换行.V4.1(2007-9-15)主要改进在:1。
发送文件字节数增加到8M字节2。
增加发送过程中断停止发送功能3。
增加发送进度条显示4。
修改保存接收到的数据为二进制文件,是原始的从串口收到的数据内容(不再修改00H为空格了)5.串口打开时的容错.由于很多人使用usb串口,当串口拔出时经常发生串口丢失错误.6.奇偶校验选择和流控生效了.(不过很多计算机还是无法选择硬流控)7.可以关闭设置栏,留出更多位置显示数据.
2023/12/24 8:25:30 716KB sscom4.2
1
这是基于P2P的局域网即时通信系统java实现,是我的计算机网络的课程设计的源代码,使用netbean进行编写,可执行的jar文件可以查看我的资源。
希望能帮到同学们。
2023/12/22 17:06:14 472KB 课程设计
1
上期是一种开源解决方案,用于通过安全隧道在公共Internet上即时共享终端会话。
上任期对远程配对编程访问NAT和防火墙后面的远程计算机远程调试<插入您的创意用例>这是一篇,深入描述了Upterm。
用法主机启动一个终端会话:$uptermhost--bash主机显示ssh连接字符串:$uptermsessioncurrent===IQKSFOICLSNNXQZTDKOJCommand:bashForceCommand:n/aHost:ssh://u
2023/12/16 17:17:34 4.48MB ssh golang terminal tools
1
环信即时通讯单聊集成,添加好友,实现单聊,可以学习下
2023/12/15 10:05:42 4.42MB 环信即时通讯
1
当LR11和QTP安装在同一个XP系统时,往往LR11录制时不能打开IE,即时设置了IE仍不行,此时把register_vugen.bat放到安装的Bin目录下,双击执行,重新进行注册路径后,即可解决问题。
2023/12/14 8:05:46 3KB LR11 打不开IE
1
二.产品功能:2.1、系统管理组织机构设置:进行对政府、企业信息、部门、职务级别、岗位、员工信息等设置,该设置是系统进行工作管理和权限分配的基础;
系统管理员可以根据本单位的需求对各种工作流程,相关内容进行自定义;
2.2、协同信息根据日常工作内容按信息的类型分为:待发/新建事项、已发事项、待办事项、已办事项、档案管理。
是企业内部员工间的协同工作平台(包括异地协同办公);
支持简洁的文字编辑、信息流转、审批、回复、意见加载,以及附件加载。
2.3、公共信息该功能包括发布公告、调查、讨论,也可以阅读公告、调查,参与讨论,使企业内部建立正式和非正式公共信息的发布平台,加强团体沟通意识,辅助建设企业文化。
支持简洁文字编辑、信息发布、回复、意见加载,附件加载,有权限控制。
2.4、日程管理帮助企业员工对时间和事件的有效管理,系统提供我的日程、查看他人日程、待发/新建会议、查询/取消会议功能。
支持提醒、自动日期时间适配、私密事件隐藏,以及日历、周历、月历记事模式。
三.产品特征:3.1.准确的应用定位,简洁的信息分类聚焦OA应用共性,专注于解决办公管理中的沟通、协同、跟踪及个人事务处理,系统简约高效。
3.2.先进的共享信息处理机制,图视化的流程管理以事件和流程为基础,以"人"为节点的共享信息处理机制和图视化流程管理,符合传统办公思维习惯,发起跟踪、接收处理、归档查询三步完成协同工作。
3.3.灵活的系统设置和客户个性化定制提供灵活、开放的企业组织结构、岗位、权限设置,以及可参考的管理格式模版选择和编辑修改工具,满足企业个性化管理需求3.4.整合企业已有的信息化资源,实现有效的信息共享能将如ERP、财务系统、CRM等其他信息系统通过信息传递手段联系起来,整合信息孤岛。
3.5.易学易用、实施零风险初始化安装简便,客户端IE浏览器操作,当天实施当天启用。
3.6.提供及时可靠的信息委托处理功能整合著名企业的应用,提供短信、企业邮箱等信息委托服务,网上网下信息即时传达。
3.7.提供独特技术,异地访问、共享轻松实现提供无固定IP访问技术,集团跨区域异地办公的协同应用需求轻松实现。
3.8.基于技术先进构架采用B/S体系结构,基于windows和asp.net规范开发,支持多种应用及数据库服务器,具备良好扩展能力。
2023/12/9 2:03:02 5.84MB OA
1
联盟支付平台系统通用版1.0使用说明1.本系统专用于游戏开区网站、在线商城、服务器空间出租、充值卡和游戏点卡出售等场合。
免除了使用第三方支付平台的烦恼。
轻松支付,不受他人制约。
2.系统分为三个功能模块:游戏充值、自动售卡和在线支付。
游戏充值能够元宝自动到账,支持目前绝大多数游戏。
3.系统提供通用游戏网关和传奇传世网关。
通用网关适用于热血江湖、天龙八部、蜀门、魔域、奇迹、劲舞、完美、诛仙、神泣、问道、永恒、千年、天堂、冒险岛、剑侠、飞飞、梦幻、科隆、天道、征服、封神、决战、神咒等大型网络游戏,只要使用ACCESS、MsSQL、MySQL或Oracle任意一种数据库的,均可以使用通用游戏网关。
4.系统提供API支付接口,包括ASP、PHP、JSP、ASPX四种程序代码。
可以把支付程序集成在自己的网站上,用户无需打开平台网站就可以完成支付过程。
5.采用即时结算,就是用户付款就给商户结算,即零秒结算方式。
避免了黑单的情况。
6.用户付款后,如果出现掉单的情况,可以自行补单。
避免了商户补单的烦恼。
由于是付款后,平台未显示付款成功,可以立即点“查询”订单,如果确实已经付款,平台就会自动到账成功。
从而不再有用户等待补单而抱怨,大大减少了被投诉的可能。
7.完善的推广系统,可以给每一位推广商户设置不同的推广提成,商户可以查到具体的推广收益等情况。
8.细致的分成比例,可以给每一位商户设置各个支付通道的分成比例,商户可以自己查询到详细的信息。
9.合理的奖励机制,由于不同支付渠道的分成不同。
比如说银行卡支付100元,商户得98,而用腾讯充值卡只得75元,但是用户得到的充值金额都是100元。
那么为了鼓励用户尽量使用银行卡支付,往往采用银行卡支付奖励一定的金额。
然而按以前的奖励方法,神州行分成比例大约在95%左右,而腾讯充值卡是75%左右,两者都是充值卡,都不奖励。
只有银行卡奖励,这样用神州行的用户是会减少的。
那么本系统采用的按分成比例相应补偿的办法,分成越高的,奖励就越高。
==============测试方法:本程序需要netbox环境才能运行,也可以在http://www.zxjeu.cn/down/web.exe下载。
把netbox程序放在测试目录运行,输入本机网址就可以测试。
后台地址:http://127.0.0.1/admin.asp用户名和密码均为admin前台用户klwz密码为1234==============本系统包含网站服务器,支持多网站和泛域名解析,相应功能可在托盘图标上点右键,“系统管理”里可以查看。
1
这是一款android即时通讯软件,基于XMPP传输协议,使用openfire本地服务器进行连接,与spark客户端进行通讯。
该软件实现了登录,对话,增删联系人,显示联系人状态等功能。
在openfire服务器中创建用户后,两个用户相连接,通过点对点的方式进行来发送消息。
2023/11/27 9:21:31 30.32MB Android 通讯软件
1
VC++利用消息机制在两个EXE程序间通信,在发送端发送消息,终端可以即时监听并接收到消息,然后给出提示。
通过本程序可了解一些程序间数据交换的相关技巧。
2023/11/25 4:29:53 44KB vc++ 通信
1
共 339 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡