ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:245.21KB ,
资源ID:23470649      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23470649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(石大远程在线考试数据结构课程设计8541854054813.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

石大远程在线考试数据结构课程设计8541854054813.docx

1、石大远程在线考试数据结构课程设计8541854054813中国石油大学(北京)远程教育学院期末考试数据结构课程设计1.课程设计题目从下面四个题目中任选一题完成。1.1 通讯录的制作C或者 C+语言基本知识,编写一个班级的通讯录管理用单链表作为数据结构,结合 系统。系统包括下面几方面的功能:第1 :输入信息:输入某同学的信息;第2 :显示信息:显示全部通讯录中学生的信息;第3 :查找功能:实现按姓名进行查找,并给出查找信息;第4 :删除功能:实现按姓名进行删除,并给出操作结果;第5 :每名同学的信息包括:姓名、性别、电话、城市;第6 :界面友好,每步给出适当的操作提示;第7:系统具有一定的容错能

2、力。1.2图书管理系统设计一个计算机管理系统完成图书管理几本业务。系统要满足下面基本要求:第1 :每种图书的登记内容包括:书名、书号、作者、出版社、现存量和库存量;第2 :采编入库:新购图书,确定书号后,登记到图书账目表中,如果表中存在该书, 则只将库存量增加;第3 :借阅:如果该书的库存量大于 0,则借出一本, 登记借阅者的书证号和归还期限,改变库存量;第4 :归还:注销对借阅者的登记,改变该书的库存量;第5 :界面友好,每步给出适当的操作提示;第6:系统具有一定的容错能力。1.3产品进销管理系统针对某个行业的库房产品进销存情况进行管理,系统要求具有下列功能:第1 :采用一定的存储结构对库房

3、的货品及其数量进行分类管理;第2 :可以进行产品类的添加、产品的添加、产品数量的添加;第3 :能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;第4 :库存量;第5 :每种产品至少包含信息:产品名、进货日期、进货数量、销出数量、销售时间、界面友好,每步给出适当的操作提示;第6 :系统具有一定的容错能力。2.校园导航问题设计中国石油大学(北京)的校园平面图,至少包括 10个场所,可以实现任意两个场所的最短路径。1.4课程设计报告书写规范减法、乘法以及矩阵部分内容。下面以“稀疏矩阵运算器”为例说明如何写课程设计报告。题目要求: 设计一个稀疏矩阵计算器,实现两个稀疏矩阵的加法、相减、相乘以

4、及矩阵转速运算2.1需求分析1.稀疏矩阵是指稀疏因子小于等于 0.5的矩阵。 利用“稀疏” 特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。2.以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现矩阵转置,以及两个矩阵的加、 减、乘的运算。 稀疏矩阵的输入形式采用三元组表示, 运算结果以阵列形式列出。3.演示程序以用户和计算机的对话方式进行,数组的建立方式为边输入边建立。首先 输入矩阵的行数和列数,并判别给出的两个矩阵的行列数是否与所要求的运算相匹配。4.程序可以对三元组的输入属性不加以限制;根据对矩阵的行列,三元组作之间插入 排序,从而进行运算

5、时,不会产生错误。5.在用三元组表示稀疏矩阵时,相加、相减和相乘所产生的结果矩阵另外生成。6.运行环境:VC6.0+。2.2概要设计稀疏矩阵元素用三元组表示:typedef structint i; /非零元的行下标int j; /非零元的列下标int e; /矩阵非零元Triple;稀疏矩阵采用三元组顺序表存储:#define MSXSIZE 12500 /假设非零元个数的最大值为 200#define MAXRC 10 II假定矩阵的最大行数为 10typedef struct图1程序调用模块示意图3.详细设计1.5主函数设计II* 矩阵运算主函数II*主函数中, 实现用户菜单菜单的打印,

6、简洁、清晰。void main()num=Menu(); /打印主菜单while(num)switch(num)case 1:Multi_Matrix(); / 矩阵相乘break;case 2:TransposeMatrix(); / 矩阵转置break;case 3:Add_Matrix(); / 矩阵加法break;case 4:Sub_Matrix(); / 矩阵减法case 0:break;/switchnum=Menu();/while4.主菜单设计主控菜单是用来输出提示信息和处理输入,此函数返回用户的选项,提供给 main函数中的switch 语句。对于不符合要求的选项,提示输入

7、错误并要求用户重新输入。将此函数与main函数合在一起,编译运行程序,即可检查并验证菜单选项是否正确。主菜单如下:/* 打印主控菜单函数int menu()printf(n 主菜单);printf(n矩阵乘法); 矩阵转置); 矩阵加法); 矩阵减法);退出);printf(nscanf(%d,&num);while(num4) /输入非法,重新输入scanf(%d,&num);return num;5.矩阵乘法运算函数*/* 矩阵乘法运算算法 */*ctempccol+=a.datap.e*b.dataq.e; /*for q*/for pfor(ccol=1;ccolv=c.nu;ccol

8、+)if(ctempccol) /*压缩存储该行非零元 */if(c.tu)MAXSIZE)exit;c.tu+;c.datac.tu.i=arow;c.datac.tu.j=ccol; c.datac.tu.e=ctempccol;/*end if*/*for arrow*/*if*/Print_matrix(a);Print_matrix(b); Print_matrix(c);6.矩阵转置算法/*/* 矩阵转置算法 */*void TransposeMatrix()lnput_Matrix(&a); / 输入矩阵 ab.mu=a.nu;b.nu=a.mu;b.tu=a.tu;if(b.t

9、u)q=1; /*b.data 的下标 */for(col=1;colv=a.nu;col+) / 对 a 的每一列for(p=1;pv=a.tu;p+) /*p 为 a 的下标 */if( a.datap.j=col) /寻找矩阵 a中列为col的非零元b.dataq.i=a.datap.j;b.dataq.j=a.datap.i;b.dataq.e=a.datap.e;q+;/if(p)/if(b.tu)Print_matrix(b); /输出a的转置矩阵7.矩阵加法算法/*/*矩阵加法运算函数 */*c=a+b*/*Status Add_Matrix()Input_Matrix(&a);

10、 / 输入矩阵aInput_Matrix(&b); / 输入矩阵bif(a.mu !=b.mu |a.nu !=b.nu )/不满足矩阵加法条件return ERROR;c.mu =a.mu ;c.nu =a.nu ;ta=1; tb=1; tc=1;if(a.tu *b.tu !=0)while(ta=a.tu) & (tb=b.tu)if(a.datata.i=b.datatb.i) if(a.datata.j=b.datatb.j) temp=a.datata.e+b.datatb.e; if(temp!=0)c.datatc.i=a.datata.i;c.datatc.j=a.data

11、ta.j;c.datatc.e=temp;tc+;/end if (temp)ta+; tb+;/end ifelseif(a.datata.jb.datatb.j)c.datatc.i=a.datata.i;c.datatc.j=a.datata.j; c.datatc.e=a.datata.e; ta+; tc+;/end of else ifelsec.datatc.i=b.datatb.i; c.datatc.j=b.datatb.j; c.datatc.e=b.datatb.e; tb+; tc+;/end if elseif(a.datata.ib.datatb.i) c.data

12、tc.i=a.datata.i; c.datatc.j=a.datata.j; c.datatc.e=a.datata.e;tc+; ta+;elsec.datatc.i=b.datatb.i;c.datatc.j=b.datatb.j; c.datatc.e=b.datatb.e; tc+; tb+;/whilewhile(ta=a.tu) / 处理a中剩余非零元c.datatc.i=a.datata.i;c.datatc.j=a.datata.j;c.datatc.e=a.datata.e;tc+; ta+;while(tbmu, t-nu, t-tu); / 获得矩阵行列数、非零元个数f

13、or(i=1;iv=tu;i+)scanf(t-data i.i, t-data i.j,t-data i.e); return OK;9.矩阵输出算法将三元组以矩阵方式输出在屏幕上,算法如下:/*/* 矩阵输出函数 * /*Status Print_matrix(Tabletype m)k=1;for(i=1;imu ;row+) numrow=0;for(t=1;ttu ;t+)num m-data t.i+;m-rpos 1=1;for(row=2;rowmu ;row+)m-rpos row=m-rpos row-1+numrow-1;1.6程序测试在这部分给出程序运行结果的屏幕截图,以及测试分析1.7感想与体会这部分给出算法设计过程中的问题、程序调试过程的问题与收获2.3要求源程序没有语法错误,运行结果正确; 设计报告按照规范书写。课程设计最后提交内容包括:源程序与课程设计报告。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1