如何使用两个字符来控制c ++程序的流程

时间:2017-02-04 16:19:33

标签: c++

当用户输入其中任何一个时,如何使用两个字符(A和B)来控制执行代码的哪一部分..? Forexaple当用户进入A时,转到某种交易类型并要求用户输入该类交易的信息。如果是B,则执行其他牵引类型,并要求用户输入此类交易的信息。 我刚开始学习编程(C ++)..

由于

5 个答案:

答案 0 :(得分:2)

C ++作为命令式编程语言提供了几个控制语句,如 if / else switch for 控制程序的流程。它们在您正在阅读的C ++中解释过。

答案 1 :(得分:1)

试试这个。

#include <iostream>

int main() {

    char in;
    std::cin >> in;

    switch (in) {
        case 'A':
            // Do something.
            break;
        case 'B':
            // Do something else.
            break;
        default:
            std::cerr << "Invalid character." << std::endl;
            return 1;
    }

}

答案 2 :(得分:1)

C ++中有很多方法可以实现选择结构。

  1. if else(基本上每种编程语言都有)

  2. // create connection
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
      die('Could not connect: ' . mysql_error());
    }
    // select database
    mysql_select_db('DATABASE_NAME');
    
    $sql = "SELECT messages, sender FROM messages"; // your sql query
    $result = mysql_query( $sql, $conn ); // retrieve result
    
    if(! $result )
    {
      die('Could not get data: ' . mysql_error());
    }
    
    echo '<ol class="chat">';
    
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
       echo "
            <li class='other'>
                <div class='message'>
                    <p>Message: ".$row['messages']."</p> <!-- output message -->
                    <p>Sender: ".$row['sender']."</p> <!-- output sender name -->
                </div>
            </li>";
    } 
    
    echo "</ol>";
    mysql_close($conn);
    
    1. 开关控制

    2. if (a)
      {
          //do something
      }
      else 
      {
          //do something else
      }
      
      1. 标签和转到关键字

      2. switch (input)
        {
        case a:
             // do something
             break;
        case b:
             // do something else
             break;
        default:
             // default when the user input is not expected a or b
        }
        
        1. 函数调用

        2. int main(void)
          {
              //something....
              if (a) goto label_a;
              else if (b) goto label_b;
          label_a:
              //something...
              goto end;
          label_b:
              //something else
              goto end;
          end:    
              return 0;
          }
          


          更多内容:CPlusPlus Statements and Controls
          或者你可以投入一些钱购买好的C ++参考书籍,如C++ Primer

答案 3 :(得分:0)

一种可能的解决方案是:

#include <iostream>
#include <string>

void input_A() {
    //Do things after input A
    std::cout << "You used function A" << std::endl;
}

void input_B() {
    //Do things after input B
    std::cout << "You used function B" << std::endl;
}

void input_recv(std::string input)
{
    // Use if condition or switch statement for input evaluation
    if (input == "A"){
        input_A();
    }
    else if(input == "B"){
        input_B();
    }
    else {
        std::cout << "No valid input" << std::endl;
    }
}

int main()
{
    std::string input = "";
    std::cout << "Input: ";

    // Wait for input
    std::getline(std::cin, input);

    // Evaluate input
    input_recv(input);

    return 0;
}

答案 4 :(得分:0)

感谢这个社区。开关/箱控制现在对我有用。我也在尝试这里提到的其他控件。 谢谢所有帮助过的人......