1、软件毕业课程设计总结报告1(此文档为word格式,下载后您可任意编辑修改!)编号:( )字 号软件课程设计报告班级:信科09-3班姓名:张晴刚学号:讲师:谢红侠中国矿业大学计算机科学与技术学院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 软件课程设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实
2、际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题等):成 绩: 指导教师签字: 年 月 日目 录=第一部分 基础题第一题1面向过程5. 编程序,使 用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。/ 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几
3、。.71.1 需求分析11.2 概要设计.11.3 详细设计与编码.11.4 调试分析.21.5 用户使用说明 .31.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需求分析.32.2 概要设计.32.3 详细设计与编码.42.4 调试分析.4
4、2.5 用户使用说明 .52.6 设计心得.52面向对象 第三题1. 第一题 自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。请完成类定义,并编制主函数,说明complex类对象,对定义的各成员函数进行调用。class complex double real; /复数实部 double imag; /复数虚部public: complex(); /无参构造函数 complex(double r, double i); /2参构造函数 complex addCom(complex c2); /调用者对象与对象c2相加,返回comple
5、x类对象 void outCom (); /输出调用者对象的有关数据(各分量) ;进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。.5 3.1需求分析.53.2 概要设计.53.3 详细设计与编码.63.4 调试分析.63.5 用户使用说明 .73.6 设计心得.7第四题6 编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):template class tmplt T arrn; / n个T类型的数据存放于数组
6、arr之中public: void dataIn(); /从键盘输入n个T类型数据放入arr数组中 void reverseOut(); /将arr数组中的数据按输入的相反顺序输出;.7 4.1需求分析.74.2 概要设计.74.3 详细设计与编码.84.4 调试分析.84.5 用户使用说明 .94.6 设计心得.10第五题 可视化编程 用你熟悉的一种可视化编程语言实现以下汉诺塔演示程序(可以参考附件中的程序代码)。5.1需求分析.115.2 概要设计.125.3 详细设计与编码.135.4 调试分析.145.5 用户使用说明 .155.6 设计心得.15数据结构 第六题2假设有一个循环链表的
7、长度大于1,且表中既无头结点也无头指针。已知p为指向链表中某结点的指针,试编写算法在链表中删除结点p 的前趋结点。6.1需求分析.176.2 概要设计.176.3 详细设计与编码.176.4 调试分析.186.5 用户使用说明 186.6 设计心得.18 第七题编程序,按如下方法求A矩阵的转置矩阵B:输入两个正整数m和n,而后通过使用指针配合new运算符生成一个m行n列的二维动态数组A以及另一个n行m列的二维动态数组B,之后为A输入数据(A矩阵数据),进而求出其转置矩阵B(数据放动态数组B中)并输出结果。7.1需求分析.197.2 概要设计.197.3 详细设计与编码.197.4 调试分析.1
8、97.5 用户使用说明 .197.6 设计心得.201面向过程 第5题5. 编程序,使 用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。/ 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。需求分析:当我们处理查找具体年份月日是周几的问题,往往会遇到闰年平年的问题,还有七天一循环的问题。因此实现此类算法是很有必要
9、的。1.2 概要设计: 对于指定具体年月日所在本年的第多少天,有如下算法。int sum_day(int month,int day) int i; int day_tab12= ; for(i=0;i=3)days=days+1;s=s+(days-1)%7;if(s7)s=s%7;coutsendl;1.3详细设计与编码: #includeusing namespace std;int main()int sum_day(int,int);int leap(int);int year,month,day,days,s;coutyears;coutmonthday;days=sum_day(month,day);if(leap(year)&month=3)days=days+1;s=s+(days-1)%7;if(s7)s=s%7;coutsendl;return 0;int sum_day(int month,int day) int i; int day_tab12= ; for(i=0;imonth-1;i+) day+=day_tabi; return (day);int leap(int year)int leap;leap=(year%4=0&year%100!=0)|(ye
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1