如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 工作报告 > 报告写作指导 > 程序设计报告

程序设计报告

来源:免费论文网 | 时间:2016-09-08 11:12:43 | 移动端:程序设计报告

篇一:程序设计报告

要求每个小组做全本套题目

A.字母集合

时限:1s

【题目描述】

有一个字符集合,它只包含a-z这26个小写字母。根据集合的定义,集合的容量是集合含有不同元素的个数。由于该集合中包含了非常多的重复字母,因此让你编程计算下该集合的容量,也就是该集合包含了多少不相同的字母。

【输入】

有多组样例。第一行为样例的个数T。

接下来T行,每一行代表一个样例。这一行为一个字符串,表示一个集合。规定以’{’开头,以’}’结束。每个字符用’,’给开,逗号与逗号后的元素空出一个空格。

【输出】

每个集合的容量。一个样例占一行。

【输入样例】

2

{a, b, c}

{a, b, a, b}

【输出样例】

3

2

B吉利数字

时限:1s

【题目描述】

算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,则称它为吉利数。现在叫你计算某个区间内有多少个吉利数字。

【输入】

第一行为样例个数N。接下来N行,每一行代表一个输入样例,每个输入样例有2个数,分别代表某个区间的起点a和终点b。

注意所求区间为[a,b],1<=a<=b<=10^9

【输出】

N行。对于第x个输入样例,在第x行输入该样例所对应的结果。

【输入样例】

2

1 10

1 20

【输出样例】

1

【Hint】1-10之内无幸运数,1-20内只有19 这1个幸运数

C炸弹袭击

时限:1s

【题目描述】

H族的领地是一片富饶之地,有丰富的资源,无数的黄金。尽管异族侵略者被压制几百多年,他们并没有放弃对这片土地的渴望。最近,他们研制了一枚重磅炸弹。试图用它摧毁H族的防御工事。H族的防御工事由多个基地构成,侵略者试图用炸弹摧毁尽量多的防御基地,现在,他们急需你的帮助。如果你能为他们解决难题,会有巨大的奖励。(该炸弹的攻击范围是一个半径为r单位的圆)

【输入】

第一行为样例的个数T。

每个样例中有若干行,第一行为炸弹的攻击半径r,r有可能不是整数(1<=r<=100)

第二行是一个整数n,表示H族防御基地的个数(1<=n<=100)

接下来n行,每行有两个数,代表H族某个防御基地的坐标

【输出】

只有一个数,代表炸弹能最多摧毁的H族防御基地数量。

【输入样例】

1

1

3

1 0

0 1

4 0

【输出样例】

2

D.机器人

时限:1s

【题目描述】

Paul有n个重物堆在一条线上。该重物由1连续编号到n,最左边的物品编号为1,最右边的物品编号为n。已知每个物品的重量,第i个物品的重量为Wi公斤。Paul需要收集所有重物,但是他很懒。因此他打算用他全新的机器人。该机器人有两个不同的手臂 - 左手和右手,可以连续执行以下操作:

用左手拿最左边的重物,花费Wi·l能量单位(Wi是最左边的物品的重量,l是某一参数)。如果与之前的动作是一样的(上一次用左手),机器人须额外花费Ql的能量单位;

用右手拿最右边的重物,花费Wj·r能量单位(Wj是最右边的物品的重量,r是某一参数)。如果与之前的动作是一样的(上一次用右手),机器人须额外花费Qr的能量单位;

Paul想让机器人花费尽可能少的能量来帮他完成任务。他想让你来解决这个问题。你的任务是求解机器人收集所有重物可花费的最低能量值。

【输入】

第一行是一个数T,代表有T组输入样例

每个输入样例样例有两行:第一行是五个变量n,?l,?r,?Ql,?Qr (1?≤?n?≤?105;?1?≤?l,?r?≤?100;?1?≤?Ql,?Qr?≤?104);第二行是n个重物的重量w1,w2….wn (1?≤?wi?≤?100)。

【输出】

每个样例只有1个数,代表机器人最小消耗的能量

