完成下面的编程练习,但将Sales结构及相关的函数转换为一个类及其方法。用构造函数替换setSales (sales &, double [ ], int)函数。用构造函数实现setSales (Sales &)方法的交互版本。将类保留在名称空间SALES中。 编程练习:请基于下面这个名称空间编写一个由3个文件组成的程序: namespace SALES { const int QUARTERS = 4; struct Sales { double sales(QUARTERS); double average; double max; double min; }; // copies the lesser of 4 or n items from the array ar // to the sales member of s and computes and stores the // average, maximum, and minimum values of the entered items; //remaining elements of sales, if any, set to 0 void setSales(Sales & s, const double ar[], int n); // gathers sales for 4 quarters interactively, strores them // in the sales member of s and computes and stores the // average, maximum, and minimum values void setSales(Sales & s); // display all information in structure s void showSales(const Sales & s); } 第一个文件是头文件,其中包含名称空间;第二个文件是源代码文件,它对这个名称空间进行扩展,以提供这三个函数的定义;第三个文件声明两个Sales对象,并使用setSales()的交互式版本为一个结构提供值,然后使用setSales()的非交互式版本为另一个结构提供值。另外它还使用showSales()来显示这两个结构的内容。-笔试面试资料
这是qklbishe.com第7437 篇笔试面试资料
提供答案分析,通过本文《完成下面的编程练习,但将Sales结构及相关的函数转换为一个类及其方法。用构造函数替换setSales (sales &, double [ ], int)函数。用构造函数实现setSales (Sales &)方法的交互版本。将类保留在名称空间SALES中。 编程练习:请基于下面这个名称空间编写一个由3个文件组成的程序: namespace SALES { const int QUARTERS = 4; struct Sales { double sales(QUARTERS); double average; double max; double min; }; // copies the lesser of 4 or n items from the array ar // to the sales member of s and computes and stores the // average, maximum, and minimum values of the entered items; //remaining elements of sales, if any, set to 0 void setSales(Sales & s, const double ar[], int n); // gathers sales for 4 quarters interactively, strores them // in the sales member of s and computes and stores the // average, maximum, and minimum values void setSales(Sales & s); // display all information in structure s void showSales(const Sales & s); } 第一个文件是头文件,其中包含名称空间;第二个文件是源代码文件,它对这个名称空间进行扩展,以提供这三个函数的定义;第三个文件声明两个Sales对象,并使用setSales()的交互式版本为一个结构提供值,然后使用setSales()的非交互式版本为另一个结构提供值。另外它还使用showSales()来显示这两个结构的内容。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
namespace SALES { const int QUARTERS = 4; struct Sales { double sales(QUARTERS); double average; double max; double min; }; // copies the lesser of 4 or n items from the array ar // to the sales member of s and computes and stores the // average, maximum, and minimum values of the entered items; //remaining elements of sales, if any, set to 0 void setSales(Sales & s, const double ar[], int n); // gathers sales for 4 quarters interactively, strores them // in the sales member of s and computes and stores the // average, maximum, and minimum values void setSales(Sales & s); // display all information in structure s void showSales(const Sales & s); }
#include <iostream> using namespace std; const int QUARTERS=4; class Sales { public: Sales(); Sales(const double ar[],int n); void showsales() const; private: double sales[QUARTERS]; double average; double min; double max; }; Sales::Sales(const double ar[],int n) { double sum=0; if (n>QUARTERS) { for (int i = 0; i < QUARTERS; i++) { sales[i]=ar[i]; } } else { for (int i = 0; i < n; i++) { sales[i]=ar[i]; } for (int i = n; i < QUARTERS; i++) { sales[i]=0; } } max=min=sales[0]; for (int i = 0; i < QUARTERS; i++) { sum=sum+sales[i]; if(sales[i]>max) max=sales[i]; if(sales[i]<min) min=sales[i]; } average=sum/QUARTERS; } Sales::Sales() { int i=0; double sum=0; cout<<"Enter a number: "<<endl; while (i<QUARTERS) { if(!(cin>>sales[i])) { cin.clear(); while(cin.get()!='n') continue; cout<<"Error,Reenter a number:"; cin>>sales[i]; } i++; } max=min=sales[0]; for (int i = 0; i < QUARTERS; i++) { sum=sum+sales[i]; if(sales[i]>max) max=sales[i]; if(sales[i]<min) min=sales[i]; } average=sum/QUARTERS; } void Sales::showsales() const { cout<<"This sales's quarter list info:"<<endl; for (int i = 0; i < QUARTERS; i++) { cout<<"No."<<i+1<<":sales:"<<sales[i]<<endl; } cout<<"AVERAGE:"<<average<<endl; cout<<"MAX:"<<max<<endl; cout<<"MIN:"<<min<<endl; } int main() { double de[QUARTERS]={12,23,45,67}; Sales s1(de,QUARTERS); Sales s2; s1.showsales(); s2.showsales(); system("pause"); return 0; }
文章部分来自互联网,侵权联系删除
www.qklbishe.com
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 完成下面的编程练习,但将Sales结构及相关的函数转换为一个类及其方法。用构造函数替换setSales (sales &, double [ ], int)函数。用构造函数实现setSales (Sales &)方法的交互版本。将类保留在名称空间SALES中。 编程练习:请基于下面这个名称空间编写一个由3个文件组成的程序: namespace SALES { const int QUARTERS = 4; struct Sales { double sales(QUARTERS); double average; double max; double min; }; // copies the lesser of 4 or n items from the array ar // to the sales member of s and computes and stores the // average, maximum, and minimum values of the entered items; //remaining elements of sales, if any, set to 0 void setSales(Sales & s, const double ar[], int n); // gathers sales for 4 quarters interactively, strores them // in the sales member of s and computes and stores the // average, maximum, and minimum values void setSales(Sales & s); // display all information in structure s void showSales(const Sales & s); } 第一个文件是头文件,其中包含名称空间;第二个文件是源代码文件,它对这个名称空间进行扩展,以提供这三个函数的定义;第三个文件声明两个Sales对象,并使用setSales()的交互式版本为一个结构提供值,然后使用setSales()的非交互式版本为另一个结构提供值。另外它还使用showSales()来显示这两个结构的内容。-笔试面试资料