在C++中的函数之间传递值
Passing value between functions in C++
我正在为一家只有6名推销员的汽车公司制定一个计划。该程序将要求用户输入每个销售人员的姓名和月薪,输入他一个月内售出的汽车数量,以及每辆汽车的品牌和价格。该程序将显示每个销售员的月收入(工资+佣金)、销售员的平均月收入、收入最高的销售员的姓名(和收入)、收入最低的销售员姓名(和收益)、每个品牌和最受欢迎的汽车销量品牌
我一直在传递Salesman1()和Salesman2()的totalCommission值。另一个问题是,我不知道是否可以将字符串CIN到名为SalesmanName的数组中。以下是我迄今为止所做的工作。
int main()
{
int cycle=1;
int SalesMan1(),SalesMan2();
do
{
switch(cycle)
{
case 1: SalesMan1(); cycle++; break;
case 2: SalesMan2(); cycle++; break;
/*case 3: SalesMan3(); cycle++; break;
case 4: SalesMan4(); cycle++; break;
case 5: SalesMan5(); cycle++; break;
case 6: SalesMan6(); cycle++; break;*/
default: cout<<"Printing out reports"<<endl;
system("npause");
}
}while(cycle<=6);
return 0;
}
int SalesMan1()
{
char NameOne[40];
int numCar=1,carSold,carType,audiSold=0,bmwSold=0,mbenzSold=0;
double salary,carPrize,commission,totalCommission,allMonthlyIncome;
cout<<"Name of 1st Salesman:"<<endl;
cin.getline(NameOne,39);
cout<<"nMonthly Salary: RM";
cin>>salary;
cout<<"nNumber of car sold in a month: ";
cin>>carSold;
system("CLS");
do{
cout<<"nEnter type of car sold as below: "<<endl;
cout<<"n1-Audi"<<endl;
cout<<"2-BMW"<<endl;
cout<<"3-Mercedes Benz"<<endl;
cout<<"nCar Type:";
cin>>carType;
switch(carType)
{
case 1:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.02*carPrize;
totalCommission+=commission;
audiSold++;
system("CLS");
break;
case 2:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.02*carPrize;
totalCommission+=commission;
bmwSold++;
system("CLS");
break;
case 3:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.035*carPrize;
totalCommission+=commission;
mbenzSold++;
system("CLS");
break;
default :
cout<<"nNot available!"<<endl;
system("pause");
return 1;
}
numCar++;
}while(numCar<=carSold);
allMonthlyIncome=allMonthlyIncome+totalCommission+salary;
}
int SalesMan2()
{
char NameTwo[40];
int numCar=1,carSold,carType,audiSold=0,bmwSold=0,mbenzSold=0;
double salary,carPrize,commission,totalCommission,allMonthlyIncome;
cout<<"Name of 2nd Salesman"<<endl;
cin.getline(NameTwo,39);
cout<<"nMonthly salary: RM";
cin>>salary;
cout<<"nNumber of car sold in a month: ";
cin>>carSold;
system("CLS");
do{
cout<<"nEnter type of car sold as below: "<<endl;
cout<<"n1-Audi"<<endl;
cout<<"2-BMW"<<endl;
cout<<"3-Mercedes Benz"<<endl;
cout<<"nCar Type:";
cin>>carType;
switch(carType)
{
case 1:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.02*carPrize;
totalCommission+=commission;
audiSold++;
system("CLS");
break;
case 2:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.02*carPrize;
totalCommission+=commission;
bmwSold++;
system("CLS");
break;
case 3:
cout<<"nEnter the price sold: RM";
cin>>carPrize;
commission=0.035*carPrize;
totalCommission+=commission;
mbenzSold++;
system("CLS");
break;
default :
cout<<"nNot available!"<<endl;
system("pause");
return 1;
}
numCar++;
}while(numCar<=carSold);
allMonthlyIncome=allMonthlyIncome+totalCommission+salary;
}
在SalesmanN()
函数中,以结束
return totalCommission;
在main()
中,执行:
int allCommissions = 0;
然后在你的循环中你做:
case 1: allCommissions += SalesMan1(); cycle++; break;
您可以CIN到任何字符数组中,但对于名称来说,这不是首选项,因为CIN将其输入限制在空格上。SalesmanName将没有任何空格。
char arr[1000];
cin`>>arr;
如果输入"XYZ ABC"作为名称,则arr[]将只存储"XYZ",而"ABC"将保留在输入流中
对于这个问题,您可以创建一个Salesman类,它将封装每个Salesman所需的所有功能和数据。由于公司只有6名员工,您可以制作Salesman类的6个对象的数组。这样你就可以把特定的销售人员的佣金称为salesman[i].getCommission()。此外,这个类将有助于以后扩展到更多的员工。
相关文章:
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- 在 const 函数中通过引用和指针返回之间的区别
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 构造函数和转换运算符之间的重载解析
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 填充上编译器生成的复制构造函数之间的不一致
- 析构函数和'delete'之间的区别
- 为什么不允许成员函数和非成员函数之间的函数重载?
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- 如何在"push_*()"和"emplace_*()"函数之间进行选择?
- 内联函数的函数本地静态对象是否在共享对象文件之间共享?
- 派生类(构造函数具有参数)和基类(构造函数缺少参数)之间没有可行的转换
- 在"template"和函数声明之间使用:template<typename trait> using tr = base_trait<trait> void fn(tr::t
- 在 C 和 C++ 中作为函数参数,int **a 和 int a[][] 之间有什么确切的区别
- 定义类模板构造函数的两种方法之间的区别
- 仅具有运算符()的结构和普通函数之间的实际区别
- 可变/非可变模板之间函数类型衰减的不一致性