【输入样例】

2

3 4 4 19 1

42 3 99

4 7 2 3 9

1 2 3 4

【输出样例】

576

34

篇二:C++程序设计报告

课程名称: C++ 课程设计

设计题目: 编写程序提示用户输入一个班级中的学生人数n,

再依次提示用户输入n个人在课程A中的考试成

绩,然后计算出平均值,显示出来。 要求用到第

九章中的数组类模板 Array定义浮点型数组存储

考试成绩。

姓 名: 石东梅

学 号: 1108020102

专业班级: 网络1101 班

完成日期: 20012 年 6 月 27日

1 设计任务

编写程序提示用户输入一个班级中的学生人数n,再依次提示用户输入n个人在课程A中

点型数组存储考试成绩。 的考试成绩,然后计算出平均值,显示出来。要求用到第九章中的数组类模板Array定义浮

1.1 设计目的

(1)、加强C++课程学习,将课本上的理论知识运用于实践,通过实际的程序操作来提高

自己编写程序的能力,达到理论与实践相结合的目的。

(2)、培养自己动脑思考,动手操作的能力,在实际操作过程中体会C++中面向对象的思

想。

(3)、在实际的操作过程中去衡量自己理论知识掌握的程度,通过设计流程,编写程序,

上机调试去寻找并发现知识的缺陷,并想办法弥补。

(4)、在本程序中主要是要达到能对类的定义及用法,数组的定义及用法,数组类模版,

运算符重载,多文件结构,成员函数的实现等的熟练运用。

1.2设计内容

用数组类模板、析构函数、构造函数 、赋值构造函数、运算符重载、指针等语法来完

成一个班级在某门课程中考试的平均值的程序。

1.3设计指标或者要求

设计指标:用C++完成一个班级在某门课程中的成绩储存并计算平均值的程序,要求用到数组类模板。

输入要求:在程序运行的页面根据提示输入班级学生人数n,再依次输入每个人在课程A

中的成绩。

输出要求:输出n个人在课程A中的平均成绩。

2 设计过程

(1)、分析程序的功能:使用户能根据程序提示输入班级学生人数n和n个人在某门课中

考试成绩,并能储存成绩然后计算平均值,显示出来。

(2)、思考程序要用到的算法原理:使用数组类模板定义浮点型数组存储考试成绩;利用

班级总人数与其在课程A中的总分之比的原理求平均值。

(3)、设计程序流程图(见2.3)。

(4)、编写程序(见2.4)。

2.1 程序功能

使用户能根据程序提示输入班级学生人数n和n个人在某门课中考试成绩,并能储存成

绩然后计算平均值,显示出来。

2.2算法原理

(1)、使用数组类模板定义浮点型数组存储考试成绩;

(2)、利用班级总人数与其在课程A中的总分之比的原理求平均值。

2.3程序流程图

2.4 程序主要模块或者函数

#ifndef ARRAY_H

#define ARRAY_H

#include <iostream.h>

#include <stdlib.h>

#ifndef NULL

const int NULL = 0;

#endif

enum ErrorType

//错误类型集合,共有三种类型

{invalidArraySize, memoryAllocationError, indexOutOfRange}; char *errorMsg[] =

{

"Invalid array size", "Memory allocation error",

"Invalid index: "

};

template <class T>

class Array

{

private:

T* alist; //T类型指针,用于存放动态分配的数组内存首地址 int size;

void Error(ErrorType error,int badIndex=0) const;

public:

Array(int sz = 50);

Array(const Array<T>& A);

~Array(void);

//重载"="使数组对象可以整体赋值

Array<T>& operator= (const Array<T>& rhs);

T& operator[](int i);

operator T* (void) const;

int ListSize(void) const;

void Resize(int sz);

};

//以下为类成员函数的实现

template <class T>

void Array<T>::Error(ErrorType error, int badIndex) const {

cout << errorMsg[error];

if (error == indexOutOfRange)

cout << badIndex; //如果是下标越界错,输出错误的下标

cout << endl;

exit(1);

}

