中国矿业大学软件课程设计2Word文档下载推荐.docx

上传人:b****1 文档编号:15395018 上传时间:2022-10-30 格式:DOCX 页数:30 大小:503.60KB
下载 相关 举报
中国矿业大学软件课程设计2Word文档下载推荐.docx_第1页
第1页 / 共30页
中国矿业大学软件课程设计2Word文档下载推荐.docx_第2页
第2页 / 共30页
中国矿业大学软件课程设计2Word文档下载推荐.docx_第3页
第3页 / 共30页
中国矿业大学软件课程设计2Word文档下载推荐.docx_第4页
第4页 / 共30页
中国矿业大学软件课程设计2Word文档下载推荐.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

中国矿业大学软件课程设计2Word文档下载推荐.docx

《中国矿业大学软件课程设计2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《中国矿业大学软件课程设计2Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。

中国矿业大学软件课程设计2Word文档下载推荐.docx

面向对象

3.三种按照3种不同的计算方法来求出Fibonacci数列的第n项

5.设计一个类CStudent,类中包含一个学生的基本数据如下:

编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。

并假设编号为整数,且从1号往后连续编码;

姓名为字符串,性别为字符

图形界面

数据结构

目录

第一阶段面向过程设计题9

一4------计算各面值人民币张数。

9

1.1需求分析:

1.2概要设计9

1.3详细设计与编码9

1.4调试分析10

1.5用户说明10

1.6设计心得10

二、面向过程设计题5-------判断日期与星期10

2.1需求分析10

2.2概要设计11

2.3详细设计与编码11

2.4调试分析13

2.5用户说明13

2.6设计心得13

第二阶段----------面向过程14

一、面向对象设计题3-----用三种方法通过虚函数求Fibonacci数列14

1.1需求分析14

1.2概要设计14

1.3.详细设计与编码14

1.4调试分析17

1.5用户说明18

1.6设计心得18

二面向对象设计题5------设计类CStudent,类中包含学生的基本数据18

2.1需求分析:

18

2.2概要设计:

2.3.详细设计与编码18

2.4调试分析21

2.5用户说明21

2.6设计心得:

21

第三阶段——可视化界面22

一.绘图22

1.1需求设计22

1.2概要设计22

1.3详细设计与代码22

1.4调试分析:

22

第四阶段——数据结构24

一.第一题24

1.1需求分析:

24

1.2概要分析:

数组实现:

建立一个结构体struct表示栈,包括栈顶指针和当前分配的存储空间;

1.3详细分析与代码:

25

26

1.5用户使用说明26

1.6设计心得26

二.第三题26

2.1需求分析26

2.2概要分析:

27

2.3详细分析与代码:

详细流程图:

2.4调试分析:

三第四题28

3.1需求分析28

3.2概要分析28

3.3详细分析与代码28

3.4调试分析29

3.5用户使用说明29

四.第五题30

4.1需求分析30

4.2概要分析30

4.3详细分析与代码30

4.4调试分析31

4.5用户使用说明31

4.6设计心得31

第五阶段——课程设计总结31

第一阶段面向过程设计题

我们在生活中或者数学、物理等学习过程中,往往会遇到数值转换的问题,

生活中也经常使用,例如,计算人民币张数,单位换算,罗马书转换等等,实现此类算法比较有必要。

1.2概要设计

现在共有7种元以上面值的人民币纸币,分别为:

100,50,20,10,5,2,1。

利用for循环,整除取整,取余进行计算。

1.3详细设计与编码

#include<

iostream>

iomanip>

string>

usingnamespacestd;

intmain()

