中国矿业大学软件课程设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编号:()字号

《软件课程设计》报告

班级: 12级信息安全二班

姓名:李江涛

学号: 08123608

指导老师:徐慧

中国矿业大学计算机科学与技术学院

2013年 6 月

软件课程设计任务书

专业年级:信息安全二班

学生姓名:李江涛

任务下达日期:2013 年 4 月日

课程设计日期:2013 年 4 月5日至200年7月 3 日

课程设计题目:面向过程

目录

一第一阶段-----------面向过程 (4)

1 --------------------人民币凑数问题 (4)

1.1 需求分析 (4)

1.2 概要设计 (5)

1.3 详细设计与编码 (5)

1.5 用户使用说明 (6)

1.6 设计体会 (6)

2-------------------- 日期星期转换 (7)

2.1.需求分析: (7)

2.2 概要设计 (7)

2.4.调试分析 (10)

2.5.用户使用说明 (10)

2.6.测试分析 (10)

2.7.设计体会: (10)

二第二阶段------------面向对象 (11)

1--------------------学生管理系统 (11)

1.1----需求分析 (11)

1.2.概要设计 (11)

1.3.详细设计与编码 (11)

1.4 运行结果: (17)

1.5调试分析 (18)

1.6用户使用说明 (18)

1.7测试分析: (18)

1.8 实验体会 (18)

2 面向对象函数模板反向输出 (19)

1--------------------函数模板反向输出 (19)

1.1 需求分析: (19)

1.2函数模板反向输出源代码: (19)

1.4 运行结果: (21)

三第三部分----------可视化 (21)

1--------------------计算器: (21)

用你熟悉的一种可视化编程语言实现如下图所示的计算器。该计算器需要实现基础

的数学运算,如加,减,乘,除。 (21)

1.1重要程序 (21)

1.3运行结果图: (22)

四第四部分----------数据结构 (23)

1--------------------求矩阵的转置 (23)

1.1 需求分析: (23)

1.2 概要设计: (24)

1.3 详细设计与编码: (24)

1.4 运行结果: (27)

1.5 用户使用: (27)

1.6 设计体会: (27)

2--------------------数据结构统计选票 (27)

2.1 需求分析: (28)

2.2 概要设计: (28)

2.3 详细设计与编码: (28)

2.4 运行结果: (30)

2.6 用户使用: (31)

2.7 设计体会: (31)

五第五部分课程总结----学与做 (31)

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

1 --------------------人民币凑数问题

1.1 需求分析

程序要求:输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。注意,现在共有7种元以上面值的人民币纸币,分别为:100,50,20,10,5,2,1。

本题的主要的任务是编制一个函数,这个函数的主要的作用是用来把一个输入的人民币的钱数,使用最少张数的人民币纸币,凑成上述的钱数。从提供的钱数来看,本题的输入值的范围是钱数m 大于等于1 元的钱数,理论上讲没有上限,但是要看数据类型,int 型,或long 型,它们有自己的取值范围。int 型的最大值是127,long 型的最大值是2147483647。

输出的代表100,50,20,10,5,2,1的钱的张数。它们的值都是整数。

输入形式:整数

输出形式:

输入钱数m=

需要100元面值的纸币数是:

需要 50元面值的纸币数是:

需要 20元面值的纸币数是:

需要 10元面值的纸币数是:

需要 5元面值的纸币数是:

需要 2元面值的纸币数是:

需要 1元面值的纸币数是:

程序功能:输入一个代表人民币钱数的正整数m,然后使用最少的人民币纸

币凑成该钱数m。

测试数据及输出结果如下:

1.2 概要设计

由于是面向过程的设计,所以我就用最简单的算法实现:通过不断的取模、除法运算来实现,然后输出结果。可能过程上比较繁琐,但我觉得对于这个程序还算可以。

1.3 详细设计与编码

#include

#include

#include

using namespace std;

int main()

{ int number,i;int a[8];string name[8]={"开始","100¥","50¥","20¥","10¥","5¥","2¥","1¥"};

cout <<"请输入钱的数:";

number=-1;

for(;number<=0;)

{cin>>number;

if(number<=0){cout<<"输入错误请重新输入:"<

}

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]>0)

{cout<

}

}

main();

return 0;

}

1.4 调试分析:

在调试过程中,可以输入一个简单的三位的正整数,然后程序自动运行,最后输出结果凑起来的和就是m 钱的总数,从而解决了问题。

1.5 用户使用说明

根据输出提示输入你要转换的钱数的值,经过程序的判断运算,就会得到问题的答案。

1.6 设计体会

相关文档
最新文档