软件课程设计总结报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:()字号
《软件课程设计》报告
班级:信科09-3班
姓名:张晴刚
学号:08093588
讲师:谢红侠
中国矿业大学计算机科学与技术学院
2011年1 月
软件课程设计任务书
专业年级:电子信息科学与技术2009级
学生姓名:张晴刚
任务下达日期:2010年10月16日
课程设计日期:2010年10月16日至2011年1月2日课程设计题目:
类别题目序号面向过程1,2,3,4,5,6,7
面向对象1,2,3,4,5,6,7,8
图形界面 3
数据结构1,2,3,4, 6, 9
软件课程设计指导教师评阅书
指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;
③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):
成绩:指导教师签字:
年月日
目录
==============================
第一部分基础题
第一题1面向过程
5. 编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。
// 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。 (7)
1.1 需求分析 (1)
1.2 概要设计 (1)
1.3 详细设计与编码 (1)
1.4 调试分析 (2)
1.5 用户使用说明 (3)
1.6 设计心得 (3)
第二题
7.将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。如,罗马数据LXXXVII表示10进制的87。
将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
(3)
2.1需求分析 (3)
2.2 概要设计 (3)
2.3 详细设计与编码 (4)
2.4 调试分析 (4)
2.5 用户使用说明 (5)
2.6 设计心得 (5)
2面向对象
第三题
1.第一题自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类
可以完成复数的加法以及对复数的输出。请完成类定义,并编制主函数,说明complex 类对象,对定义的各成员函数进行调用。
class complex{
double real; //复数实部
double imag; //复数虚部
public:
complex(); //无参构造函数
complex(double r, double i); //2参构造函数
complex addCom(complex c2); //调用者对象与对象c2相加,返回complex类对象
void outCom (); //输出调用者对象的有关数据(各分量)};
进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。 (5)
3.1需求分析 (5)
3.2 概要设计 (5)
3.3 详细设计与编码 (6)
3.4 调试分析 (6)
3.5 用户使用说明 (7)
3.6 设计心得 (7)
第四题
6 编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):
template
T arr[n]; // n个T类型的数据存放于数组arr之中
public:
void dataIn(); //从键盘输入n个T类型数据放入arr数组中
void reverseOut(); //将arr数组中的数据按输入的相反顺序输出
}; (7)
4.1需求分析 (7)
4.2 概要设计 (7)
4.3 详细设计与编码 (8)
4.4 调试分析 (8)
4.5 用户使用说明 (9)
4.6 设计心得 (10)
第五题可视化编程
用你熟悉的一种可视化编程语言实现以下汉诺塔演示程序(可以参考附件中的程序代码)。
5.1需求分析 (11)
5.2 概要设计 (12)
5.3 详细设计与编码 (13)
5.4 调试分析 (14)
5.5 用户使用说明 (15)
5.6 设计心得 (15)
数据结构
第六题
2假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知p 为指向链表中某结点的指针,试编写算法在链表中删除结点p 的前趋结点。6.1需求分析 (17)
6.2 概要设计 (17)
6.3 详细设计与编码 (17)
6.4 调试分析 (18)
6.5 用户使用说明 (18)
6.6 设计心得 (18)
第七题编程序,按如下方法求A矩阵的转置矩阵B:输入两个正整数m和n,而后通过
使用指针配合new运算符生成一个m行n列的二维动态数组A以及另一个n行m列的二维动态数组B,之后为A输入数据(A矩阵数据),进而求出其转置矩阵B(数据放动态数组B中)并输出结果。
7.1需求分析 (19)
7.2 概要设计 (19)
7.3 详细设计与编码 (19)
7.4 调试分析 (19)
7.5 用户使用说明 (19)
7.6 设计心得 (20)