软件课程设计总结报告文档格式.docx
《软件课程设计总结报告文档格式.docx》由会员分享,可在线阅读,更多相关《软件课程设计总结报告文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
任务下达日期:
2008年11月14日
课程设计日期:
2008年11月14日至2009年1月4日
课程设计题目:
类别
题目序号
面向过程
1,2,3,4,5,7,
面向对象
1,2,3,4,5,6,
图形界面
1
数据结构
1,2,3,4
软件课程设计指导教师评阅书
指导教师评语(①基础理论及基本技能的掌握;
②独立解决实际问题的能力;
③研究内容的理论依据和技术方法;
④取得的主要成果及创新点;
⑤工作态度及工作量;
⑥总体评价及建议成绩;
⑦存在问题等):
成绩:
指导教师签字:
年月日
目录
==============================
第一部分基础题
1面向过程第3题:
使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项显示在屏幕上……………..………………....................................7
1.1需求分析…………………………………………………………………………1
1.2概要设计………………………………………………………………………...1
1.3详细设计与编码………………………………………………………………...1
1.4调试分析………………………………………………………………………...2
1.5用户使用说明………………………………………………………………….3
1.6设计心得………………………………………………………………………...3
第7题…………………………………………………………………………3
2.1需求分析………………………………………………………………………….3
2.2概要设计………………………………………………………………………..3
2.3详细设计与编码………………………………………………………………...4
2.4调试分析………………………………………………………………………...4
2.5用户使用说明………………………………………………………………….5
2.6设计心得………………………………………………………………………...5
2面向对象第3题利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。
………………………………..………………….5
3.1需求分析…………………………………………………………………………..5
3.2概要设计………………………………………………………………………...5
3.3详细设计与编码………………………………………………………………...6
3.4调试分析………………………………………………………………………..6
3.5用户使用说明………………………………………………………………….7
3.6设计心得………………………………………………………………………..7
第8题编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:
姓名,单位,家庭电话,移动电话,并包含保存、输出、查询、修改等功能………………………………………………………………….……………………..7
4.1需求分析…………………………………………………………………………..7
4.2概要设计………………………………………………………………………...7
4.3详细设计与编码………………………………………………………………...8
4.4调试分析………………………………………………………………………...8
4.5用户使用说明………………………………………………………………….9
4.6设计心得………………………………………………………………………...10
3可视化编程第1题
实现计算器编程。
该计算器需要实现基础的数学运算,如加,减,乘
除。
5.1需求分析…………………………………………………………………………..11
5.2概要设计………………………………………………………………………...12
5.3详细设计与编码………………………………………………………………...13
5.4调试分析………………………………………………………………………...14
5.5用户使用说明………………………………………………………………….15
5.6设计心得………………………………………………………………………...15
第2题使用VisualC++6.0实现以下绘图程序(可以参考附件中的程序代码)。
6.1需求分析…………………………………………………………………………..15
6.2概要设计………………………………………………………………………...15
6.3详细设计与编码………………………………………………………………...15
6.4调试分析………………………………………………………………………...16
6.5用户使用说明………………………………………………………………….16
6.6设计心得………………………………………………………………………...16
4数据结构第2题
假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。
已知p为指向链表中某结点的指针,试编写算法在链表中删除结点p的前趋结点。
7.1需求分析…………………………………………………………………………..17
7.2概要设计………………………………………………………………………...17
7.3详细设计与编码………………………………………………………………...17
7.4调试分析………………………………………………………………………...18
7.5用户使用说明…………………………………………………………………18
7.6设计心得………………………………………………………………………...18
第3题
求A矩阵的转置矩阵B
8.1需求分析…………………………………………………………………………..19
8.2概要设计………………………………………………………………………...19
8.3详细设计与编码………………………………………………………………...19
8.4调试分析………………………………………………………………………...19
8.5用户使用说明………………………………………………………………….19
8.6设计心得………………………………………………………………………...20
1面向过程第3题编程序,使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入)
1.1需求分析:
当我们在生活中或者数学、物理等学习过程中,往往会遇到累加问题,即新的项是由于它距离最近的两项的加和,不断的生成新项,实现了累加,进行所谓的“数据平移”,因此实现此类算法是很有必要的。
1.2概要设计:
说明变量old1=1,old2=1,newItem;
新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。
而后通过“old1=old2;
old2=newItem;
”进行所谓的“数据平移”。
接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。
Fibonacci数列的计算公式如下:
fib
(1)=1;
fib
(2)=1;
fib(n)=fib(n-1)+fib(n-2);
//对大于等于3的任意n
1.3详细设计与编码:
(流程图)
真假
返回错误
(最终代码及必要说明)
#include<
iostream>
usingnamespacestd;
intmain()
{
intold1=1,old2=1,newItem,n,k;
//定义变量,newItem是总是靠近他的前两项
cout<
<
"
---------------------------"
endl<
请输入数列的项"
endl;
cin>
>
n;
for(inti=0;
i<
i++)//设循环,使i按循环向上加,直到N
newItem=old1+old2;
//newItem等于它的前两项之和
k=old1;
//累加和算法,在每一次循环过程中将其值前移
old1=old2;
old2=newItem;
}
k<
//输出计算后的K
return0;
截图如下
1.4调试分析
一定要确定old1,old2,1.newItem,n,k的类型是int型
1.
2.赋值过程中一定是newItem=old1+old2;
而不是old1+old2=newItem
3.注意体会尝试程序的健壮性。
4.尝试用其他方法完成该程序
1.5用户说明
用户可直接通过键盘向界面输入你要求的Fibonacci数列的第n项,按回车键即可得到答案。
1.6设计心得:
在这个程序设计中,所用的都是最基本的知识,对于最基本的知识一定要达到熟练的程度,才能熟中生巧,设计出高质量的程序。
2.面向过程第7题将输入的罗马数据化为10进制数。
假设罗马数据中只使用如下7个“基值”字母:
M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
2.1需求分析:
我们在生活中常会遇见用罗马数字表示的代码或者数学、物理等学习过程中,往往会遇到将罗马数字转化为十进制数的计算,设计一个简单的转换程序是很有意义的
2.2概要设计
将输入的10进制正整数转换为罗马数据。
假设罗马数据中只使用“基值”字母:
显然是一个翻译程序,肯定是将一种表达形式换算成另一种表达形式。
该题是把罗马数字转换成十进制数,初步设想:
输入一个字符数组,即一个罗马数字,然后按照其位数上的权值展开后输出,即输出一个十进制数。
2.3详细设计与编码:
(流程图)
输入
输出
任意一个步骤出错输出错误
运行结果:
2.4调试分析
1程序开始不可少语句inta,m=0,d=0,c=0,l=0,x=0,v=0,i=0;
//设“基值”并作零初始化,若不做初始化,字母输出任意值。
2.将对应的权值相乘,将各位加和赋给a输出,除了对应之外没有其他难点
3.尝试着用其他方法编写
2.5用户使用说明:
用户可意直接根据提示从键盘输入罗马数字,按回车键可以方便得到结果
2.6设计心得:
此程序在设计之前,一定要分析好设计思路,巧妙运用循环语句。
同时也要注意时间复杂度的分析,尽量使程序高效运行。
3面向对象第3题利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。
具体地说,可通过在基类baseCla及其派生类fib1Cla、fib2Cla和fib3Cla中说明如下的同一个虚函数