基于变量的输出 《我在计算机科学》课程中学习C++。我们当前的项目包括输入此人拥有的银行账户类型(商业账户或个人账户),并遵循这两种账户的不同路径。我发现这会导致我编写两个输出函数,分别用于不同类型的帐户

基于变量的输出 《我在计算机科学》课程中学习C++。我们当前的项目包括输入此人拥有的银行账户类型(商业账户或个人账户),并遵循这两种账户的不同路径。我发现这会导致我编写两个输出函数,分别用于不同类型的帐户,c++,C++,有没有一种方法可以让我写一个输出函数,但让它根据他们选择的帐户类型输出信息 例如,我想给每个选择一个数字。这个例子是个人的是0,商业的是1。当他们输入什么类型时,它将数字1或0分配给一个变量,然后我输出的每个变量将基于一个if语句,该语句表示如果X等于1,那么如果不输出Z,则输出Y 任何帮助将不胜感激,如果这是不清楚的,我可以提供有关该项目的更多信息 谢谢。帮助您入门的模板: enum AccountType { Checking, Savings }; void Output( Accoun

有没有一种方法可以让我写一个输出函数,但让它根据他们选择的帐户类型输出信息

例如,我想给每个选择一个数字。这个例子是个人的是0,商业的是1。当他们输入什么类型时,它将数字1或0分配给一个变量,然后我输出的每个变量将基于一个if语句,该语句表示如果X等于1,那么如果不输出Z,则输出Y

任何帮助将不胜感激,如果这是不清楚的,我可以提供有关该项目的更多信息


谢谢。

帮助您入门的模板:

enum AccountType { Checking, Savings };

void Output( AccountType userAccount )
{
  switch ( userAccount )
  {
     case Checking:
     // do something here for checking accounts
     break;
     case Savings:
     // do something here for savings accounts
     break;
  }
}

当然还有其他方法,但这很容易理解。

是的,确实有这样一种方法。无需为商业帐户和个人帐户、继承等创建单独的类,您只需

#define COMMERCIAL 0
#define PERSONAL 1

void printAccount(int account_type /* add parameters for the actual account data */) {
  switch(account_type) {
  case COMMERCIAL:
    // do stuff...
    break;
  case PERSONAL:
    //do stuff...
    break;
  default:
    std::cerr << "Error: " /* invalid input error message */ << std:: endl;
  }
}
#定义商业0
#定义个人1
void printcount(int account_type/*为实际帐户数据添加参数*/){
交换机(帐户类型){
商业案例:
//做些事情。。。
打破
个人案件:
//做些事情。。。
打破
违约:

是的,你完全可以做到这一点,非常简单。只要实现你上面所描述的,它就会起作用。在专业质量的应用程序中,你可以使用一种叫做“模板设计模式”的东西来实现这一要求.但这在现阶段有点太高级了。现在只需记下它,按照上面描述的做,一旦你将面向对象编程学习到了一个高标准,就可以重新审视这个问题和谷歌,了解这个设计模式,看看你将如何以这种方式实现你的解决方案。谢谢,这对我来说是一种简单得多的方法非常感谢!