{intnumber,i;

inta[8];

stringname[8]={"

开始"

"

100¥"

50¥"

20¥"

10¥"

5¥"

2¥"

1¥"

};

cout<

<

"

请输入钱的数:

;

number=-1;

for(;

number<

=0;

{cin>

>

number;

if(number<

=0){cout<

输入错误请重新输入:

endl;

}

}

if(number>

0)

{

a[1]=number/100;

a[2]=(number%100)/50;

a[3]=(number%100%50)/20;

a[4]=(number%100%50%20)/10;

a[5]=(number%100%50%20%10)/5;

a[6]=(number%100%50%20%10%5)/2;

a[7]=(number%100%50%20%10%5%2)/1;

for(i=1;

i<

=7;

i++)

if(a[i]>

{cout<

name[i]<

"

a[i]<

张"

main();

return0;

1.4调试分析

1.5用户说明

用户可直接通过键盘向界面输入你要求计算的数,按回车键即可得到答案。

1.6设计心得

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

二、面向过程设计题5-------判断日期与星期

2.1需求分析

生活中经常需要查找年月日是星期几,这也是我们平时用万年历的原因。

为了我们平时方便,设计并实现此类程序还是很有必要的。

2.2概要设计

利用元年元月元日(即1年1月1日)是星期几的已知事实,可对程序进行改造,利用年月日的规律使用基本语句和开关语句进行选择。

2.3详细设计与编码

intrunnian(intn);

intjiange(intmonth,intday,boolb);

//函数声明

intweeks(intzhouji,intdays);

{

intyear,month,day,week,user,days,jieguo,all;

boolb;

cout<

请输入日期"

cin>

year>

month>

day;

请输入"

year<

1-1是周几"

周"

//是输出周几

week;

b=runnian(year);

//调用函数判断年份

all=jiange(month,day,b);

//调用函数求返回日期到1-1间隔多少天

days=all%7;

//调用函数求间隔天数除7后剩余天数

jieguo=weeks(week,days);

//调用函数判断是周几

年"

month<

月"

day<

日"

是周:

jieguo<

//最后输出所求结果

main();

//为测试时程序不断循环

return0;

intrunnian(intn)//判断是否为闰年

boola;

//定义bool变量

a=false;

if((n%4==0&

&

n%100!

=0)||(n%400==0)){a=true;

elsea=false;

returna;

//设有返回值以为后需编程使用

intjiange(intmonth,intday,boolb)//判断间隔天数

intsum,m2;

if(b==true)m2=29;

elsem2=28;

switch(month)

{

case12:

sum=day+31*6+30*4+m2;

break;

case11:

sum=day+31*6+30*3+m2;

case10:

sum=day+31*5+30*3+m2;

case9:

sum=day+31*5+30*2+m2;

case8:

sum=day+31*4+30*2+m2;

case7:

sum=day+31*3+30*2+m2;

case6:

sum=day+31*3+30*1+m2;

case5:

sum=day+31*2+30*1+m2;

case4:

sum=day+31*2+m2;

case3:

sum=day+31*1+m2;

case2:

sum=day+31*1;

case1:

sum=day;

}

returnsum;

//设有返回值以为后续编程使用

intweeks(intzhouji,intdays)//求日期周几

inti;

inta[7];

days;

a[1]=zhouji;

=7,days>

=1;

i++,days--)

{

if(days==0){cout<

a[i];

7){a[i]=1;

a[i+1]=a[i]+1;

if(days==1){break;

}

returna[i];

2.4调试分析

1.要注意闰年时2月之后的月份要多一天

2.注意算出前面月份天数的和计算。

3.开关语句要用break终止循环

2.5用户说明

只要按照界面提示输入即可。

按回车键即可得到答案。

注意月份和日期不要超过范围。

2.6设计心得

此次设计思路比较简单,除了几个特殊语句之外大部分有重复性,但是尤其要注意像闰年,2月这样的细节。

通过此次程序设计,加深了对开关语句的应用的理解,解决了贴近生活实际的小问题。

第二阶段----------面向过程

一、面向对象设计题3-----用三种方法通过虚函数求Fibonacci数列

1.1需求分析

Fibonacci数列在生活,数学和物理的学习过程中比较常用,主要是累加这方面。

可以用面向对象的方法来解决。

注意虚函数。

1.2概要设计

主要函数列表,每条记录应包括函数名及功能简要说明

1.classbaseCla//自定义基类baseCla

2.virtualdoublefib(intn)=0//在基类中说明一个虚函数fib,且为纯虚函数

3.classfib1Cla:

publicbaseCla//基类classbaseCla中派生出的fib1Cla

4.virtualdoublefib(intn)//派生类中说明同一个虚函数fib

5.voidfun(baseCla*p,intn)//定义函

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

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1