1. 用c++ 定义一个类Stock,记录一支股票交易的基本信息。
你是不愿意写代码吧,这个不难啊,基本学过类的都会
定义类Stock,里面有上述的私有成员变量,以及各个成员变量的公有set 和 get方法
再在main函数中创建连个变量
Stock todayStock;
Stock yesterdayStock;
再分别调用set函数,然后再计算涨幅、输出,很简单啊
2. c++程序设计题:定义一个股票类(stock)对象数组,存放连续5个交易日的股票信息,计算股票涨幅。
#include using namespace std;int main(){ double stock[5]; // 定义长度为5的数组存放用户输入的股票价格 for(int i = 0;i > stock[i]; } // 循环读入用户输入的股价 double percent = (stock[4] - stock[0]) * 100; cout << "涨幅:" << percent << "%" << endl; return 0;}
3. 把一个C++的程序拆分为3个文件,time.h time.cpp main.cpp
stock.hclass stock{public:stock(int day,int M_P,int m_P,int B_P,int E_P)void Print_Increase()//计算该股票今天的涨幅private:int day;//交易日序号int Max_Price;//当日最高价int Min_Price;//当日最低价int Begin_Price;//当日开盘价int End_Price;//当日收盘价};//====================================================================stock.cpp #include "stock.h" stock::stock(int day,int M_P,int m_P,int B_P,int E_P){ this->day=day; Max_Price=M_P; Min_Price=m_P; Begin_Price=B_P; End_Price=E_P;}void stock::Print_Increase()//计算该股票今天的涨幅{ coutdayEnd_Price-this->Begin_Price<<endl;}//=================================================================main.cpp #include "stock.h"void main(){ NewTime nt=NewTime(10,40,50); nt.Print_Time(); NewTime nt1=NewTime(); nt1.Print_Time(); NewTime nt2=NewTime(nt1); nt2.Print_Time(); stock yesterday=stock(1,10,5,4,12); stock today=stock(2,8,5,5,10); yesterday.Print_Increase(); today.Print_Increase();}
4. C++程序出现错误,求帮助
x=sto[i].outnewest();
y=sto[i].outyester();//你在这里漏了2个括号
float setcalculate(float a,float b); //你在定义函数的时候这里传了两个float参数
因此你在main()函数里调用setcalculate(a,b)括号里也要传入float参数(a,b是我随便写的,你要根据你的情况而定)
还有你好像没有定义min变量吧。。。
5. 求解c++:构建一个类Stock,含字符数组stockcode[]及整型数据成员quan、双精度型数据成员price。
#include
// const unsigned MAX_LEN = 256;
class Stock
{
public:
// 这里用的初始化形参列表
Stock(char na[], int q=1000, double p=8.98) : stockcode(na), quan(q), price(p)
{}
void print(void)
{
std::cout stockcode << " " << quan << " " << price << std::endl;
}
private:
char *stockcode; // 或改为 char stockcode[MAX_LEN];
// 其中 MAX_LEN 定义在前为一常量: const unsigned MAX_LEN = 256;
int quan;
double price;
};
// main function
int main(int argc, char *argv[])
{
char szTestString[] = "600001"; // It's terminated with '\0'
int iTestInteger = 3000;
double dTestDouble = 5.67;
Stock stObj1(szTestString, iTestInteger, dTestDouble);
Stock stObj2(szTestString);
stObj1.print();
stObj2.print();
return 0;
} // end main
// gcc - g++ 4.5 下编译通过
// 结果如图
6. 一个简单的c++编程题
访问器 就是获得类中的私有变量值
修改器 就是通过该函数修改类中的私有变量
由于私有变量无法直接访问 必须通过类函数访问 于是就有了这两类函数 起了这么两个名字
其实真正的类函数中 大多数都有类似的效果,专用的访问或者修改的并不少见但也不是太多
供参考吧
如果想自己写 下面部分请略过
#include #include using namespace std;class Stock{private: char symbol[50]; char name[200]; double opreviousClosingPrice, currentPrice;public: Stock(char * s, char *n) { strcpy(symbol, s); strcpy(name, n); } const char * get_symbol()const { return symbol; } const char *get_name()const { return name; } const double get_pre()const { return opreviousClosingPrice; } const double get_cur()const { return currentPrice; } void set_pre(double n) { opreviousClosingPrice = n; } void set_cur(double n) { currentPrice = n; } const double getChangePercent()const { return (currentPrice - opreviousClosingPrice) /opreviousClosingPrice *100; }};int main(){ Stock s("MSFT", "Microsoft Corporation"); s.set_pre(27.5); s.set_cur(27.6); cout << "rate=" << s.getChangePercent() << '%' << endl; return 0;}
7. c++ 类中对象的引用
引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;
引用说明:
(1)&在此不是求地址运算,而是起标识作用。
(2)类型标识符是指目标变量的类型。
(3)声明引用时,必须同时对其进行初始化。
(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
int a=2,int &ra=a;
a为目标原名称,ra为目标引用名。给ra赋值:ra=1; 等价于 a=1;
(5)对引用求地址,就是对目标变量求地址。&ra与&a相等。即我们常说引用名是目标变量名的一个别名。别名一词好像是说引用不占据任何内存空间。但是编译器在一般将其实现为const指针,即指向位置不可变的指针。即引用实际上与一般指针同样占用内存。
(6)不能建立引用的数组。因为数组是一个由若干个元素所组成的集合,所以无法建立一个由引用组成的集合。但是可以建立数组的引用.
例如: int& ref [3]= {2,3,5};//声明ref引用的数组错误
但是可以这样写:
const int (&ref)[3] ={2,3,5}; //gcc编译的时候加上选项 -std=c++0x
ref[0] = 35; //错误
为什么要加上const ,因为{2,3,5}此时是个字面值数组,是保存在代码段里,只读的属性,如果不加,编译错误,而且后面对ref[0]的赋值也不会成功.
需要特别强调的是引用并不产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执行后:
pt1.offset(12,12);
pt1和pt2都具有(12,12)的值。
引用必须在定义时马上被初始化,因为它必须是某个东西的同义词。你不能先定义一个引用后才
初始化它。例如下面语句是非法的:
Point &pt3;
pt3=pt1;
那么既然引用只是某个东西的同义词,它有什么用途呢?
下面讨论引用的两个主要用途:作为函数参数以及从函数中返回左值。
8. java 设计一个Stock的类,这个类包括:
代码如下:
import java.math.BigDecimal;import java.math.RoundingMode;public class Stock { private String symbol; private String name; private double previousClosingPrice; private double currentPrice; // 构造方法 public Stock(String symbol, String name) { this.symbol = symbol; this.name = name; } // public double getChangePercent() { return (currentPrice - previousClosingPrice) / previousClosingPrice; } public void setPreviousClosingPrice(double previousClosingPrice) { this.previousClosingPrice = previousClosingPrice; } public void setCurrentPrice(double currentPrice) { this.currentPrice = currentPrice; } public String getSymbol() { return symbol; } public String getName() { return name; } public static void main(String[] args) { Stock stock = new Stock("Java", "Sun Mircro"); stock.setCurrentPrice(4.35); // 当前价格 stock.setPreviousClosingPrice(4.5);// 前一交易日价格 double d = stock.getChangePercent(); // 价格浮动: 由于是double,下面的计算是N位小数 System.out.println("价格浮动:" + stock.getChangePercent()); // 处理下 BigDecimal bd = new BigDecimal(d * 100); // 乘个100,是为了看效果 bd = bd.setScale(2, RoundingMode.HALF_UP); // 设置2位小数,采用四舍五入 System.out.println("[" + stock.getSymbol() + "] " + stock.getName() + " 价格浮动:" + bd.toString() + "%"); }}亲,如果回答满意,亲及时采纳,你的合作是我们回答的动力,谢谢!