- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集合及并交差集运算及设计
青岛理工大学
C++面向对象课程设计报告
院(系): 计算机工程学院
专业: 计算机科学与技术
学生姓名: 刘文泽
班级 计算133 学号: 201207091
题目: 集合的并、交、差集运算的设计_____
起迄日期: _2015.6.29~2015.7.10
设计地点: 计算机学院机房
指 导 教 师: 巩玉玺、林孟达
完成日期: 2015 年7月 10 日
目录
需求分析
选做此课题或项的目的
程序所实现的功能
问题解决方案
内容设计
根据所选题目,给出模块图
编写程序关键代码
调试分析
实际完成的情况说明
程序的性能分析。
上机过程中出现的问题及其解决方案
程序中可以改进的地方说明。
用户手册
设计总结
参考文献
附录
一、需求分析
1.选做此课题或项的目的
用c++实现集合的并、交、差集运算。
2.程序所实现的功能
(1)用户能够输入两个集合元素;
(2)能够额按成集合的交、并、差运算;
(3)集合的元素类型可以为整数、字符串和小数。
(4)输入运算结果。
(5)使用链表来表示集合,完成集合的合并,求交集等。
3、问题解决方案
根据系统功能需求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及他们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
二、内容设计
1.根据所选题目,给出模块图
通过对系统功能的分析,集合交并差系统功能如图所示:
集合的交集运算:
分析:首先输出集合1与集合2的元素,然后输出集合1与集合2中相同的元素。流程图如图所示:
集合的并集运算:
分析:首先输出集合1与集合2的元素,然后输出集合1与集合2中的全部元素。流程图如图所示:
(三)差集的运算
首先输出集合1减去集合2的结果,然后输出集合2减去集合1中的结果。流程图如图所示:
2.编写程序关键代码
typedef struct node
{
int data;
struct node* next;
}lnode,*linklist;
lnode *init_lnode();
void input(linklist l);
void jiaoji(linklist A,linklist B,linklist C);
void heji(linklist A,linklist B,linklist C);
void chaji(linklist A,linklist B, linklist C);
void output(linklist l);
void main()
{
lnode *A,*B,*C;
A=init_lnode();
B=init_lnode();
C=init_lnode();
printf(求AB集合的交集和并集\n);
printf(请输入A集合的元素:);
input(A);
printf(\n请输入B集合的元素:);
input(B);
printf(\n输入完成\n);
printf(\n按任意键进入主菜单:);
getch();
int sel;
do
{
char menu[]={\n\n\n-----☆ 1.交集运算 ☆---------\n\n
---------☆ 2和集运算☆---------\n\n
---------☆3.差集运算 ☆---------\n\n
---------☆ 0. 退出 ☆---------\n\n
};
printf(%s,menu);
printf(\n请在0-3中选择:);
scanf(%d,sel);
switch(sel)
{
case 1:
printf(AB集合的交集是:);
jiaoji(A,B,C);
output(C);
C-next=NULL;
break;
您可能关注的文档
最近下载
- 医院信息网络安全培训PPT课件.pptx
- 2025年前列腺科普试题及答案.docx
- 立式叶片排渣过滤机-中国化工设备网.doc
- 20250508 北京大学DeepSeek系列06:DeepSeek私有化部署和一体机.pptx VIP
- 【7上英YL】芜湖市2024-2025学年七年级上学期期中考试英语试卷.pdf VIP
- 屋面瓦及檩条拆除安全方案.doc
- Schneider Electric施耐德Easy Altivar ATV610 变频器编程手册(中文).pdf VIP
- NB∕T34024-2024生物质成型燃料质量要求及分级.docx VIP
- STM32F1开发标准教程-教学大纲、授课计划.docx
- 新语境幼儿园教师专业能力等级与评定.pdf VIP
文档评论(0)