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
详细的介绍了orcad中pspice的语法,是一篇有用的工具书
2023/6/4 13:53:28 3.48MB pspice orcad
1
绝对零基础Python3.x入门,掌握Python语言常数据类型与操作、语句语法、流程控制、函数定义、模块管理,类与面向对象编程,错误与异常处理,文件读写,数据库编程,PythonWeb编程初步等知识;
为以后Python各方向领域编程打下坚实基础。
2023/6/3 11:05:10 32B 小甲鱼 零基础 入门 学习
1
是作为一种编程语言的Python实现。
由于Angle可以编译为Python字节码,因此可以用作经典Python的替代品,并且即使在PyCharm中也可以完全调试。
目前正在开发中,可以通过直接在WASM中运行。
这种语言的主要目的是方便通过语音对计算机进行编程。
是第一种可说的编程语言,因此使更多的人可以访问该程序。
:desktop_computer:安装pipinstallangleangleexamples或从来源:gitclone--recursivegit@github.com:pannous/angle.gitcdangle;./install.sh启动外壳:./bi
1
Sec是Simpleeasycompile的缩写,Simple:简单easy:容易compile:编程中文名称“简易编程”,使用VB6编写的程序,语法参考了C语言和易语言,支持中英文混合编程。
脚本程序和网站游戏服务器的语言则是使用VBScript,Jscript,Javascript这三种脚本为基础,加上脚本解释器提供的各种对象库,使得开发网站和游戏变得更为轻松快捷。
网站和游戏可以相互访问其内部对象,网站可以跟游戏客户端的玩家相互聊天,读取游戏对象数据,编辑游戏装备等。
2023/5/17 22:46:03 205KB 中文编程 简易编程 游戏开发
1
去年做的编译原理作业,由于时间紧迫,没有完成语法分析与语义分析,但拥有比较完善的界面(界面有两个,在主程序中可以修改使用哪个界面)。
词法规则如下:关键字:intcharifelserealfordowhile数字、变量名(不使用下划线,头字母不为数字)、符号词法分析生成*.TAKEN、*.SymbolTable两个文件。
保留部分语法分析接口,可以继续完成。
词法分析部分在Lex文件夹下,生成中间数据存储的类在Data下。
由于老师给的语法分析规则太复杂(老师给的还是错的,我后来自己改的),而且在程序中还没有体现,故不上传,需要的可以来信索取,有完成的语法分析表(不知道是否正确……orz)。
注:在界面最下边……2009后面有一个箭头可以弹出菜单,选择"恢复默认设置"即可使用全部功能。
将DisplayForm.cs中38-40行的toolStrip1.Visible=false;toolStrip2.Visible=false;listBox1.Visible=false;中false改为ture则默认显示全部组件。
本程序系自己完成,版权没有,盗版自由,个人完成程序均免资源分下载。
shizhiyu701@live.cn
2023/5/16 7:58:17 70KB 词法分析 C# 编译原理
1
程序代码简单,容易理解,采用递归下降子程序实现语法分析,希望给大家带来帮助
1
索尔普一个和拼合为复仇的源文件。
solpp是专门为solpp设计的,这意味着它实际上了解solpp一些语法,并提供适用于Solidity原语的高精度数学和内置函数。
产品特点通过合并所有裸露的导入来您的源文件,以便在上轻松进行合同验证。
甚至将包括URL导入及其依赖项。
简单,实用的语言,受C预处理程序指令,python和javascript启发。
使用#def指令轻松在源文件中声明符号和宏函数。
#if/#elif/#else块,用于条件代码渲染。
#for重复代码块。
用$(...)扩展(替换)或用$$(...)符号,宏和表达式在代码中的任何位置进行求值。
2023/5/15 16:52:26 107KB ethereum smart-contracts preprocessor solidity
1
基于小法度圭表标准底子语法学识做的饕餮蛇小游戏,波及数据绑定等不雅点,代码有详尽评释,新手也能够看患上懂。
2023/5/14 10:11:05 338KB 贪吃蛇 小程序
1
本书基于MATLAB6.5正式版(Release13),为读者提供了使用MATLAB的实际性指点。
本书首要介绍了MATLAB中与抑制工程相关的6个底子货物箱:体系辨识货物箱、抑制体系货物箱、鲁棒抑制货物箱、模子料想抑制货物箱、模糊逻辑货物箱以及非线性抑制方案模块,同时提供了MATLAB中的一些底子学识。
在教学6个货物箱的进程中,本书还教学了一些工程使用方面的配景学识,并对于每一个函数的成果、语法以及参数做了详尽的阐发,对于许多弥留的函数都给出了详尽的示例法度圭表标准。
本书能够作为低级院校抑制工程业余本科生、钻研生课本使用,也可作为广大科研工程本领人员的参考用书。
第1章MATLAB底子1.1MATLAB的汗青1.1.1MATLAB的暴发1.1.2MATLAB的阻滞1.2MATLAB体系组成1.2.1MATLAB的体系组成1.2.2MATLAB货物箱及使用介绍1.3末了使用MATLAB1.3.1MATLAB的启动1.3.2样例1.3.3MATLAB末了学识第2章MATLAB体系辨识货物箱2.1体系辨识的原理及辨识模子的简介2.1.1底子原理2.1.2罕用的模子类2.2体系辨识货物箱函数2.2.1模子建树以及转换的函数介绍2.2.2非参数模子类的辨识函数介绍2.2.3参数模子类的辨识函数介绍2.2.4递推参数模子辨识函数介绍2.2.5模子验证与仿真函数介绍2.2.6其余罕用函数介绍2.3体系辨识货物箱图形界面2.3.1数据视图2.3.2操作遴选2.3.3模子视图第3章抑制体系货物箱3.1LTI体系模子及转换3.1.1LTI模子3.1.2LTI货物及其属性3.1.3LTI模子函数3.1.4模子检测函数3.2外形空间的实现3.2.1外形空间的实现3.2.2外形空间的实现的函数3.3体系时域照料3.3.1体系时域照料3.3.2体系时域提前3.4体系频率照料3.5顶点配置配备枚举3.6模子的综合处置3.6.1模子的转换3.6.2模子的毗邻3.6.3模子降阶3.7LQG方案3.8GUI函数介绍第4章鲁棒抑制货物箱4.1鲁棒抑制实际及鲁棒抑制货物箱简介4.1.1鲁棒抑制实际概述4.1.2鲁棒抑制货物箱底子数据结构4.2体系模子建树与转换货物4.2.1模子建树货物4.2.2模子转换货物4.3鲁棒抑制货物箱成果函数4.3.1Riccati方程求解4.3.2Riccati方程前提数4.3.3矩阵的Schur方式4.4多变量波特图4.4.1频率照料的特色增益/相位波特图4.4.2络续以及离散体系的怪异值波特图4.4.3结构怪异值波特图4.5矩阵因子化本领4.6模子降阶方式4.6.1Schur相对于倾向模子降阶方式4.6.2失调模子降阶4.6.3最优Hartkel最小迫近降阶4.7鲁棒抑制箱综合方式4.7.1离散以及络续征兆的H2综合4.7.2离散以及络续征兆的H∞综合4.7.3H∞综合的丁迭代方式4.7.4H2以及H∞范数4.7.5LQC优化抑制综合4.7.6LQG回路传输规复4.7.7综合4.7.8youla参数化4.8示例第5章模子料想抑制货物箱5.1体系模子辨识函数5.1.1数据向量或者矩阵的归一化5.1.2基于线性回归方式的脉冲照料模子辨识5.1.3脉冲照料模子转换为阶跃照料模子5.1.4模子的校验5.2体系矩阵信息及画图函数5.3模子转换函数5.4模子建树以及毗邻函数5.5抑制器方案与仿真5.5.1基于MPC阶跃照料的抑制器方案与仿真5.5.2基于MPC外形空间模子的抑制器方案与仿真5.6体系阐发函数5.7模子料想抑制货物箱成果函数第6章模糊逻辑货物箱6.1模糊逻辑实际简介6.1.1模糊群集6.1.2模糊关连6.1.3模糊推理6.2MATLAB模糊逻辑货物箱6.2.1模糊附属度函数6.2.2模糊推理体系数据管理函数6.3逻辑货物箱的图形用户界面6.4模糊推理体系的低级使用6.5模糊逻辑货物箱接口及示例函数第7章非线性抑制方案模块7.1NCD模块的使用7,1.1建树闭环体系方框图7.1.2配置解放前提7.1.3末了优化盘算7.2NCD模块使用实例
2023/5/13 21:08:30 10.22MB MATLAB 控制工程 工具箱 技术手册
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