北语网院面向对象程序设计结课作业(线上)
面向对象程序设计结课作业(线上)一、分析程序题 ( 每题20分, 共2道小题, 总分值40分 )
1.#include <iostream>
void main()
{
// test1 char str[] = "world";
cout << sizeof(str) << ": ";
char *p = str;
cout << sizeof(p) << ": ";
char i = 10;
cout << sizeof(i) << ": ";
void *pp = malloc(10);
cout << sizeof(pp) << endl;
}
(20分)
2.#include "stdafx.h"#define SQR(X) X*X
int main(int argc, char* argv[]){ int a = 10; int k = 2; int m = 1;
a /= SQR(k+m)/SQR(k+m); printf("%d/n",a);
return 0;}
(20分)
二、编写程序实现算法 ( 每题20分, 共1道小题, 总分值20分 )
1.A,B 为两个整数,不使用第三者变量,交换A与B的值(20分)
三、程序设计 ( 每题20分, 共2道小题, 总分值40分 )
1.有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,否则就为无理数。在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。
基本要求:定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
实现提示:
设有两个有理数a/b和c/d,则有:
(1)有理数相加 分子=a*d+b*c;分母=b*d (2)有理数相减 分子=a*d-b*c;分母=b*d (3)有理数相乘 分子=a*c; 分母=b*d (4)有理数相除 分子=a*d; 分母=b*c
优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。
(20分)
2.商品数据描述: 商品号、名称、价格、生产厂家、生产日期、现存量,
设计一个程序完成下属功能:按名称或(和)生产厂家查询商品数据并输出结果。
(20分)
老师你好.咱们这个没有附件? Ayrh 发表于 2018-8-21 11:07
老师你好.咱们这个没有附件?
今年网院的结课作业都是线上随机的
随机题目不提供答案附件下载,意义不大 别的题怎么办呢:'( 老师 怎么看不到附件在哪里 一、分析程序题(每题30分共1道小题总分值30分)
1.
#include <iostream>
using namespace std;
void main()
{
int i = 5, b = 7; cout << (i+++b) <<endl;
}
(30分)
请输入正确答案
二、编写程序实现算法(每题30分共1道小题总分值30分)
1.
将该类的四个构造/析构函数填写完整
class MyCString
{
public:
MyCString( char *pData = nullptr );
MyCString( const MyCString &Other );
~MyCString();
const MyCString& operator =( const MyCString &Other );
private:
char *mpData;
};
55555老师求解
页:
[1]