《2022年2022年集合的并交差运算 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年集合的并交差运算 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、石 河 子 大 学集合的并,交和差运算程序设计基础课程设计报告二 OO八 年 六月二十五日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 1 页 共 8 页1 目录一编程目的: . 2二设计要求: . 2三各函数功能说明: . 2四流程图: . 22 五总结:. 7参考书目 24 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
2、 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 2 页 共 8 页2 一 编程目的:编写数学程序,能够演示执行集合的集合的并,交和差运算的程序,可以任意对两个集合进行集合之间的运算。通过该程序的编写,更加熟练的掌握类和动态链表。经过自己的查找和询问,让自己对书上的知识理解的更加透彻一点了,该程序让我们把书上的知识灵活运用,让我们把书上的知识变活了。二设计要求:1集合的限定:集合元素必须为小写字母2.在屏幕上输出全部运算情况三各函数功能说明:函数源代码以及函数的功能:#include using namespace std; ty
3、pedef struct pointer char dat; struct pointer *link; pointer; void readdata(pointer *head) / 读集合pointer *p; char tmp; cintmp; while(tmp!=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 3 页 共 8 页3 if(tmpz) coutdat=tmp; p-link=
4、head-link; head-link=p; cintmp; /couttmplink; while(p!=NULL) coutdatlink; coutlink; while(p1!=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 4 页 共 8 页4 p3=new pointer; p3-dat=p1-dat; p3-link=head3-link; head3-link=p3; p1=
5、p1-link; p2=head2-link; while(p2!=NULL) p1=head1-link; while(p1!=NULL)&(p1-dat!=p2-dat) p1=p1-link; if(p1=NULL) p3=(pointer *)malloc(sizeof(struct pointer); p3-dat=p2-dat; p3-link=head3-link; head3-link=p3; p2=p2-link; void jiao(pointer *head1,pointer *head2, pointer *head3) /计算集合1 与集合 2 的交pointer *
6、p1,*p2,*p3; p1=head1-link; while(p1!=NULL) p2=head2-link; while(p2!=NULL)&(p2-dat!=p1-dat) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 5 页 共 8 页5 p2=p2-link; if(p2!=NULL)&(p2-dat=p1-dat) p3=new pointer; p3-dat=p1-dat; p3-lin
7、k=head3-link; head3-link=p3; p1=p1-link; void cha(pointer *head1,pointer *head2, pointer *head3) /计算集合1 与集合 2 的差pointer *p1,*p2,*p3; p1=head1-link; while(p1!=NULL) p2=head2-link; while(p2!=NULL)&(p2-dat!=p1-dat) p2=p2-link; if(p2=NULL) p3=new pointer; p3-dat=p1-dat; p3-link=head3-link; head3-link=p3
8、; p1=p1-link; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 6 页 共 8 页6 main() pointer *head1,*head2,*head3; head1=new pointer; head1-link=NULL; head2=new pointer; head2-link=NULL; head3=new pointer; head3-link=NULL; cout输入集合1:
9、endl; readdata(head1); cout输入集合2:endl; readdata(head2); /*cout 集合 1 为: endl; disp(head1); cout集合 2 为: endl; disp(head2); */ cout集合 1 与集合 2 的并为 :link=NULL; cout集合 1 与集合 2 的交为 :link=NULL; cout集合 1 与集合 2 的差为 :endl; cha(head1,head2,head3); disp(head3); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
10、- - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 7 页 共 8 页7 运行结果:四函数框架图:五总结:在做程序设计前就已经感觉到我设计的集合的并,交和差运算比较复杂,不仅要写出实现各种功能的函数还要保证函数之间的连接,怎样通过函数之间的关系能很好的把函数连接起来,还要保证程序能够很好的而且有效的运行。还有可能遇到一些以前没有用到的知识,像怎样在输入有误的情况下进行异常处理,这些都要通过函数的功能来实现,这些对我来说都是新的知识,而且觉得很有难度。集合的并,交和差运算源文件主函数(输入集合1 集合 2)头文
11、件集合 1 和集合 2 的并集集合 1 和集合 2 的交集集合 1 和集合 2 的差集通过指针牵引录入数据头文件包含函数声明名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 程序设计基础课程设计第 8 页 共 8 页8 在编写该程序期间,我遇到了非常多的问题,感谢我们班的同学一遍一遍的讲解和演练,让我明白了许多自己以前不懂的问题,我明白了自己知道的是很少的一部分,我们应该自己多抓住时间进行自主学习,不然自己课堂上学的东西是在是不够自己使用。工程完成日期: 2008-6-25 电信 07 级(二)班曹鹏参考书目:1谭浩强, C+程序设计,北京,清华大学出版社,2006 年. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -