- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南邮通院大三软件设计报告格式
通信与信息工程学院
2012/2012 学年 第二学期
软件设计 实验报告
模 块 名 称 VC++软件设计
专 业
学 生 班 级 B1001
学 生 学 号 B1001
学 生 姓 名 zl
指 导 教 师 田炜
设计题目 R013E 寻找三重回文数
P003M 从in.dat文件中读取数据排序后写入out.dat文件中
P004M 从in.dat文件中读取数据进行右移操作判断奇偶将数据写入out.dat文件中
P036H 设计一个简易日历,能查询指定日期在当年的周数,和星期几。 任务要求 加深对课堂所学相关内容的理解。
认识和理解软件工具和软件开发环境是提高软件开发效率的一种有效途径。
学习上机调试程序的方法,逐步提高学生的调试程序能力。
提高对软件工程方法、程序设计方法、数据组织方法、程序实现工具的综合运用能力,从而提高分析问题和解决问题的能力
培养学生良好的编程习惯。
实验设备及软件 微机一台、VC++6.0 同组人员学号及姓名 参考文献 《C语言程序设计》第三版,谭浩强,清华大学出版社,2005
《Visual C++ 6.0程序设计自学教程》,康博创作室,清华大学出版社
《Visual C++ 6.0教程》,于涛、李勇、马维士,科学出版社
题目一 :R013E
题目概述:11到999范围寻找三重回文数
1、问题分析与方案设计。
按题目要求需要寻找一个三重回文数m,首先要理解三重回文数的含义,即都为回文数(各数字左右对称)。
其次将设计分为三大部分:输入,处理,输出。
输入部分:
如何扩大查询的范围?
题目要求寻找11~999的三重素数,但是基于用户角度考虑可以设计为由用户自主选择查找的范围。这就要求程序将查找范围起始值设为i,而终点值设为n,所以此处采用scanf语句把用户从键盘输入的值赋给相应的变量。
使用什么类型的变量?
但是如果将i和m设为int型变量会出错,因为题目最少要求查找11~999范围内的三重回文数,而int型变量范围是0~65535。当查找的数值超过40时,由于41的三次方超过了int型变量的范围,就会发生溢出。所以我们应该采用long型变量以符合题目基本要求。
最大的查询范围是多少?
而采用long型变量也要求输入输出值不能超过long型变量的范围,若超过则会出错。所以在输入部分主要问题是解决查找起始值i,终点值m可能超过long型变量范围的问题。根据long型变量的范围-2147483648~2147483647,终点值最大不应超过1920。若超过应该报错并请求用户重新输入查找的起始值以及终点值。此处用if语句对范围起止值是否溢出进行判别。
处理部分:
1、 如何实现代码的简洁性?
为实现代码的简洁,采用子函数调用的形式。
2、 如何进行回文判别?
在子函数中用一个一维数组来储存判别数据的各个位,然后用一个for循环语句判别是否回文。但是笔者在资料中找到的判别语句:for(j=0;ji/2;j++) if (n[j]!=n[i-j]) ok=0; return ok; i是一维数组最后一个元素的标号。这个语句虽然运行没有问题但是逻辑上有问题。没有考虑到i是奇数偶数的问题,所以应该修改为:先用if语句判别i的奇偶性,在根据奇偶的不同来实现相应的回文判别。具体实现见编程实现。
输出部分:
如果查询范围内没有三重循环数怎么办?
输出部分根据查找范围的不同得出的结果也不同,我们应该考虑到这样的情况:在查找范围内如果没有三重回文数的情况下,如果我们不加处理是没有输出结果的,这样会造成用户的使用困扰。所以为了增加使用的友好性,设计者认为应该子程序返回处设置一个计数变量记录该查找范围内回文数的个数,如果计数变量为零,说明没有三重回文数,这时应该用printf语句输出提示语句告知用户:此查找范围内没有三重回文数。这里设计者采用if语句进行判别,用printf语句输出提示语句。
如何提升界面友好性?
为实现重复查询功能,在main函数里使用while语句进行判别,若字符型变量p=’y’,程序循环,在while语句结束处再一次从键盘输入给字符型变量p赋值,即选择是否再次查询。
方案设计见流程图
Y
文档评论(0)