软件课程设计报告_第1页
软件课程设计报告_第2页
软件课程设计报告_第3页
软件课程设计报告_第4页
软件课程设计报告_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1编 号 : ( ) 字 号软件课程设计报告班 级:姓 名学 号:指导老师:中国矿业大学计算机科学与技术学院年 月2软件课程设计任务书专业年级:计算机科学与技术计科 10-2 班学生姓名:王宏武任 务 下 达 日 期 : 200 年 月 日课程设计日期: 200 年 月 日至 200 年 月 日课程设计题目: 面向过程 类别 题目序号 成绩面向过程 3:Fibonacci 数列4:钱数(元数)(1,2,5,7,8)面向对象 2.定义一个日期类,并包含有数据成员,进而设计出相应的类成员函数。3.用三种方法通过用虚函数求 Fibonacci 数列。图形界面 1.通过 MFCAPPWIZARD创建一个计算器(2。 。 。 )数据结构 2. 假设有一个循环链表的长度大于 1,且表中既无头结点也无头指针。已知p 为指向链表中某结点的指针,试编写算法在链表中删除结点 p 的前趋结点。4 .设计一个统计选票的算法,输出每个候选的得票结果(假设采用单链表存放选票,候选人编号依次为 1,2,3,N,且每张选票选且只选一人)(1、3。 。 。).3软件课程设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题等):成 绩: 指导教师签字:年 月 日4目录一、面向过程设计题 5-判断日期与星期(sy5.cpp )1.1 需求分析.91.2 概要设计.101.3 详细设计与编码.111.4 调试分析.131.5 用户使用说明 .131.6 设计心得.13二、面向过程设计题 8-8:加减乘除(sy8.cpp)2.1 需求分析132.2 概要设计.142.3 详细设计与编码.162.4 调试分析.172.5 用户使用说明 .172.6 设计心得.17三、面向对象设计题 3-用三种方法通过虚函数求 Fibonacci 数列(mianxiangduixiang3.cpp)3.1 需求分析173.2 概要设计.193.3 详细设计与编码.213.4 调试分析.223.5 用户使用说明 .223.6 设计心得.22四、面向过程设计题 7-关于磁盘文档的输入输出(miangxiangduixiang7.cpp)4.1 需求分析224.2 概要设计.234.3 详细设计与编码.254.4 调试分析.254.5 用户使用说明 .254.6 设计心得.255五、图形界面 1-计算器(计算器.rar )5.1 需求分析 .265.2 概要设计.265.3 详细设计与编码.285.4 调试分析.285.5 用户使用说明 .295.6 设计心得.29六、数据结构 2-删除结点 p 的前趋结点(数据结构 2.cpp)6.1 需求分析306.2 概要设计.306.3 详细设计与编码.346.4 调试分析.356.5 用户使用说明 .356.6 设计心得.35七、数据结构 4-统计选票(数据结构 3.cpp)7.需求分析.367.概要设计.377.详细设计与编码.397.调试分析.417.用户使用说明 .417.设计心得.41八、课程设计总结 42一 面向过程程序设计面向过程程序设计题 3Fibonacci 数列1.1 需求分析.9该程序是用“数据平移”的方法来求出 Fibonacci 数列的第 n 项(的具体项值)并显示在屏幕上(正整数 n 通过键盘输入):说明变量 old1=1,old2=1 ,newItem;新的 Fibonacci 项 newItem 总是“ 距它最近“的前两项(old1 与 old2)的累加和。而后通过“old1=old2; old2=newItem;“进行所谓的“ 数据平移“ 。接着计算另一个新的Fibonacci 项 newItem,依次循环,直到求出数列的第 n 项时为止。1.2 概要设计.10程序中先定义两个整型数据,规定第一个数据和第二个数据的值为 1,然后对于大于等于63 的 n,用 fib(n) = fib(n-1) + fib(n-2)来算出其值,程序中要设计递归函数 double fib(int n);用于求出 Fibonacci 数列的第 n 项。程序要用到 For 循环来进行数据间的转移,用递归调用输出 newItem 的值。.详细设计与编码#include using namespace std;int main()long old1,old2,n,i,newitem;double fib(int n);old1=old2=1;coutn;if(n0int main()int m,a10,n;coutm;n=m;a0=m/100;m=m-a0*100;a1=m/50;m=m-a1*50;a2=m/20;m=m-a2*20;a3=m/10;m=m-a3*10;a4=m/5;m=m-a4*5;a5=m/2;m=m-a5*2;a6=m/1;9a7=a0+a1+a2+a3+a4+a5+a6;cout“你输入的人民币钱数“n“可由:“endla0“张 100 元人民币“endla1“张 50 元人民币“endla2“张 20 元人民币“endla3“张 10 元人民币“endla4“张 5 元人民币“endla5“张 2 元人民币“endla6“张 1 元人民币“endl“拼凑成.此时使用了最少的张数:“a7“张.“endl;return 0;. 调试分析:正确的输出结果:错误的输出结果:10遇到的问题:1 输出的数据并不是最少的张数。解决方法:1 可能是在数组见运算时出问题,重新定义数组运算。1.6 设计心得通过此程序的编程,重新学习了数组,学会了数组的定义,数组间的简单运算,数组的赋值及输入和输出,初始化。第二阶段:面向对象程序设计面向对象设计题一 2.定义一个日期类,并包含有数据成员,进而设计出相应的类成员函数。2.1 需求分析先定义一个日期类 Date Type,它具有数据成员 y,m,d,用来表示当前日期的年、月、日。而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。先定义一个构造函数,设定年,月,日;并设置参数默认值。当对日期增加一天后,也会涉及所谓的“进位”问题:首先算出本“日”所在的月份具有的天数 N,若加 1 之后的“日”数值超过所在的月份具有的天数 N 时, “进位”到月,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论