




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 编号: ( )字 号 软件课程设计报告 班 级: 12 级信息安全二班 姓 名: 李江涛 学 号: 08123608 指导老师: 徐慧 中 国矿业 大 学计 算机科 学与 技 术学 院 2013 年 6 月 2 软件课程设计任务书 专业年级: 信息安全二班 学生姓名: 李江涛 任 务 下 达 日 期 : 2013 年 4 月 日 课程 设计日期: 2013 年 4 月 5 日至 200 年 7 月 3 日 课程 设计题目: 面向过程 类别 题目序号 成绩 面向过程 已做: 1 2 3 4 5 6 7 10 面向对象 已做: 1 2 3 5 6 7 8 9 图形界面 已做: 1 2 数据结构 已做: 1 2 3 4 目录 一 第一阶段 . 4 1 . 4 需求分析 . 4 要设计 . 5 细设计与编码 . 5 3 试分析: . 6 户使用说明 . 6 计体会 . 6 2期星期转换 . 7 . 7 要设计 . 7 . 10 . 10 . 10 . 10 二 第二阶段 . 11 1. 11 . 11 要设计 . 11 . 11 行结果: . 17 试分析 . 18 户使用说明 . 18 试分析: . 18 验体会 . 18 2 面向对象函数模板反向输出 . 19 1 反向输出 . 19 需求分析: . 19 数模板 反向输出 源代码: . 19 运行结果: . 21 三 第三部分 . 21 1 . 21 用你熟悉的一种可视化编程语言实现如下图所示的 计算器。该计算器需要实现基础的数学运算 ,如加 ,减 ,乘 ,除。 . 21 要程序 . 21 行结果图: . 22 四 第四部分 . 23 1. 23 求分析: . 23 要设计: . 24 细设计与编码: . 24 行结果: . 27 户使用: . 27 计体会: . 27 2 统计选票 . 27 需求分析 : . 28 概要设计: . 28 详细设计与编码: . 28 行结果: . 30 4 试分析: . 31 用户使用: . 31 计体会: . 31 五 第五部分 课程总结 . 31 一 第一阶段 1 需求分析 程序要求:输入正整数 m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数 m,并输出求取结果。注意,现在共有 7种元以上面值的人民币纸币,分别为: 100, 50, 20, 10, 5, 2, 1。 本题的主要的任务是编制一 个函数,这个函数的主要的作用是用来把一个输入的人民币的钱数,使用最少张数的人民币纸币,凑成上述的钱数。从提供的钱数来看,本题的输入值的范围是钱数 m 大于等于 1 元的钱数,理论上讲没有上限,但是要看数据类型, ,或 ,它们有自己的取值范围。 的最大值是 127, 的最大值是 2147483647。 输出的代表 100, 50, 20, 10, 5, 2, 1的钱的张数。它们的值都是整数。 输入形式: 整数 输出形式: 输入钱数 m= 需要 100 元面值的纸币数是: 需要 50 元面值的纸币数是: 需要 20 元面值的纸币数是: 需要 10 元面值的纸币数是: 需要 5元面值的纸币数是: 需要 2元面值的纸币数是: 需要 1元面值的纸币数是: 程序功能: 输入一个代表人民币钱数的正整数 m,然后使用最少的人民币纸 5 币凑成该钱数 m。 测试数据及输出结果如下: 要设计 由于是面向过程的设计,所以我就用最简单的算法实现:通过不断的取模、除法运算来实现,然后输出结果。可能过程上比较繁琐,但我觉得对于这个程序还算可以。 细设计与编码 # i;a8;=开始 ,100¥ ,50¥ ,20¥ ,10¥ ,5¥ ,2¥ ,1¥ ; 6 if( a1=00; a2=(00)/50; a3=(00%50)/20; a4=(00%50%20)/10; a5=(00%50%20%10)/5; a6=(00%50%20%10%5)/2; a7=(00%50%20%10%5%2)/1; i=1;n); b); /函数声明 b; b= /调用函数 判断年份 b); /调用函数 求返回日期到 1; /调用函数 求间隔天数除 7后剩余天数 /调用函数 判断是周几 ;i+, if(0)ai=1; ai+1=ai+1; if(1) ai; /设有返回值以为后续编程使用 10 在调试时,最开始输出的日期有星期 9 的情况,才知道如果 +,则它的星期数应该再减去 7 才对 用户打开程序后,窗口会自动的显示出提示信息:请输入 户输入一正确年份后按,窗口会再自动的显示出提示信息:请输入某年 1 月 1 日 , 用户输入 1数字代表星期,一样按 结束 ,之后窗口会显示:请输入 户输入正确日期并以空格隔开,最后按 运行程序显示结果。 输出结果如图所示: 进行测试,结果正确。 这个程序主要就是计算天数跟计算星期两个函数组成,计算天数用 数比较简单,另外,计算星期的时候容易出错,尤其是输入 期不同时,写出来的程序有时对有时错, 11 这说明自己写的程序还不完善,需要进一步改进,测试的时候多试几组数据,保证程序运行正确,多多调试,让程序更趋完美。 二 第二 阶段 1本题目要设计一个 ,类中包含学生的基本信息,而且要采用 用随机读写处理方式对类的对象数据进行存储与读写处理。而且要有输入函数、输出函数,而且还可以计算总成绩! 根据实验要求,设置一组测试数据如下: 【输入数据】 1 001 张华 男 20 89 85 92 002 李宁 女 19 88 76 95 2 3 【输出数据】编号 姓名 性别 年龄 数学成绩 计算机成绩 外语成绩 总分 1 张华 男 20 89 85 92 266 2 李宁 女 19 88 76 95 259 要设计 ( 1) 建一个 ,定义类中的数据元素 0、 0、 ( 2) 设置类的成员函数:输入类元素 、输出类元素 、把数据输入到磁盘中 、把数据从 磁盘中输出 ; ( 3) 编写类的成员函数的代码; ( 4) 编写主函数,并调用 、 函数; 源代码: 12 #; /学生私有数据资料 0; /公有操作函数 ; /增加学生 ); /查找 按姓名 /按学号 ( ; /二进制存储结构体 0; if(m|f) /复制学生信息存储文件 /打开创建 1&2&3&4&5&6)(1) ; if(2) if(3) if(4) if(5) 17 i; i=1;i+) c; c; if(c=Y); if(c=N) ; 行结果: 18 试分析 自身感觉此程序的难点在于要采用文件形式的随机存储方式,还要写入磁盘当中,再 C+语言学习当中,此会内容本身就学的不扎实,在编写过程中磁盘的打开存储总是写不对,经过查 C+书及请教同学得知在存入数据时,打开磁盘要 用 语 句 , 把 数 据 写 入 磁 盘 要 &s,s)语句,程序结束还得关闭磁盘 ;类似的在 函数中也有类似的语句。最后编译时却通不过,最后发现是由于少了个头文件 # 其实题目中还有有关检索的要求,但因为精力有限、知识有限没有编写,请指导老师见谅! 经过此次调试过程熟悉了采用 件形式,并使用随机读写的处理方式,磁盘的写 入读出也更加熟练,还得到了经验教训,在使用不同的处理方式时要加入相应的头文件。 户使用说明 【 开程序; 【 择操作类型; 【 选择输入数据,则选择要输入的人数,然后再输入相关数据; 【 续选择相关的操作,若想停止则输入出 1、 2 之外的数据。 试分析: 分析:经过比较可以发现输出结果与程序设计之初预想的结果完全吻合,这表明已达到先前的设计要求,而且整个操作过程都有操作提示,显示出此程序的健壮性! 验体会 经过此次试验对 件及 随机读写的处理方式有了更加深刻的认识,从实验过程中也得到的了不少经验教训,比如:应该随程序的使用函数、操作不同要增加相应的头文件;程序在操作过程中要有相应的操作提示,这样才更有益与用户更好的使用! 19 2 面向对象函数模板反向输出 1 反向输出 需求分析: 编写一个具有如下样式的类模板 于实现所谓的反序输出问题,其中使用了类型参数 T(使所处理的元素类型可变化)以及普通参数 n(元素个数也可变化): 数模板 反向输出 源代码: /*写一个具有如下样式的类模板 于实现所谓的反序输出问题,其中使用了类型参 数 T(使所处理的元素类型可变化)以及普通参数 n(元素个数也可变化): T n; / n 个 ; /从键盘输入 类型数据放入 ; /将 ; 而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负 责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。 */ # T n; ; ; ; i=0;ii; 20 ;K 1 # *M,m,n) m; n; *)m*; (j); m; n; # 29 *L,n) p; L=(; L-i=0;ip-p-L-p; / ,p; n,m,i; m; n; ,n); a; a=()m*; i=0;i=0;+; p=p- i=0;im;i+) 30 编号为 i+1的候选人得 ai个选票 ; 行结果 : 31 试分析 : 在运行程序时,程序给出候选人的编码。在输入选票信息时,误输入了候选人的编码,程序不会显示错误的警告这是本程序的不足。需设置一个循环语句,循环条件是输入的数据不符合要求,然后进行重新输 入,直至达到要求后才跳出循环执行下面的语句。 用户使用 : 使用该程序仅需按照输出提示进行输入即可,但要确保输入的编号不要超出程序给的编号范围,这是本软件的一个不足,不过软件用起来还可以。 计体会 : 做完这个实验,让我加深了对单链表的理解。我收获最大的是学会了如何创建单链表。该实验给了我好多启发,我发现生活中的好多事物都可以用单链表的方式实现,比如描述一个班级同学的信息,就可以用单链表的方式实现,每个结点的数据域用来存放班里每个同学的信息,指针域指向单链表的下一个元素。 五 第五部分 课程总结 学与做: 看着简单,做着难,我自己眼高收低,心太急,不过敢想敢写感 尝试,努力付出还真有蛮多收获。最起码: 函数调用,参数传递很有体会。再苦再累就值了。 做了这次课程设计,我觉得课程设计这种形式真的是我们需要的,可以让我们学到很多,包括书上的、书外的。理论永远 !=实际。在学 程序 的时候,读了书上的算法描述,觉得自己都会了,考试题目也都做出来了,但真的到编程去实现它的时候,却不是一次就成功的,总会出点 差错,循环的边界条件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机考试题库及答案及答案【考点梳理】
- 2025年养老护理员职业资格理论基础知识考试题库及参考答案
- 2025普法考试题目及答案
- 2025年养老护理员考试试题及答案
- 2025年儿童心理发展师考试试题及答案
- 13 威武的门神说课稿-2025-2026学年小学美术沪教版四年级上册-沪教版
- 2025年烧伤整形科手术器械项目合作计划书
- 面向实际部署的边缘协同服务缓存与请求卸载技术
- 水生动物苗种繁育工安全生产基础知识竞赛考核试卷含答案
- 金融科技对上市金融机构风险溢出的影响研究
- 台球厅吸引人活动方案
- 2025-2026学年湘科版(2024)小学科学三年级上册(全册)教学设计(附目录P208)
- 2025年产业规模预测新能源产业发展趋势深度分析方案
- 银行监控中心保密协议书
- 架空输电线路线路检测质量缺陷及预控措施
- 静脉输液药物外渗应急快速处理指南
- 人工智能与核医学的深度融合与应用探索
- 关于三违管理办法
- 成人高考专升本政治考试历年真题(含答案)
- GB/T 15704-2025道路车辆轻合金车轮冲击试验方法
- GB/T 10819-2025木制底盘
评论
0/150
提交评论