最新版软件毕业课程设计总结报告1Word文件下载.docx

上传人:b****2 文档编号:1563137 上传时间:2023-05-01 格式:DOCX 页数:35 大小:151.30KB
下载 相关 举报
最新版软件毕业课程设计总结报告1Word文件下载.docx_第1页
第1页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第2页
第2页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第3页
第3页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第4页
第4页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第5页
第5页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第6页
第6页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第7页
第7页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第8页
第8页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第9页
第9页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第10页
第10页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第11页
第11页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第12页
第12页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第13页
第13页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第14页
第14页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第15页
第15页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第16页
第16页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第17页
第17页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第18页
第18页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第19页
第19页 / 共35页
最新版软件毕业课程设计总结报告1Word文件下载.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新版软件毕业课程设计总结报告1Word文件下载.docx

《最新版软件毕业课程设计总结报告1Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新版软件毕业课程设计总结报告1Word文件下载.docx(35页珍藏版)》请在冰点文库上搜索。

最新版软件毕业课程设计总结报告1Word文件下载.docx

⑤工作态度及工作量;

⑥总体评价及建议成绩;

⑦存在问题等):

成绩:

指导教师签字:

年月日

==============================

第一部分基础题

第一题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进制正整数转换为罗马数据。

假设罗马数据中只使用“基值”字母:

…………………………………………………………………………3

2.1需求分析………………………………………………………………………….3

2.2概要设计………………………………………………………………………..3

2.3详细设计与编码………………………………………………………………...4

2.4调试分析………………………………………………………………………...4

2.5用户使用说明………………………………………………………………….5

2.6设计心得………………………………………………………………………...5

2面向对象

第三题

1.第一题自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。

请完成类定义,并编制主函数,说明complex类对象,对定义的各成员函数进行调用。

classcomplex{

doublereal;

//复数实部

doubleimag;

//复数虚部

public:

complex();

//无参构造函数

complex(doubler,doublei);

//2参构造函数

complexaddCom(complexc2);

//调用者对象与对象c2相加,返回complex类对象

voidoutCom();

//输出调用者对象的有关数据(各分量)

};

进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。

………………………………..………………….5

3.1需求分析…………………………………………………………………………..5

3.2概要设计………………………………………………………………………...5

3.3详细设计与编码………………………………………………………………...6

3.4调试分析………………………………………………………………………..6

3.5用户使用说明………………………………………………………………….7

3.6设计心得………………………………………………………………………..7

第四题

6编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):

template<

classT,intn>