template <class T>

Array<T>::Array(int sz)

{

if (sz <= 0) //sz为数组大小(元素个数),若小于0,则输出错误信息 Error(invalidArraySize);

size = sz;

alist = new T[size]; //动态分配size个T类型的元素空间

if (alist == NULL) //如果分配内存不成功,输出错误信息

Error(memoryAllocationError);

}

template <class T>

Array<T>::~Array(void)

{

delete [] alist;

}

template <class T>

Array<T>::Array(const Array<T>& X)

{

//从对象X取得数组大小,并赋值给当前对象的成员

int n = X.size;

size = n;

alist = new T[n];

if (alist == NULL) //如果分配内存不成功,输出错误信息

Error(memoryAllocationError)

T* srcptr = X.alist;

T* destptr = alist;

while (n--)

*destptr++ = *srcptr++;

}

// 重载"="运算符,将对象rhs赋值给本对象。实现对象之间的整体赋值 template <class T>

Array<T>& Array<T>::operator= (const Array<T>& rhs)

{

int n = rhs.size;

if (size != n)

{

delete [] alist;

alist = new T[n]; // 重新分配n个元素的内存

if (alist == NULL)

Error(memoryAllocationError);

size = n; //记录本对象的数组大小

}

// 从rhs向本对象复制元素

篇三:C语言程序设计报告书

《C语言程序设计》

实验设计报告

学 院:_专业班级:

学生姓名: 学号:

指导老师:

设计题目: ____________________________

年06月16日

2013

目录

1. 设计题目:学生考勤系统设计 ............................................................................. 3

2. 设计方案: ............................................................................................................. 3

3.模块说明: ............................................................................................................... 3

3.1系统功能模块 .................................................................................................................... 3

3.2函数以及调用关系 ............................................................................................................ 4

4.代码分析及程序优化 ............................................................................................... 9

5. 数据文件名及说明 ............................................................................................... 10

6. 系统运行测试结果分析 ........................................................................................ 10

6.1 进入程序 .......................................................................................................................... 10

6.2 加载界面 .......................................................................................................................... 11

4.3 创建学生信息 .................................................................................................................. 11

4.4 录入本课考勤情况 .......................................................................................................... 12

6.4 修改学生信息 .................................................................................................................. 12

6.5 查询学生考勤信息 .......................................................................................................... 13

6.6 查看班级考勤情况 .......................................................................................................... 13

6.7源程序清单和执行结果: .............................................................................................. 14

1.设计题目:学生考勤系统设计

2.设计方案:

该系统能考察学生的出勤情况,所以包括每个班学生的全部信息。

每个学生是一条记录,包括姓名﹑性别﹑学号,对应于某天某门课程

的出勤情况等。该系统可模拟考勤过程,记录考勤结果,并能在课程

结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。

其中,学生可在本系统在线请假以及查看学期内的上课出勤信

息。在线请假中,学生可以随时查看到请假的详细进展情况。同时,

学生可以查看本期内上课出勤的详细信息,如:查看某个课程在整个

学期内的出勤情况——请假、旷课、迟到、早退了多少次,以及具体

的时间、任课老师姓名、第几节可等详细信息。学生还可以查看本人

的基本信息,如:所在院系、年级、专业、班级、学号、姓名、性别

等,以及修改个人用户密码,查看本班的课表。

对于任课老师,其使用本系统时,管理所教班级学生的上课出勤

信息以及查看所教学生的上课出勤信息。老师自动列出还没有在网上

公布的学生上课出勤信息,系统依据学生请假系统,决定学生上课出

勤的最终结果。并且查看自己所教课程、所教班级学生整个上课出勤

统计信息以及详细信息。

3.模块说明:

3.1系统功能模块

根据设计要求,画出如下流程图:

3.2函数以及调用关系

void mune_1();/*菜单函数1*/

void mune_2() /*菜单函数2*/

void enter(void);/*录入函数*/


程序设计报告》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/show/38614.html
转载请保留,谢谢!
相关文章