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
三.简答题(每小题5分,共20分)1、说明计算机系统的层次结构。
2.请说明指令周期、机器周期、时钟周期之间的关系。
3.请说明SRAM的组成结构,与SRAM相比,DRAM在电路组成上有什么不同之处?4.请说明程序查询方式与中断方式各自的特点。
2023/5/30 14:12:31 1.55MB 计算机组成原理
1
引见了一般微处理器核的设计原理、基于微处理器核的SoC设计的基本概念和方法,通过对ARM系列处理器核和CPU核的详尽描述,来说明微处理器及外围接口的设计原理和方法。
同时也综述了ARM系列处理器核和最新ARM核的研发成果,以及ARM和Thumb编程模型,对SoC设计中涉及到的存储器层次、Cache、存储器管理、片上总线、片上调试和产品测试等主要问题进行了论述。
在此基础上给出了几个基于ARM核的SoC嵌入式应用的实例。
最后对基于异步设计的ARM核AMULET及异步SoC子系统AMULET3H的研究进行了引见。
  本书的特点是将基于ARM微处理器核的SoC设计和实际嵌入式系统的应用集成于一体,对于基于ARM核的SoC设计和嵌入式系统开发者来说是一本很好的参考手册。
可用作计算机科学技术与应用、电气工程、电子科学与技术专业本科生及硕士研究生的教材。
也可作为从事集成电路设计的工程技术人员、基于ARM的嵌入式系统应用开发技术人员的参考书。
2023/3/19 0:30:14 9.17MB ARM 体系结构
1
作者:谢惠民出版社:高等教育出版社出版年:2003-7页数:424定价:35.50元装帧:简裝本ISBN:9787040119220内容简介······《数学分析习题课讲义(上册)》是教育部“国家理科基地创建名牌课程项目”的研究成果,其目的是为数学分析的习题课教学提供一套具有创新特色的教材和参考书。
《数学分析习题课讲义(上册)》以编著者们近20年来在数学分析及其习题课方面的教学经验为基础,吸取了国内外多种教材和研究性论著中的大量成果,非常注意经典教学内容中的思想、方法和技巧的开辟和延伸,在例题的讲解中强调启发式和逐步深入,在习题的选取中致力于对传统内容的更新、补充与层次化。
《数学分析习题课讲义(上册)》分上下两册出版。
上册内容为极限理论和一元微积分,下册内容为无穷级数和多元微积分。
《数学分析习题课讲义(上册)》可作为高等院校理工科教师和学生在数学分析习题课方面的教材或参考书,也可以作为研究生入学考试和其他人员的数学分析辅导书。
目录······序前言第一章引论1.1关于习题课教案的组织1.2书中常用记号1.3几个常用的初等不等式1.3.1几个初等不等式的证明(3)1.3.2练习题(7)1.4逻辑符号与对偶法则第二章数列极限2.1数列极限的基本概念2.1.1基本定义(12)2.1.2思考题(13)2.1.3适当放大法(14)2.1.4例题(15)2.1.5练习题(17)2.2收敛数列的基本性质2.2.1思考题(18)2.2.2例题(18)2.2.3判定数列发散的方法(21)2.2.4练习题(25)2.3单调数列2.3.1例题(26)2.3.2练习题(30)2.4cauchy命题与Stolz定理2.4..1基本命题(31)2.4.2例题(35)2.4.3练习题(37)2.5自然对数的底e和Euler常数72.5.1与数e有关的两个问题(38)2.5.2关于e的基本结果(38)2.5.3Euler常数y(43)2.5.4例题(44)2.5.5练习题(45)2.6由迭代生成的数列2.6.1例题(46)2.6.2单调性与几何方法(49)2.6.3练习题(52)2.7对于教学的建议2.7.1学习要点(53)2.7.2补充例题(54)2.7.3参考题(55)第一组参考题(55)第二组参考题(57)2.8关于数列极限的一组习题课教案2.8.1第一次习题课(60)2.8.2第二次习题课(62)2.8.3第三次习题课(63)2.8.4第四次习题课(65)第三章实数系的基本定理3.1确界的概念和确界存在定理3.1.1基本内容(67)3.1.2例题(67)3.1.3练习题(69)3.2闭区间套定理3.2.1基本内容(70)3.2.2例题(71)3.2.3练习题(72)3.3凝聚定理3.3.1基本内容(73)3.3.2例题(73)3.3.3练习题(74)3.4Ca.uchy收敛准则3.4.1基本内容(74)3.4.2基本命题(75)3.4.3例题(76)3.4.4压缩映射原理(77)3.4.5练习题(79)3.5覆盖定理3.5.1基本内容(80)3.5.2例题(81)3.5.3练习题(83)3.6数列的上极限和下极限3.6.1基本定义(83)3.6.2基本性质(84)3.6.3例题(88)3.6.4练习题(91)3.7对于教学的建议3.7.1学习要点(92)3.7.2一题多解(93)3.7.3参考题(95)第一组参考题(95)第二组参考题(96)第四章函数极限4.1函数极限的定义4.1.1函数极限的基本类型(97)4.1.2函数极限的其他类型(98)4.1.3思考题(98)4.1.4例题(99)4.1.5练习题(102)4.2函数极限的基本性质4.2.1基本性质(103)4.2.2基本命题(104)4.2.3思考题(107)4.2.4例题(107)4.2.5练习题(109)4.3两个重要极限4.3.3例题(112)4.3.4练习题(114)54.4无穷小量、有界量、无穷大量和阶的比较4.4.1记号o,O与~(115)4.4.2思考题(117)4.4.3等价量代换法(119)4.4.4练习题(121)54.5对于教学的建议4.5.1学习要点(122)4.5.2参考题(122)第五章连续函数5.1连续性概念5.1.1内容提要(124)5.1.2思
2023/3/9 20:18:01 7.72MB 谢惠民 数学分析 讲义 上册
1
编译原理实验三一、讨论Oberon-0语言的特点1、保留字与关键字的概念区分保留字只要是用在程序语言的层次架构用途上,比如说IF,THEN,ELSIF,用在程序的循环、分支、判断条件、程序块等组织上,它是程序语言中预定义的,具某些特殊意义规范的单词。
保留字侧重于强调不能被用户作为定义的名字。
关键字是一个只被用在某一部分的程序编程中,关键字在程序语言中同样有特殊的意义特征。
多用于类型定义,如在Oberon中,integer便是用来定义变量类型的关键字。
还有其他的功能如作为程序语言中的某个特定函数的名称,如write,read等(在Oberon中).不同的语言的关键字和保留字的概念区分是不一样的。
例如在C,JAVA中,if,else,while这些都是关键字的范围,而在Oberon中是保留字的范围。
在C语言风格的程序语言中,是将程序控制块的那些保留字也一并归为关键字的。
(这些关键字不可以作为变量,函数的名称,也就是不可以作为程序员使用的标示符)。
2、Oberon与C、Java的差别a)在每逐个个主要的函数过程procedure中,Oberon有begin和end来标志,而在C和java中一般是用花括号来标志。
b)在定义变量时,Oberon是在分号之后,也就是最后在给出具体是什么类型的,而在C、Java中一般是在变量的前面就给出了类型,只是Oberon会先用var说明这是一个变量。
c)Oberon中的可用到数据结构主要有数组,类似C中的结构体,类型选择比较少。
3二、文法二义性讨论该文法没有二义性。
在其他的语言中出现的二义性类型中,比如表达式的parsingtree(存在两颗或以上的parsingtrees)的二义性,需要用算符优先关系来确定的和if-else的匹配问题导致的二义性问题,都在该文法中的EBNF定义中被消除掉了。
1、对于表达式的二义性处理:simple_expression=["+"|"-"]term{("+"|"-"|"OR")term};term=factor{("*"|"DIV"|"MOD"|"&")factor};从中,可以看出*和DIV、MOD这些一定在+-之前就进行运算了。
通过将表达式的将+-和*DIV、MOD等用不同层次的表达式进行定义,消除了这一二义性。
2、对于if-else匹配出现二义性的处理:
2023/3/8 21:01:58 2.96MB Oberon-0
1
由于上传限制,分割成3个压缩包了。
(转载)常常看到坛子里的朋友们专研和讨论SAP某一个功能的配置和用法,精神可嘉。
某项具体功能地实现,的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX,BusinessProcessExpert),都需要对企业架构、组织功能和业务流程等内容有一个全面而系统地认识和理解。
高度决定视野。
仔细想来,企业之间的竞争,不仅是客户、供应商、资金等外部资源的竞争,企业内部的业务流程竞争才是成败的关键。
每一个成功的企业背后,一定有一套优于竞争对手的业务流程,丰田之道就是一个很好的案例。
因此,个人以为,在实施SAP系统时,应该花更多的精力专注于端到端(End-to-End)业务流程地设计和优化上,尽可地消除业务流程中非增值的活动,而不是简单地用配置和二次开发来满足用户体验或无关大局的功能。
增值与不增值最简单的判断依据就是看客户是否愿意为这一生产活动付钱。
当然这并不是唯一标准,例如QA本身并不产生增值,理论上可以省去,但在实践中还是必不可少的,因为流程的主体——人,毕竟不是精密的机器。
最基本的端到端的业务流程包括:定单到收款(Order-to-Cash)采购到付款(Purchase-to-Pay)计划到制造(Planning-to-Manufacturing)会计到报告(Accounting-to-Reporting)招聘到退休(Recruiting-to-Retiring)也许将来按模块划分的SD、MM、PP、FI/CO顾问将会消失,取而代之的是业务流程专家。
最近,SAP公司在SDN上推出了BPX社区,体现了SAP对业务流程的重视。
SAPSolutionComposer就是一个很好的工具,通过预定义400多个最新的行业、跨行业以及基础构造和服务导图,协助SAP顾问和客户对业务流程有一个共同的认识和描述;
快速定位客户的关键业务需求并与SAP商业套件中的解决方案相对应,清楚地界定项目范围;
即便是对于SAP的初学者或企业管理人员,也可以通过SAPSolutionComposer学习到跨国企业运作中的主要业务流程和了解SAP系统的概览。
(最新版的SAPSolutionComposer12M左右)
2023/3/5 16:02:13 4MB 业务流程 sap系统 erp实施 sap实施
1
数据挖掘算法算法目录18大DM算法包名 目录名 算法名AssociationAnalysis DataMining_Apriori Apriori-关联规则挖掘算法AssociationAnalysis DataMining_FPTree FPTree-频繁模式树算法BaggingAndBoosting DataMining_AdaBoost AdaBoost-装袋提升算法Classification DataMining_CART CART-分类回归树算法Classification DataMining_ID3 ID3-决策树分类算法Classification DataMining_KNN KNN-k最近邻算法工具类Classification DataMining_NaiveBayes NaiveBayes-朴素贝叶斯算法Clustering DataMining_BIRCH BIRCH-层次聚类算法Clustering DataMining_KMeans KMeans-K均值算法GraphMining DataMining_GSpan GSpan-频繁子图挖掘算法IntegratedMining DataMining_CBA CBA-基于关联规则的分类算法LinkMining DataMining_HITS HITS-链接分析算法LinkMining DataMining_PageRank PageRank-网页重要性/排名算法RoughSets DataMining_RoughSets RoughSets-粗糙集属性约简算法SequentialPatterns DataMining_GSP GSP-序列模式分析算法SequentialPatterns DataMining_PrefixSpan PrefixSpan-序列模式分析算法StatisticalLearning DataMining_EM EM-期望最大化算法StatisticalLearning DataMining_SVM SVM-支持向量机算法其他经典DM算法包名 目录名 算法名Others DataMining_ACO ACO-蚁群算法Others DataMining_BayesNetwork BayesNetwork-贝叶斯网络算法Others DataMining_CABDDCC CABDDCC-基于连通图的分裂聚类算法Others DataMining_Chameleon Chameleon-两阶段合并聚类算法Others DataMining_DBSCAN DBSCAN-基于密度的聚类算法Others DataMining_GA GA-遗传算法Others DataMining_GA_Maze GA_Maze-遗传算法在走迷宫游戏中的应用算法Others DataMining_KDTree KDTree-k维空间关键数据检索算法工具类Others DataMining_MSApriori MSApriori-基于多支持度的Apriori算法Others DataMining_RandomForest RandomForest-随机森林算法Others DataMining_TAN TAN-树型朴素贝叶斯算法Others DataMining_Viterbi Viterbi-维特比算法18大经典DM算法18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够协助大家学。
目前追加了其他的一些经典的DM算法,在others的包中涉及聚类,分类,图算法,搜索算等等,没有具体分类。
C4.5C4.5算法与ID3算法一样,都是数学分类算法,C4.5算法是ID3算法的一个改进。
ID3算法采用信息增益进行决策判断,而C4.5采用的是增益率。
详细介绍链接CARTCART算法的全称是分类回归树算法,他是一个二元分类,采用的是类似于熵的基尼指数作为分类决策,形成决策树后之后还要进行剪枝,我自己在实现整个算法的时候采用的是代价复杂度算法,详细介绍链接KNNK最近邻算法。
给定一些已经训练好的数据,输入一个新的测试数据点,计算包含于此测试数据点的最近的点的分类情况,哪个分类的类型占多数,则此测试点的分类与此相同,所以在这里,有的时候可以复制不同的分类点不同的权重。
近的点的权重大点,远的点自然就小点。
详细介绍链接NaiveBayes朴素贝叶斯算法。
朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导
2023/3/5 1:58:33 220KB 数据挖掘 18大 算法 DM
1
艾滋病疗法的评价及疗效的预测摘要艾滋病是至今人类仍未征服的疾病,流行发展趋势越来越严峻,攻克艾滋病是人类面临的一大难题。
本文给出了艾滋病患者的临床治疗数据,要考虑预测继续治疗的效果,并评价各种治疗方案优劣,预测即根据已有的数据信息推算将来的数据,评价方案的优劣属于决策类问题。
对问题(1),先分析CD4和HIV的浓度的变化趋势,建立微分方程模型,无法求解析解,用软件matlab求出CD4和HIV的参数表达式,从附件的数据信息中挖掘出具有普遍特征的数据,用回归法求参数的值,因为得到的表达式不是常规的形式,只能回归出HIV表达式的参数,CD4的无法求出。
作数据分布图,发现描出的形状同二次曲线的图形相近,二次曲线的图形特性符合CD4的浓度变化趋势。
于是建立待定系数的二次曲线方程模型,先拟合出多组参数值,再用回归法确定最后的值,得出的二次曲线方程。
根据HIV和CD4的浓度表达式结合可以作出提前终止治疗的预测,终止时间在第30周。
问题(2),预测四种疗法的继续治疗效果。
首先将患者按CD4初始浓度分类,仍引用前面的二次曲线模型,用附件二的数据回归出曲线方程的参数。
回归过程中考虑到是要评价不同的疗法,根据疗法的不同把数据分为四类,回归得出四组参数,相应的表达式就是这种疗法的CD4的浓度变化曲线方程。
比较四种疗法的优劣,采用CD4浓度最大值和取得最大值的时间为评判标准,结合更加细化的分类数据画出的图形,从理论上和直观上都证实了评价的结果:疗法4效果最好,疗法3次之,疗法2再次之,疗法1效果较差;
利用二次曲线模型得出最佳方案停止用药的最佳时间为20周,同时由分类法模型得出在四种不同CD4初始浓度的条件下最佳方案停止用药的最佳时间分别为:24周、16周、16周、24周。
两种模型的结果相接近。
问题(3)要考虑药品价格因素的影响,价格和药效的权重无法确定,通过假设权重参数来定量表示价格和药效的关系。
采用层次分析法构建层次结构模型,用特征向量归一化并求组合权向量,找到疗法功能和价格权重的关系。
根据不同经济状况的国家的价格权重的值不一样,得到不同的疗法评价结果。
总结出如下的结论:不发达国家经济落后,价格权重较大,疗法1的评价值较高,疗法4的评价值较低,适合疗法1,对于发达国家应当推广疗法4。
文章的最后对模型地优缺点进行了评价,并作了推广。
关键词艾滋病疗法评价微分方程二次曲线回归层次分析
1
马上着手开发iOS应用程序StartDevelopingiOSAppsToday此文档为官方中文文档用于初学者从全体层次上了解iOS开发
2023/2/22 13:09:26 21.47MB ios
1
共 416 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