classtmplt{

Tarr[n];

//n个T类型的数据存放于数组arr之中

voiddataIn();

//从键盘输入n个T类型数据放入arr数组中

voidreverseOut();

//将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

1面向过程第5题5.编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。

需求分析:

当我们处理查找具体年份月日是周几的问题,往往会遇到闰年平年的问题,还有七天一循环的问题。

因此实现此类算法是很有必要的。

1.2概要设计:

对于指定具体年月日所在本年的第多少天,有如下算法。

intsum_day(intmonth,intday)

{

inti;

intday_tab[12]={};

for(i=0;

i<

month-1;

i++)

day+=day_tab[i];

return(day);

}

求解平年还是闰年的算法如下:

intleap(intyear)

intleap;

leap=((year%4==0&

&

year%100!

=0)||(year%400==0));

return(leap);

求解指定日期是周几的算法如下:

days=sum_day(month,day);

if(leap(year)&

month>

=3)

days=days+1;

s=s+(days-1)%7;

if(s>

7)

s=s%7;

cout<

<

s<

endl;

1.3详细设计与编码:

#include<

iostream>

usingnamespacestd;

intmain()

intsum_day(int,int);

intleap(int);

intyear,month,day,days,s;

"

年,1月1日星期:

;

cin>

>

year>

s;

指定月日:

day;

return0;

no

yes

1.4调试分析

一定要确定old1,old2,1.year,month,day,days,s的类型是int型的。

1.

2.对于平年闰年的分析,要分别对待,加以区分。

3.注意体会尝试程序的健壮性。

4.尝试用其他方法完成该程序

1.5用户说明

用户可直接通过键盘向界面输入你指定年份1月1日是星期几,然后输入本年的月日,即可在屏幕上得到本年指定年月日是周几了。

1.6设计心得:

在这个程序设计中,所用的都是最基本的知识,对于最基本的知识一定要达到熟练的程度,才能熟中生巧,设计出高质量的程序。

2.面向过程第7题将输入的罗马数据化为10进制数。

2.1需求分析:

我们在生活中常会遇见用罗马数字表示的代码或者数学、物理等学习过程中,往往会遇到将罗马数字转化为十进制数的计算,设计一个简单的转换程序是很有意义的

2.2概要设计

显然是一个翻译程序,肯定是将一种表达形式换算成另一种表达形式。

该题是把罗马数字转换成十进制数,初步设想:

对于每个输入的字母,用一个算法返回一个指定的数值,算法如下:

case'

M'

:

return1000;

break;

D'

return500;

C'

return100;

L'

return50;

X'

return10;

V'

return5;

break;

I'

return1;

对于罗马数据中每个字母对应数据累加过程,我们有如下算法:

while((y=getchar())!

='

\n'

{

if(f(x)<

f(y))m=m-f(x);

elsem=m+f(x);

x=y;

}

m=m+f(x);

cout<

m<

return0;

2.3详细设计与编码:

intf(char);

intm=0;

charx,y;

输入罗马数字:

cin>

x;

intf(charc)

switch(c)

运行结果如下:

2.4调试分析

1程序开始不可少语句intf(char);

//设“基值”并作零初始化,若不做初始化,字母输出任意值。

2.将对应的字母返回对应的值,然后把数值累加起来,除了对应之外没有其他难点

3.尝试着用其他方法编写

2.5用户使用说明:

用户直接从键盘输入罗马数字,按回车键可以方便得到输出的阿拉伯数字。

2.6设计心得:

此程序在设计之前,一定要分析好设计思路,分析每个罗马字母中返回的数值,做好相应的处理。

//第三题1.自定义一个示意性的复数类型complex,其中含有若干个成员函数,//使用该类可以完成复数的加法以及对复数的输出。

//

//请完成类定义,并编制主函数,说明complex类对象,对定义的各成员函数进行调用。

3.1需求分析

运用对象实现该算法,说明complex类对象,对定义的各成员函数进行调用,是很有必要的。

3.2概要设计

classComplex

Complex(){real=0;

imag=0;

}//无参构造函数

Complex(doubler,doublei){real=r;

imag=i;

}//2参构造函数

ComplexaddCom(Complex&

c2);

//实现加法运算;

ComplexaddCom2(Complex&

d2);

//实现减法运算;

ComplexaddCom3(Complex&

e2);

//实现乘法运算;

ComplexaddCom4(Complex&

f2);

//实现除法运算;

voidoutCom();

//输出结果运算

private:

//复数实部

//复数虚部

3.3详细设计与编码

#include<

ComplexComplex:

addCom(Complex&

c2)

{Complexc;

c.real=real+c2.real;

c.imag=imag+c2.imag;

returnc;

addCom2(Complex&

d2)

{Complexd;

d.real=real-d2.real;

d.imag=imag-d2.imag;

returnd;

addCom3(Complex&

e2)

{Complexe;

e.real=real*e2.real-imag*e2.imag;

e.imag=real*e2.imag+e2.real*imag;

returne;

addCom4(Complex&

f2)

{Complexf;

f.real=(real*f2.real+imag*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);

f.imag=(f2.real*imag-real*f2.imag)/(f2.real*f2.real+f2.imag*f2.imag);

returnf;

voidComplex:

outCom()

{cout<

("

real<

"

imag<

i)"

Complexc1(5,4),c2(3,4),c3,d1,e1,f1;

c3=c1.addCom(c2);

d1=c1.addCom2(c2);

e1=c1.addCom3(c2);

f1=c1.addCom4(c2);

c3.outCom();

d1.outCom();

e1.outCom();

f1.outCom();

3.4调试分析

1.定义Complex类很重要。

2.在Complex类中实现对两复数的加减乘除运算。

3.写程序时的位置对应,以便查错。

3.5用户使用说明:

屏幕直接显示。

3.6设计心得:

通过此题,我对上学期所学类的定义以及复数运算达到了复习的效果,熟悉了在类中调用个复数进行加减乘除运算的基本操作。

对于期原理有一定的掌握,所以这个程序设计倒是不难。

第四题/*6.编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,

其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):

而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通

过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。

*/

4.1需求分析

应用类模板tmplt,用于实现所谓的反序输出问题,使用了类型参数T以及普通参数n。

4.2概要设计

4.3详细设计与编码

string>

classT,intn>

classtmplt

{Tarr[n];

voiddateIn(){

inti;

n;

arr[i];

voidreverseOut(){

for(i=n-1;

i>

=0;

i--)

arr[i]<

"

{tmplt<

int,8>

t1;

t1.dateIn();

t1.reverseOut();

tmplt<

float,8>

t2;

t2.dateIn();

t2.reverseOut();

char,8>

t3;

t3.dateIn();

t3.reverseOut();

string,4>

t4;

t4.dateIn();

t4.reverseOut();

4.4调试分析

1编程前一定要在整体考虑其结构和实现功能方面做足功夫

3对于数据的输入和输出,要首先在定义中先把它定义好,以便调用是直接调用。

4.函数对应的调用顺序要正确,不但容易阅读而且容易查错。

4.5用户使用说明:

用户可以输入若干组不同大小的数据,然后按回车键,程序系统会自动在屏幕上生成用户想要得到的结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2